Thread overview
[dmd-internals] dmd commit, revision 871
Jan 13, 2011
dsource.org
Jan 13, 2011
Brad Roberts
Jan 13, 2011
Don Clugston
Jan 13, 2011
Brad Roberts
January 13, 2011
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

January 13, 2011
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

January 13, 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
>
January 13, 2011
Any idea why 32 bit wasn't failing before this change but 64 bit was?  I hadn't spent any time looking into this test yet.

On 1/13/2011 12:37 AM, Don Clugston wrote:
> 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
>>
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals