digitalmars.D.bugs - DMD 0.107 crashed
- Lionello Lunesu (33/33) Nov 29 2004 I finally started to mess around with D and managed to crash the latest ...
- Lionello Lunesu (12/12) Nov 29 2004 Same crash with this program:
-
Simon Buchan
(14/20)
Nov 30 2004
- Lionello Lunesu (15/15) Nov 30 2004 I just tested again, it really crashes.
- Thomas Kuehne (13/28) Dec 01 2004 -----BEGIN PGP SIGNED MESSAGE-----
- Lionello Lunesu (90/90) Nov 30 2004 (XP created this file. Is this useful?)
- Lionello Lunesu (5/5) Nov 30 2004 [D:\] dmd -v crash.d
I finally started to mess around with D and managed to crash the latest dmd with this test program: struct bittest_T(int C) { bit b[C]; }; void main() { for (int t=0; t<32; t++) printf("sizeof bittest_T(%i) %i\n", t, bittest_T!(t).sizeof ); } DMD prints this compile error (which makes sense): C:\UTIL\d\fart.d(33): template instance fart.bittest_T!(t) cannot use local 't' as template parameter ..and crashes with an access violation exception. I ran DMD.EXE from MSDEV and it breaks at 0040B6D1: 0040B6CA 90 nop 0040B6CB 90 nop (function entry point?) 0040B6CC 53 push ebx 0040B6CD 31 C0 xor eax,eax 0040B6CF 89 CB mov ebx,ecx 0040B6D1 88 00 mov byte ptr [eax],al Pretty obvious: EAX is set to 0, and then used in a look-up? Memory ECX points to: 003C4438 C4 46 4A 00 B4 CD 39 00 03 00 00 00 1B 00 00 00 ÄFJ.´Í9......... 003C4448 60 40 39 00 1C 00 00 00 58 3B 39 00 00 00 00 00 ` 9.....X;9..... 003C4458 7C 44 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 |D<............. Hope this helps, Lionello. -- Get the CACert root certificate (and a personal one) at http://cacert.org/
Nov 29 2004
Same crash with this program: void main() { for (int t=0; t<33; t++) printf("sizeof bittest_T(0) %i\n", (bit[t]).sizeof ); } (Guess what I'm trying to do :-S ) Memory ECX points to: 003C3EE0 C4 46 4A 00 B4 CD 39 00 04 00 00 00 1B 00 00 00 ÄFJ.´Í9......... 003C3EF0 60 40 39 00 1C 00 00 00 D0 3A 39 00 00 00 00 00 ` 9.....?:9..... 003C3F00 24 3F 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 $?<............. L.
Nov 29 2004
On Tue, 30 Nov 2004 09:23:26 +0200, Lionello Lunesu <lionello.lunesu crystalinter.remove.com> wrote:Same crash with this program: void main() { for (int t=0; t<33; t++) printf("sizeof bittest_T(0) %i\n", (bit[t]).sizeof ); }<snip> D should complain with: Integer constant expression expected instead of t and does for me. -- "Unhappy Microsoft customers have a funny way of becoming Linux, Salesforce.com and Oracle customers." - www.microsoft-watch.com: "The Year in Review: Microsoft Opens Up" "Clearly, if I were one of that Predator hunting team, I would file a complaint with my local member asking why such an unsafe environment should be allowed to continue, tradition or not." - http://www.sydneyanglicans.net/culture/watching/alien_vs_predator/
Nov 30 2004
I just tested again, it really crashes. DMD 0.107 doesn't say a thing; crashes immediately. Doesn't print the link-line either so I guess it's the compiler. Running WindowsXP with SP2: Microsoft Windows XP [Version 5.1.2600] Digital Mars D Compiler v0.107 OPTLINK (R) for Win32 Release 7.50B1 L. (I've even tried running dmd from cmd.exe, 4nt.exe 5.00u and msdev6: no difference)
Nov 30 2004
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Added to DStress as http://svn.kuehne.cn/dstress/nocompile/array_initialization_04.d Thomas PS: I can't reproduce this under Linux. Lionello Lunesu schrieb am Tue, 30 Nov 2004 16:20:44 +0200:I just tested again, it really crashes. DMD 0.107 doesn't say a thing; crashes immediately. Doesn't print the link-line either so I guess it's the compiler. Running WindowsXP with SP2: Microsoft Windows XP [Version 5.1.2600] Digital Mars D Compiler v0.107 OPTLINK (R) for Win32 Release 7.50B1 L. (I've even tried running dmd from cmd.exe, 4nt.exe 5.00u and msdev6: no difference)-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.9.9 (GNU/Linux) iD8DBQFBrXwg3w+/yD4P9tIRAqtsAJ9J0MDaCdhErUc73xdURyfBUZCqxgCfZFtb nY6rdW358w97XSQUTL+jz+4= =VqLd -----END PGP SIGNATURE-----
Dec 01 2004
(XP created this file. Is this useful?) begin 666 e179_appcompat.txt M`&,`;P!D`&D`; !G`#T M5 !!`$(`00!3`$4`/ `-``H`/ !%`% `10` `$X`00!-`$4`/0`B`&0`;0!D M`"X`90!X`&4`( ` `$8`20!,`%0`10!2`#T`( !'`%(`00!"`$T`20!?`$8` M20!,`%0`10!2`%\`4 !2`$D`5 !!`$,`60`B`#X M10`]`"(`1 !/`%,`( ` `"\`/ `-``H`( ` `" `( `\`$T`00!4`$,`2 !) M`$X`1P!?`$8`20!,`$4`( !.`$$`30!%`#T`( !D`&T`9 `N`&4`> !E`"(` M( !3`$D`6 !%`#T M`#T M`#T`( `P`' `, `B`" `3 !)`$X`2P!%`%(`7P!6`$4`4 !3`$D`3P!.`#T` M3 !'`%\`1 !)`$P`10` `$X`00!-`$4`/0`B`&T`80!K`&4`+ !E`' `90`B M`$L`7P!$`$$`5 !%`#T M, `P`#H`, `P`"(`( `O`#X M`$<`7P!&`$D`3 !%`" `3 !!`$T`10`]`"(`< !E`' `; !A`&,`90`N`&4` M> !E`"(`( !3`$D`6 !%`#T M7P!4`%D`4 !%`#T M2 !)`$X`1P!?`$8`20!,`$4`( !.`$$`30!%`#T`( !S`& `90!L`&P`+ !E M`$P`20!.`$L`7P!$`$$`5 !%`#T M, `P`#H`, `P`#H`, `P`"(`( `O`#X M`$4`6 !%`" `3 !!`$T`10`]`"(`:P!E`'(`; !E`&P`,P`R`"X`9 !L`&P` M( ` `$8`20!,`%0`10!2`#T`( !'`%(`00!"`$T`20!?`$8`20!,`%0`10!2 M`%\`5 !(`$D`4P!&`$D`3 !%`$\`3 !,`%D`( `^``T`" ` `" `( ` `#P` M30!!`%0`0P!(`$D`3 !'`%\`1 !)`$P`10` `$X`00!-`$4`/0`B`&L`90!R M, `B`" `0P!(`$4`0P!+`%,`50!-`#T M`"(`( !"`$D`3 !?`$8`20!,`$4`7P!6`$4`4 !3`$D`3P!.`#T`( `U`"X` M`%0`7P!6`$4`4 !3`$D`3P!.`#T M. `P`"(`( !0`%(`3P!$`%4`0P!4`%\`5 !%`%(`4P!)`$\`3 `]`"(`-0`N M4 !)`% `5 !)`$\`3 `]`"(`5P!I`&X`9 !O`'<`<P` `$X`5 ` `$(`00!3 M`$4`( !!`% `20` `$,`; !I`&4`; !T`" `1 !,`$P`( ` `$,`3P!-`% ` M00!.`%D`7P!.`$$`30!%`#T`( !-`&D`8P!R`&\`<P!O`&8`= ` `$,`;P!R M`' `;P!R`&$`= !I`&\`; `B`" `4 !2`$\`1 !5`$,`5 !?`$X`00!-`$4` M/0`B`$T`:0!C`'(`;P!S`&\`9 !T`*X`( !7`&D`; !D`&\`=P!S`*X`( !/ M`' `90!R`&$`= !I`&X`9P` `%,`>0!S`'0`90!M`"(`( !&`$D`3 !%`%\` M`#T M`% `60!2`$D`1P!(`%0`/0`B`*D`( !-`&D`8P!R`&\`<P!O`&8`= ` `$,` M;P!R`' `;P!R`&$`= !I`&\`; `N`" `00!L`&P`( !R`&D`9P!H`'0`<P` M`'(`90!S`&4`< !V`&4`9 `N`"(`( !6`$4`4 !&`$D`3 !%`$0`00!4`$4` M2 !)`#T`( `P`' `, `B`" `5 !%`%(`1 !)`$P`10!$`$$`5 !%`$P`3P`] M0P!(`$4`0P!+`%,`50!-`#T M4 !4`$\`7P!"`$D`3 !?`$8`20!,`$4`7P!6`$4`4 !3`$D`3P!.`#T`( `U M`$4`/0`B`$4`; !G`&P`:0!S`& `( `H`%4`; !I`'0`90!D`" `4P!T`&$` A`#X ` end
Nov 30 2004
[D:\] dmd -v crash.d parse crash semantic crash semantic2 crash semantic3 crash
Nov 30 2004