Date: Thu, 25 Aug 1994 13:05:52 +0200 Alternate-Recipient: Allowed From: HANS ELLENBERGER To: djgpp Subject: Catastrophic problems with v. 1.12 Having asked twice for confirmation of successful compilation of production programs (bigger than the tiny test.bat's) without any result, I come to the conclusion that djgpp v. 1.12 is not heavily used for production purposes. This is somehow surprising, but reflects my own mixed experiences with it from version 1.11 on. Problem areas: - Memory allocation is still buggy. Library calls of spawn and stat often result in segment violation at malloc+200. - Free physical memory reported is wrong when chunks bigger than 4096 bytes are requested by malloc or sbrk. - Debugging of real world applications using spawn is very difficult because the topline of go32 is not updated when the spawned program terminates. - When spawning to another exe (e.g. as.exe), topline often shows something like 2M of swapped out ram, 244K of used ram and 16K of free ram in a system with 12M free xms ram where swapping should not occur at all. It then spends most of the time in real mode and execution is extremely slowed down. - Calling system("mybat.bat arg1 arg2") hangs. DJ recently suggested to set keepmem=0. The net effect is that crashes are a somewhat less frequent, but still occur at exactly the same location in malloc+200. Having reported the memory problems to DJ in May without any useful help, I am on the point to abandon djgpp with a sad feeling. Maybe he will be happy to get rid of my questions. Enclosed the symified dumps that prove the problems mentioned above. Segment violations without dpmi =============================== eax=000a3600 ebx=00000002 ecx=00000200 edx=0000001c esi=fffffffc edi=7ffff19b ebp=7ffff130 esp=7ffff124 cs=d8 ds=48 es=48 fs=48 gs=48 ss=48 cr2=00000200 Call frame traceback EIPs: 0x0005459c _malloc+200 0x00054e6f _strdup+31 0x00054a3e _sprintf+190 0x00054bb5 _stat+297 0x...... eax=7fffe888 ebx=00000002 ecx=16006800 edx=0000001c esi=fffffffc edi=7fffe79e ebp=7fffe740 esp=7fffe734 cs=d8 ds=48 es=48 fs=48 gs=48 ss=48 cr2=00006800 Call frame traceback EIPs: 0x0006bea4 _malloc+200 0x0006cb79 _spawnlpe+2201 0x0006cdab _spawnve+243 0x0006cf1b _spawnvpe+315 0x0006c2de _spawnlp+24 0x....... Protection faults with dpmi form windows 3.1 ============================================ General Protection Fault at eip=5459c eax=000e3500 ebx=00000002 ecx=6d2e736c edx=0000001c esi=fffffffc edi=000e11cb ebp=000e1160 esp=000e1154 cs=cf ds=c7 es=c7 fs=c7 gs=c7 ss=d7 cr2=00001fe4 Call frame traceback EIPs: 0x0005459c _malloc+200 0x00054e6f _strdup+31 0x00054a3e _sprintf+190 0x00054bb5 _stat+297 0x.... =========== -----------