Parallel compilation fails on circular dependencies

Description

Master test will not run due to the circular dependency between circular-deps.a and circular-deps.b test namespaces.

Environment

None

Activity

Show:
David Nolen
January 7, 2016, 7:34 AM

We should probably just validate that the inputs do not include a circular dependency before starting parallel compilation.

David Nolen
January 7, 2016, 9:15 AM
import
March 20, 2017, 10:30 PM

Comment made by: mtruyens

In version 1.9.494 (but also earlier versions, I tried up to 1.9.293), in my fairly large codebase of about 200 CLJC/CLJS namespaces, I have noticed that circular dependencies sometimes cause the compiler to simply idle after initial compilation efforts, without any error indication whatsoever. I then have to kill the compiler, disable parallel building, and restart it, in order to be notified about the actual circular dependency error. This happens both with (1) a clean and then cold recompile of a version of the codebase that happens to contain the error, and (2) during a Figwheel editing session where everything was fine until I happen to introduce the circular dependency. For clarity: in the former case, the compiler does start working during about 10 seconds, but then simply stops and idles (a full recompile takes about 40 seconds on my codebase).

I have tried recreating this error with another codebase, but was unable to do so, so it could be related to the size of the codebase. Do you have any idea where this could be coming from?

David Nolen
March 21, 2017, 7:40 AM

So are you saying if you disable parallel compilation and you try to build it fails with a circular dependency error?

import
March 21, 2017, 8:07 PM

Comment made by: mtruyens

Correct: when I disable parallel compilation, the build will (rightfully) fail.

Completed

Assignee

David Nolen

Reporter

David Nolen

Labels

None

Approval

None

Patch

None

Affects versions

Priority

Major