www.digitalmars.com         C & C++   DMDScript  

D - problems with DMD alpha 0.18 on WIN98

reply Ruslanas Abdrachimovas <anubis 03bar.ktu.lt> writes:
Hello,

I just notice: if I compile test program:
...
// File test.d
void main()
{
}
...

with dmd 0.18 then trying to run test.exe results in such WIN98 message
...
TEST caused an invalid page fault in
module TEST.EXE at 017f:00403811.
Registers:
EAX=00000000 CS=017f EIP=00403811 EFLGS=00010287
EBX=00000000 SS=0187 ESP=0063fcfc EBP=00651e7c
ECX=00651e7c DS=0187 ESI=00640000 FS=19cf
EDX=0063fdb8 ES=0187 EDI=00000000 GS=0000
Bytes at CS:EIP:
8b 3e 3b 7d 28 72 6e 57 8b cd e8 a8 fe ff ff 89
Stack dump:
00000010 00000008 0063fda4 00000000
00000000 00000000 0040b220 00403a03
0063fd98 00640010 00000010 006513d8
0063fda4 00000001 0040b220 00651e7c
...
but if I compile the same programm with 0.15 - it works fine...
Whatever, compiled with 0.18, works without errors on win2k.

Ruslanas
Feb 06 2002
next sibling parent reply John Fletcher <J.P.Fletcher aston.ac.uk> writes:
Ruslanas Abdrachimovas wrote:

 Hello,

 I just notice: if I compile test program:
 ...
 // File test.d
 void main()
 {
 }
 ...

 with dmd 0.18 then trying to run test.exe results in such WIN98 message
 ...

0.18 ?? I have been looking out for update announcements. Have I missed something? John
Feb 06 2002
parent Ruslanas Abdrachimovas <anubis 03bar.ktu.lt> writes:
There was no announcements. Just download new version of it. =]

John Fletcher wrote:
 
 Ruslanas Abdrachimovas wrote:
 
 
Hello,

I just notice: if I compile test program:
...
// File test.d
void main()
{
}
...

with dmd 0.18 then trying to run test.exe results in such WIN98 message
...

0.18 ?? I have been looking out for update announcements. Have I missed something? John

Feb 06 2002
prev sibling parent reply "Walter" <walter digitalmars.com> writes:
Are you saying the same executable, text.exe, crashes on 98 but works on 2k?

"Ruslanas Abdrachimovas" <anubis 03bar.ktu.lt> wrote in message
news:3C611704.8030302 03bar.ktu.lt...
 Hello,

 I just notice: if I compile test program:
 ...
 // File test.d
 void main()
 {
 }
 ...

 with dmd 0.18 then trying to run test.exe results in such WIN98 message
 ...
 TEST caused an invalid page fault in
 module TEST.EXE at 017f:00403811.
 Registers:
 EAX=00000000 CS=017f EIP=00403811 EFLGS=00010287
 EBX=00000000 SS=0187 ESP=0063fcfc EBP=00651e7c
 ECX=00651e7c DS=0187 ESI=00640000 FS=19cf
 EDX=0063fdb8 ES=0187 EDI=00000000 GS=0000
 Bytes at CS:EIP:
 8b 3e 3b 7d 28 72 6e 57 8b cd e8 a8 fe ff ff 89
 Stack dump:
 00000010 00000008 0063fda4 00000000
 00000000 00000000 0040b220 00403a03
 0063fd98 00640010 00000010 006513d8
 0063fda4 00000001 0040b220 00651e7c
 ...
 but if I compile the same programm with 0.15 - it works fine...
 Whatever, compiled with 0.18, works without errors on win2k.

 Ruslanas

Feb 06 2002
next sibling parent reply John Fletcher <J.P.Fletcher aston.ac.uk> writes:
Walter wrote:

 Are you saying the same executable, text.exe, crashes on 98 but works on 2k?

 "Ruslanas Abdrachimovas" <anubis 03bar.ktu.lt> wrote in message
 news:3C611704.8030302 03bar.ktu.lt...
 Hello,

 I just notice: if I compile test program:
 ...
 // File test.d
 void main()
 {
 }
 ...

 with dmd 0.18 then trying to run test.exe results in such WIN98 message
 ...


On a machine running Windows 95 OSR2 the simple hello.d crashes on exit (or at least after the printf output) with version 0.18. It worked O.K. with 0.16 Maybe related, the statement File something = new File; which ran before now makes a crash before output. John
Feb 07 2002
next sibling parent "Walter" <walter digitalmars.com> writes:
Could you hook up a debugger and see where it's dying? There isn't much of
any code executed for the close.

"John Fletcher" <J.P.Fletcher aston.ac.uk> wrote in message
news:3C62470A.97F9EBC2 aston.ac.uk...
 Walter wrote:

 Are you saying the same executable, text.exe, crashes on 98 but works on


 "Ruslanas Abdrachimovas" <anubis 03bar.ktu.lt> wrote in message
 news:3C611704.8030302 03bar.ktu.lt...
 Hello,

 I just notice: if I compile test program:
 ...
 // File test.d
 void main()
 {
 }
 ...

 with dmd 0.18 then trying to run test.exe results in such WIN98



 ...


On a machine running Windows 95 OSR2 the simple hello.d crashes on exit

 least after the printf output) with version 0.18.  It worked O.K. with

 Maybe related, the statement

 File something = new File;

 which ran before now makes a crash before output.

 John

Feb 07 2002
prev sibling parent reply "Pavel Minayev" <evilone omen.ru> writes:
"John Fletcher" <J.P.Fletcher aston.ac.uk> wrote in message
news:3C62470A.97F9EBC2 aston.ac.uk...

 Maybe related, the statement

 File something = new File;

 which ran before now makes a crash before output.

On Win95? Or everywhere?
Feb 07 2002
parent John Fletcher <J.P.Fletcher aston.ac.uk> writes:
Pavel Minayev wrote:

 "John Fletcher" <J.P.Fletcher aston.ac.uk> wrote in message
 news:3C62470A.97F9EBC2 aston.ac.uk...

 Maybe related, the statement

 File something = new File;

 which ran before now makes a crash before output.

On Win95? Or everywhere?

On Win95 OSR2 and Win 98 - separate machines. The example ran under 0.16 and crashes under 0.18. It just hangs and produces no output. I haven't tried it elsewhere. John
Feb 07 2002
prev sibling parent reply Ruslanas Abdrachimovas <anubis 03bar.ktu.lt> writes:
Yes, executable created with phobos.lib from dmd 0.18 (compiled with 
0.18 compiler)  crashes on win98 and works on win2000 (maybe crashes 
silently :( )... But with phobos.lib from dmd 0.15 works fine (compiled 
with 0.18 compiler). :( There may be some bug in phobos.lib 0.18....

Walter wrote:
 Are you saying the same executable, text.exe, crashes on 98 but works on 2k?
 
 "Ruslanas Abdrachimovas" <anubis 03bar.ktu.lt> wrote in message
 news:3C611704.8030302 03bar.ktu.lt...
 
Hello,

I just notice: if I compile test program:
...
// File test.d
void main()
{
}
...

with dmd 0.18 then trying to run test.exe results in such WIN98 message
...
TEST caused an invalid page fault in
module TEST.EXE at 017f:00403811.
Registers:
EAX=00000000 CS=017f EIP=00403811 EFLGS=00010287
EBX=00000000 SS=0187 ESP=0063fcfc EBP=00651e7c
ECX=00651e7c DS=0187 ESI=00640000 FS=19cf
EDX=0063fdb8 ES=0187 EDI=00000000 GS=0000
Bytes at CS:EIP:
8b 3e 3b 7d 28 72 6e 57 8b cd e8 a8 fe ff ff 89
Stack dump:
00000010 00000008 0063fda4 00000000
00000000 00000000 0040b220 00403a03
0063fd98 00640010 00000010 006513d8
0063fda4 00000001 0040b220 00651e7c
...
but if I compile the same programm with 0.15 - it works fine...
Whatever, compiled with 0.18, works without errors on win2k.

Ruslanas


Feb 07 2002
parent reply John Fletcher <J.P.Fletcher aston.ac.uk> writes:
Ruslanas Abdrachimovas wrote:

 Yes, executable created with phobos.lib from dmd 0.18 (compiled with
 0.18 compiler)  crashes on win98 and works on win2000 (maybe crashes
 silently :( )... But with phobos.lib from dmd 0.15 works fine (compiled
 with 0.18 compiler). :( There may be some bug in phobos.lib 0.18....

The same applies with the phobos.lib from 0.16 linked with programs compiled with 0.18. (Win 98) They run and it also fixes the File bug. John
Feb 07 2002
parent reply "Pavel Minayev" <evilone omen.ru> writes:
"John Fletcher" <J.P.Fletcher aston.ac.uk> wrote in message
news:3C628CD6.F53846DC aston.ac.uk...

 The same applies with the phobos.lib from 0.16 linked with programs

 0.18.  (Win 98) They run and it also fixes the File bug.

Try the new stream.d from my site. It works with 0.18, for me at least (OS is WinXP). D2HTML compiled and ran fine.
Feb 08 2002
parent "Walter" <walter digitalmars.com> writes:
"Pavel Minayev" <evilone omen.ru> wrote in message
news:a40k22$1pca$1 digitaldaemon.com...
 "John Fletcher" <J.P.Fletcher aston.ac.uk> wrote in message
 news:3C628CD6.F53846DC aston.ac.uk...

 The same applies with the phobos.lib from 0.16 linked with programs

 0.18.  (Win 98) They run and it also fixes the File bug.

Try the new stream.d from my site. It works with 0.18, for me at least (OS is WinXP). D2HTML compiled and ran fine.

I managed to get a Win98 box and verify the crashing problem. I have it fixed now. It'll get fixed in the 19 update. For those who wish to fix it now <g>, change the following lines in \dmd\src\phobos\gc\gc.c: 309,312c309,310 < p = (void *)((unsigned *)p + 4); < if (p > gcx->stackBottom) < #else < p = (void *)((unsigned *)p - 4); ---
     if (p > gcx->stackBottom)
 #else

Feb 08 2002