Anyone else failing to validate on 'linker_unload'?

Austin Seipp aseipp at pobox.com
Mon Sep 2 04:46:38 CEST 2013


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 <ezyang at 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs



-- 
Regards,
Austin - PGP: 4096R/0x91384671




More information about the ghc-devs mailing list