Message-Id: <3.0.3.32.19981111084939.006b14d0@dce03.ipt.br> X-Sender: csrabak AT dce03 DOT ipt DOT br (Unverified) X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.3 (32) Date: Wed, 11 Nov 1998 08:49:39 -0200 To: djgpp AT delorie DOT com From: Cesar Scarpini Rabak Subject: DJGPP tools and utilities SIGFPE'ng after Floating Exception Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Reply-To: djgpp AT delorie DOT com I noticed make version 3.77 and rm from fileutils 3.16 exit with a SIGFPE just after a fortran (g77 version 0.5.23) program had aborted with a "Floating Exception". Below is the minimum I managed to reproduce the problem. My environment is a Pentium 200 S with 128 Meg of RAM: C:\_WORK\testbed>ver Windows 95. [Version 4.00.1111] C:\_WORK\testbed>go32-v2 go32/v2 version 2.0 built Aug 12 1996 22:27:23 Usage: go32 coff-image [args] Rename this to go32.exe only if you need a go32 that can run v2 binaries as well as v1 binaries (old makefiles). Put ahead of the old go32 in your PATH but do not delete your old go32 - leave it in the PATH after this one. Set GO32_V2_DEBUG=y in the environment to get verbose output. DPMI memory available: 92747 Kb DPMI swap space available: 35301 Kb The problem develops in the following pattern: ----------------------------------------------------start C:\_WORK\testbed>ls C:\_WORK\testbed>ls -F --color=auto buggy.f C:\_WORK\testbed>make buggy f77 buggy.f -o buggy C:\_WORK\testbed>rm buggy C:\_WORK\testbed>buggy Floating Exception Abort! C:\_WORK\testbed>make buggy f77 buggy.f -o buggy C:\_WORK\testbed>buggy Floating Exception Abort! C:\_WORK\testbed>rm buggy C:\_WORK\testbed>make buggy f77 buggy.f -o buggy C:\_WORK\testbed>buggy Floating Exception Abort! C:\_WORK\testbed>rm buggy C:\_WORK\testbed>buggy Floating Exception Abort! C:\_WORK\testbed>make buggy Exiting due to signal SIGFPE Floating Point exception at eip=00023566, x87 status=0000 eax=00000000 ebx=00000000 ecx=0007b054 edx=00000033 esi=00076170 edi=000363ac ebp=0007638c esp=00076170 program=C:\DJGPP\BIN\MAKE.EXE cs: sel=00a7 base=82a63000 limit=0007ffff ds: sel=00b7 base=82a63000 limit=0007ffff es: sel=00b7 base=82a63000 limit=0007ffff fs: sel=0087 base=000266f0 limit=0000ffff gs: sel=00c7 base=00000000 limit=ffffffff ss: sel=00b7 base=82a63000 limit=0007ffff App stack: [000763ac..000363ac] Exceptn stack: [00036300..000343c0] Call frame traceback EIPs: 0x00023566 0x000197bd C:\_WORK\testbed>make buggy f77 buggy.f -o buggy C:\_WORK\testbed>buggy Floating Exception Abort! C:\_WORK\testbed>rm buggy C:\_WORK\testbed>make buggy f77 buggy.f -o buggy C:\_WORK\testbed>buggy Floating Exception Abort! C:\_WORK\testbed>buggy Exiting due to signal SIGFPE Floating Point exception at eip=0000cefe eax=00000000 ebx=00000000 ecx=ffdba054 edx=00000033 esi=0005e8c8 edi=0001eb04 ebp=0005eae4 esp=0005e8c8 program=C:\_WORK\TESTBED\BUGGY.EXE cs: sel=00a7 base=82b11000 limit=ffdc5fff ds: sel=00b7 base=82b11000 limit=ffdc5fff es: sel=00b7 base=82b11000 limit=ffdc5fff fs: sel=0087 base=000266f0 limit=0000ffff gs: sel=00c7 base=00000000 limit=ffffffff ss: sel=00b7 base=82b11000 limit=ffdc5fff Call frame traceback EIPs: 0x0000cefe 0x00009991 C:\_WORK\testbed>buggy Floating Exception Abort! C:\_WORK\testbed>rm buggy C:\_WORK\testbed>buggy Floating Exception Abort! C:\_WORK\testbed>rm buggy.exe Exiting due to signal SIGFPE Floating Point exception at eip=0000b722 eax=00000000 ebx=00000000 ecx=ffdb6054 edx=00000033 esi=0005ac90 edi=0001aecc ebp=0005aeac esp=0005ac90 program=C:\DJGPP\BIN\RM.EXE cs: sel=00a7 base=82b11000 limit=ffdc5fff ds: sel=00b7 base=82b11000 limit=ffdc5fff es: sel=00b7 base=82b11000 limit=ffdc5fff fs: sel=0087 base=000266f0 limit=0000ffff gs: sel=00c7 base=00000000 limit=ffffffff ss: sel=00b7 base=82b11000 limit=ffdc5fff Call frame traceback EIPs: 0x0000b722 0x00009755 C:\_WORK\testbed> ----------------------------------------------------end The contents of buggy.f is: program buggy print *, 'O quadrado de ', 5, ' eh ', quadrado(5) end program buggy integer function quadrado(x) integer x quadrado=x*x end function quadrado ----------------------------------------------------end buggy.f I'm not in the general list, just in the announce one, so I may be reporting something already known, however I could not pinpoint anything in the readmes or docs for these packages. The only info about an old make version having problems in machines w/o math coprocessors seems not be applicable in this case. I could not drill down further in the testing, but can assure the ones shown above are repeatable even if one reboots the machine, avoid using certain applications before starting the test, etc. The SIGFPE in the 'rm' utility seems more stochastic than with make, but as shown above it ends happening. Regards Cesar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Cesar Scarpini Rabak E-mail: csrabak AT ipt DOT br DME/ASC Phone: 55-11-268-3522 Ext.350 IPT - Instituto de Pesquisas Tecnologicas Fax: 55-11-268-5996 Av. Prof. Almeida Prado, 532. Sao Paulo - SP 05508-901 BRAZIL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~