Oops, should have said this: if you checkout the Makefile for testsuite/tests/rts - at the very bottom - you'll see the linker_unload target. When run, the executable needs some arguments so it knows what to try and load:
--- ./linker_unload $(BASE) $(GHC_PRIM) $(INTEGER_GMP) --- So you also need to provide the right arguments. Sorry about that! On Sun, Sep 1, 2013 at 9:54 PM, Ryan Newton <rrnew...@gmail.com> wrote: > Hi Austin, > > Should have said -- this is 64-bit RHEL 6 (my academic departments > standardized configuration). > > $ uname -a > Linux 2.6.32-358.14.1.el6.x86_64 #1 SMP Mon Jun 17 15:54:20 EDT 2013 > x86_64 x86_64 x86_64 GNU/Linux > > Weirdly it seems to have a different behavior when run by "make" and by > hand. When I run the make command you provided it segfaults with error code > 2: > > cd . && $MAKE -s --no-print-directory linker_unload </dev/null >>linker_unload.run.stdout 2>linker_unload.run.stderr > Wrong exit code (expected 0 , actual 2 ) > Stdout: > Stderr: > make[1]: *** [linker_unload] Segmentation fault (core dumped) > *** unexpected failure for linker_unload(normal) > Unexpected results from: > TEST="linker_unload" > > But then when I run it by hand with "./linker_unload" or "valgrind > ./linker_unload" I get an unknown symbol error with exit code 1: > > ==70613== > linker_unload: Test.o: unknown symbol `base_GHCziNum_zdfNumInt_closure' > linker_unload: resolveObjs failed > ==70613== > ==70613== HEAP SUMMARY: > > > -Ryan > > > On Sun, Sep 1, 2013 at 10:46 PM, Austin Seipp <ase...@pobox.com> wrote: >> >> I have also not seen this test fail on amd64/Linux since Simon >> committed it. From the valgrind output, it looks like your machine is >> 32bit, correct Ryan? Edward told me yesterday on IRC he saw this fail >> on 64bit Linux, so I'm a little confused. >> >> Can you please try this? >> >> $ cd testsuite/tests/rts >> $ make TEST="linker_unload" EXTRA_HC_OPTS="-debug" >> $ valgrind ./linker_unload >> >> This will link you with a debug copy of the RTS, so Valgrind/GDB can >> relate errors back to the relevant source code. Perhaps this will help >> shed light on your problem. >> >> >> On Sun, Sep 1, 2013 at 9:39 PM, Edward Z. Yang <ezy...@mit.edu> wrote: >> > However, as far as I can tell, it is not 100% reproduceable. >> > In a recent validate of 5f98d44d8617756971cf47c040f2556de4e98f63, >> > this test does not fail. >> > >> > Edward >> > >> > Excerpts from Edward Z. Yang's message of Fri Aug 30 21:55:29 -0700 >> > 2013: >> >> Yes, this one is failing for me too. Probably related to the >> >> recent object unload patch for >> >> http://ghc.haskell.org/trac/ghc/ticket/8039 >> >> >> >> Excerpts from Ryan Newton's message of Fri Aug 30 21:51:24 -0700 2013: >> >> > That test builds an executable named 'linker_unload' which segfaults >> >> > for >> >> > me. Valgrind says this: >> >> > >> >> > >> >> > ==42800== Invalid read of size 8 >> >> > ==42800== at 0x66945F: checkUnload (in >> >> > >> >> > /home/beehive/ryan_scratch/validate14/testsuite/tests/rts/linker_unload) >> >> > ==42800== by 0x657F7A: GarbageCollect (in >> >> > >> >> > /home/beehive/ryan_scratch/validate14/testsuite/tests/rts/linker_unload) >> >> > ==42800== by 0x651790: scheduleDoGC (in >> >> > >> >> > /home/beehive/ryan_scratch/validate14/testsuite/tests/rts/linker_unload) >> >> > ==42800== by 0x6518B4: performGC_ (in >> >> > >> >> > /home/beehive/ryan_scratch/validate14/testsuite/tests/rts/linker_unload) >> >> > ==42800== by 0x403BB1: main (in >> >> > >> >> > /home/beehive/ryan_scratch/validate14/testsuite/tests/rts/linker_unload) >> >> > ==42800== Address 0x5bfdd20 is 80 bytes inside a block of size >> >> > 120 >> >> > free'd >> >> > ==42800== at 0x4C273F0: free (vg_replace_malloc.c:446) >> >> > ==42800== by 0x66945E: checkUnload (in >> >> > >> >> > /home/beehive/ryan_scratch/validate14/testsuite/tests/rts/linker_unload) >> >> > ==42800== by 0x657F7A: GarbageCollect (in >> >> > >> >> > /home/beehive/ryan_scratch/validate14/testsuite/tests/rts/linker_unload) >> >> > ==42800== by 0x651790: scheduleDoGC (in >> >> > >> >> > /home/beehive/ryan_scratch/validate14/testsuite/tests/rts/linker_unload) >> >> > ==42800== by 0x6518B4: performGC_ (in >> >> > >> >> > /home/beehive/ryan_scratch/validate14/testsuite/tests/rts/linker_unload) >> >> > ==42800== by 0x403BB1: main (in >> >> > >> >> > /home/beehive/ryan_scratch/validate14/testsuite/tests/rts/linker_unload) >> >> > >> >> > This went the same across a couple different independent checkouts. >> >> > >> >> > -Ryan >> > >> > _______________________________________________ >> > ghc-devs mailing list >> > ghc-devs@haskell.org >> > http://www.haskell.org/mailman/listinfo/ghc-devs >> >> >> >> -- >> Regards, >> Austin - PGP: 4096R/0x91384671 >> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs@haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs > > -- Regards, Austin - PGP: 4096R/0x91384671 _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs