> On Feb 25, 2017, at 5:36 AM, Matthew Flatt <mfl...@cs.utah.edu> wrote:
> 
> Did a fresh checkout solve the problem?
> 
> If not, can you show more context to clarify which packages are being
> built when the crash happens. (That is, the crash is possibly not task
> in "1", which is shown here.) Even better, making with `CPUS=1` would
> clearly identify the package where the compiler is failing.

Here’s the tail of the build process running with CPUS=1:

raco setup:  in <pkgs>/gui-lib/scheme/gui
raco setup:  in <pkgs>/scheme-lib/scheme/unit/lang
raco setup:  in <pkgs>/scheme-lib/scheme/unit
raco setup:  in <pkgs>/syntax-color-lib/syntax-color
raco setup:  in <pkgs>/data-lib/data
raco setup:  in <pkgs>/data-lib/data/private
raco setup:  in <pkgs>/gui-lib/mrlib
raco setup:  in <pkgs>/gui-lib/mrlib/hierlist
raco setup:  in <pkgs>/scheme-lib/scheme/signature/lang
raco setup:  in <pkgs>/tex-table
raco setup:  in <pkgs>/pict-lib/pict/private
raco setup:  in <pkgs>/pict-lib/pict
raco setup:  in <pkgs>/gui-lib/mrlib/private
raco setup:  in <pkgs>/gui-lib/racket/gui/lang
raco setup:  in <pkgs>/gui-lib/racket
raco setup:  in <pkgs>/2d-test/tests
raco setup: making: <pkgs>/WebIDE/web-ide
raco setup: making: <pkgs>/WebIDE/web-ide/bountsy
raco setup: making: <pkgs>/WebIDE/web-ide/bountsy/conf
raco setup: making: <pkgs>/WebIDE/web-ide/bountsy/htdocs
raco setup: making: <pkgs>/WebIDE/web-ide/c-diff
raco setup: making: <pkgs>/WebIDE/web-ide/evaluators
raco setup:  in <pkgs>/mongodb/db/mongodb/orm
Assertion failed: (!(used && (pre_body->count == 1) && 
pre_body->vars[0]->optimize.known_val && ((Scheme_Type)(scheme_once_used_type) 
== (Scheme_Type)(((((intptr_t)(pre_body->vars[0]->optimize.known_val)) & 
0x1)?(Scheme_Type)scheme_integer_type:((Scheme_Object 
*)(pre_body->vars[0]->optimize.known_val))->type))) && ((Scheme_Once_Used 
*)pre_body->vars[0]->optimize.known_val)->moved)), function optimize_lets, file 
../../../racket/gc2/../src/optimize.c, line 7986.
make[2]: *** [plain-in-place] Abort trap: 6
make[1]: *** [cpus-in-place] Error 2
make: *** [in-place] Error 2
make CPUS=1  62.08s user 6.78s system 77% cpu 1:28.62 total

So it looks like … the mongodb package might be exposing this error?

I’m actually running a fresh build right now, and I’ll see how it finishes. 

…

Wow! The clean build worked fine, and then running raco pkg install mongodb 
actually triggered the message. So it looks like this might be easily 
reproducible, by installing mongodb. FWIW, I believe that the underlying 
mongodb package is not installed on this machine, which could make it easier to 
reproduce.

I checked pkg-build.racket-lang.org, to see whether the problem was observable 
there, and it looks like pkg-build is using 6.8. I suppose this actually makes 
sense, since most package authors care about whether their packages build 
against the stable version. Sounds like this could be a scenario where, say, a 
once-a-week CI process might be useful? (That assumes that this error is 
cross-platform, of course.)

…

I dug just a bit further, and it looks like the problem is associated with the 
file mongodb/db/mongodb/orm/struct.rkt . Attempting to compile this file 
triggers the error:

 /tmp/racket/racket/bin/raco make ./struct.rkt
Assertion failed: (!(used && (pre_body->count == 1) && 
pre_body->vars[0]->optimize.known_val && ((Scheme_Type)(scheme_once_used_type) 
== (Scheme_Type)(((((intptr_t)(pre_body->vars[0]->optimize.known_val)) & 
0x1)?(Scheme_Type)scheme_integer_type:((Scheme_Object 
*)(pre_body->vars[0]->optimize.known_val))->type))) && ((Scheme_Once_Used 
*)pre_body->vars[0]->optimize.known_val)->moved)), function optimize_lets, file 
../../../racket/gc2/../src/optimize.c, line 7986.
zsh: abort      /tmp/racket/racket/bin/raco make ./struct.rkt

It occurred to me that just maybe this could be due to something unsafe in 
mongodb, but I did a quick grep for ‘ffi’ and ‘unsafe’, and in fact I don’t 
think the package has any weirdness in it at all.

John







> 
> At Fri, 24 Feb 2017 19:52:43 -0500, "'John Clements' via Racket Users" wrote:
>> I’m currently in a state where calling `make` in my top-level racket 
>> directory 
>> results in output ending thusly:
>> 
>> …
>> raco setup: 1 making: <pkgs>/cldr-bcp47/cldr/bcp47/data
>> Assertion failed: (!(used && (pre_body->count == 1) && 
>> pre_body->vars[0]->optimize.known_val && 
>> ((Scheme_Type)(scheme_once_used_type) 
>> == (Scheme_Type)(((((intptr_t)(pre_body->vars[0]->optimize.known_val)) & 
>> 0x1)?(Scheme_Type)scheme_integer_type:((Scheme_Object 
>> *)(pre_body->vars[0]->optimize.known_val))->type))) && ((Scheme_Once_Used 
>> *)pre_body->vars[0]->optimize.known_val)->moved)), function optimize_lets, 
>> file ../../../racket/gc2/../src/optimize.c, line 7986.
>> make[1]: *** [plain-in-place] Abort trap: 6
>> make: *** [in-place] Error 2
>> 
>> 
>> My next step is to try a fresh checkout… any idea what’s going on here?
>> 
>> John Clements
>> 
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Racket Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to racket-users+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to