[dmd-internals] dmd commit, revision 871

Don Clugston dclugston at googlemail.com
Thu Jan 13 00:37:01 PST 2011


It should be an error in the front-end. Technically, it's still legal,
but it's a ridiculous thing to allow.
About 20% of the code for exception chaining is because of this toxic
waste feature.
(In fact, exception chaining can't work as long as it's legal).

I've created bug 5447 for it.

On 13 January 2011 09:17, Brad Roberts <braddr at puremagic.com> wrote:
> On 1/13/2011 12:09 AM, dsource.org wrote:
>> dmd commit, revision 871
>>
>>
>> user: Don Clugston
>>
>> msg:
>> Test case shouldn't be throwing non-throwable object.
>>
>> http://www.dsource.org/projects/dmd/changeset/871
>>
>> paths changed:
>> U   trunk/test/runnable/eh2.d
>
> Pro: that's enough to fix x86-64's test run.
>
> Con: throwing a non-throwable shouldn't result in the errors it resulted in. :)
>
>  ... runnable/eh2.d            (-fPIC)
> *** glibc detected *** test_results/runnable/eh2: free(): invalid pointer:
> 0x00002b5b5bce8028 ***
> ======= Backtrace: =========
> /lib/libc.so.6(+0x774b6)[0x2b5b5c6064b6]
> /lib/libc.so.6(cfree+0x73)[0x2b5b5c60cc83]
> test_results/runnable/eh2(_D4core7runtime19defaultTraceHandlerFPvZC6object9Throwable9TraceInfo16DefaultTraceInfo6__dtorMFZv+0x11)[0x41fb5d]
> ======= Memory map: ========
> 00400000-0042f000 r-xp 00000000 08:02 5636798
> /home/braddr/sandbox/d/source/trunk2/dmd/test/test_results/runnable/eh2
> 0062e000-0062f000 r-xp 0002e000 08:02 5636798
> /home/braddr/sandbox/d/source/trunk2/dmd/test/test_results/runnable/eh2
> 0062f000-00634000 rwxp 0002f000 08:02 5636798
> /home/braddr/sandbox/d/source/trunk2/dmd/test/test_results/runnable/eh2
> 01778000-01799000 rwxp 00000000 00:00 0                                  [heap]
> 2b5b5bcc3000-2b5b5bce3000 r-xp 00000000 08:01 659639
> /lib/ld-2.12.1.so
> 2b5b5bce3000-2b5b5bde6000 rwxp 00000000 00:00 0
> 2b5b5bee3000-2b5b5bee4000 r-xp 00020000 08:01 659639
> /lib/ld-2.12.1.so
> 2b5b5bee4000-2b5b5bee5000 rwxp 00021000 08:01 659639
> /lib/ld-2.12.1.so
> 2b5b5bee5000-2b5b5bee6000 rwxp 00000000 00:00 0
> 2b5b5bee6000-2b5b5beed000 r-xp 00000000 08:01 659673
> /lib/librt-2.12.1.so
> 2b5b5beed000-2b5b5c0ec000 ---p 00007000 08:01 659673
> /lib/librt-2.12.1.so
> 2b5b5c0ec000-2b5b5c0ed000 r-xp 00006000 08:01 659673
> /lib/librt-2.12.1.so
> 2b5b5c0ed000-2b5b5c0ee000 rwxp 00007000 08:01 659673
> /lib/librt-2.12.1.so
> 2b5b5c0ee000-2b5b5c106000 r-xp 00000000 08:01 659671
> /lib/libpthread-2.12.1.so
> 2b5b5c106000-2b5b5c305000 ---p 00018000 08:01 659671
> /lib/libpthread-2.12.1.so
> 2b5b5c305000-2b5b5c306000 r-xp 00017000 08:01 659671
> /lib/libpthread-2.12.1.so
> 2b5b5c306000-2b5b5c307000 rwxp 00018000 08:01 659671
> /lib/libpthread-2.12.1.so
> 2b5b5c307000-2b5b5c30c000 rwxp 00000000 00:00 0
> 2b5b5c30c000-2b5b5c38e000 r-xp 00000000 08:01 659653
> /lib/libm-2.12.1.so
> 2b5b5c38e000-2b5b5c58d000 ---p 00082000 08:01 659653
> /lib/libm-2.12.1.so
> 2b5b5c58d000-2b5b5c58e000 r-xp 00081000 08:01 659653
> /lib/libm-2.12.1.so
> 2b5b5c58e000-2b5b5c58f000 rwxp 00082000 08:01 659653
> /lib/libm-2.12.1.so
> 2b5b5c58f000-2b5b5c709000 r-xp 00000000 08:01 659645
> /lib/libc-2.12.1.so
> 2b5b5c709000-2b5b5c908000 ---p 0017a000 08:01 659645
> /lib/libc-2.12.1.so
> 2b5b5c908000-2b5b5c90c000 r-xp 00179000 08:01 659645
> /lib/libc-2.12.1.so
> 2b5b5c90c000-2b5b5c90d000 rwxp 0017d000 08:01 659645
> /lib/libc-2.12.1.so
> 2b5b5c90d000-2b5b5c915000 rwxp 00000000 00:00 0
> 2b5b5c915000-2b5b5c92a000 r-xp 00000000 08:01 659250
> /lib/libgcc_s.so.1
> 2b5b5c92a000-2b5b5cb29000 ---p 00015000 08:01 659250
> /lib/libgcc_s.so.1
> 2b5b5cb29000-2b5b5cb2a000 r-xp 00014000 08:01 659250
> /lib/libgcc_s.so.1
> 2b5b5cb2a000-2b5b5cb2b000 rwxp 00015000 08:01 659250
> /lib/libgcc_s.so.1
> 2b5b60000000-2b5b60021000 rwxp 00000000 00:00 0
> 2b5b60021000-2b5b64000000 ---p 00000000 00:00 0
> 7fffdb2ee000-7fffdb30f000 rwxp 00000000 00:00 0                          [stack]
> 7fffdb39d000-7fffdb39e000 r-xp 00000000 00:00 0                          [vdso]
> ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
> ./do_test.sh: line 165:  1871 Aborted                 ${test_app_exe} ${e_args}
>>> ${output_file} 2>&1
>
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals
>


More information about the dmd-internals mailing list