Closed dmik closed 4 years ago
It built pretty much far (all DLLs etc — 9 hours in total) but then OS/2 just hung when GCC was building tests and examples. It doesn't seem to have anything to do with GCC — OS/2 sometimes just hangs here under heavy load. Here is a popup log entry from EMXOMF (part of LIBC):
12-07-2019 16:56:28 SYS3171 PID ff6a TID 0001 Slot 00d7
C:\USR\BIN\EMXOMF.EXE
c0000005
00033ac3
P1=00000002 P2=0004fffc P3=XXXXXXXX P4=XXXXXXXX
EAX=0014e4cc EBX=0014e4cc ECX=0014e8f4 EDX=00000103
ESI=00000001 EDI=0014e8d0
DS=0053 DSACC=d0f3 DSLIM=5fffffff
ES=0053 ESACC=d0f3 ESLIM=5fffffff
FS=150b FSACC=00f3 FSLIM=00000030
GS=0000 GSACC=**** GSLIM=********
CS:EIP=005b:00033ac3 CSACC=d0df CSLIM=5fffffff
SS:ESP=0053:00050000 SSACC=d0f3 SSLIM=5fffffff
EBP=00050008 FLG=00010202
EMXOMF.EXE 0001:00023ac3
But it happened 10 minutes before OS/2 hung so I'm not sure it's directly related either.
I tried a few examples from this build of Qt — all work as designed. And STDC++6.DLL loads just fine. So I guess GCC may be considered ready for general use. I will try https://github.com/bitwiseworks/qtwebengine-os2/issues/3 now.
FWIW, this trap is because the stack overflowed. Your thought that there's a recursive loop is probably true.
If you can arrange to capture a process dump with instance data, we might be able to get a better idea of where the recursion is occurring.
A copy of your emxomf.exe and emxomf.map might be sufficient too. It depends on how easy the generated code is to read.
This trap has gone but I'm getting some other build issues in Qt. Investigating them now.
The above problem has been fixed (some leftovers like empty generated files after previous crashes). But I got a new one, really strange. make
crashes like hell here. Each invocation of it ends up with a crash it seems. My POPUPLOG.OS2 is already 700 MEGABYTES in size and keeps growing while Qt builds. And I cannot break the execution of the build process. Have to reboot, otherwise I will run out of disk space on the boot drive. Never seen anything like that before.
This is the first crash entry:
12-19-2019 21:36:17 SYS3171 PID 112d TID 0001 Slot 00d1
C:\USR\BIN\MAKE.EXE
0aa40d8b
02fe8189
P1=ec8b5500 P2=011cec81 P3=8b530000 P4=8b571445
EAX=00000000 EBX=00000000 ECX=00000001 EDX=2005868c
ESI=00000000 EDI=00000000
DS=0000 DSACC=**** DSLIM=********
ES=0000 ESACC=**** ESLIM=********
FS=0000 FSACC=**** FSLIM=********
GS=0000 GSACC=**** GSLIM=********
CS:EIP=e5c0:00000040 CSACC=**** CSLIM=********
SS:ESP=68a0:00041650 SSACC=**** SSLIM=********
EBP=00000001 FLG=00010207
These are all the other thousands of them:
12-20-2019 00:42:08 SYS3171 PID 4834 TID 0001 Slot 00d1
C:\USR\BIN\MAKE.EXE
c0000005
ffffffff
P1=00000008 P2=00006000 P3=XXXXXXXX P4=XXXXXXXX
EAX=1ffc2433 EBX=958b4f22 ECX=b3754f93 EDX=958b4f22
ESI=00140053 EDI=0014e9f4
DS=0000 DSACC=**** DSLIM=********
ES=0014 ESACC=00fb ESLIM=0000ffff
FS=0024 FSACC=00f3 FSLIM=00001b9f
GS=0000 GSACC=**** GSLIM=********
CS:EIP=6000:00000000 CSACC=**** CSLIM=********
SS:ESP=007c:00000080 SSACC=00f2 SSLIM=0000ffff
EBP=00005c67 FLG=00010202
And it looks like running out of stack again. Have no idea why.
Still have no idea but it has gone on its own. Everything is built now (both debug and release, including all tests and benchmarks). Tests and examples seem to work. Webengine is next. Closing this one.
Given that we have a test build of GCC 9.2.0 now (which was necessary for https://github.com/bitwiseworks/qtwebengine-os2/issues/3 in the first place), see https://github.com/bitwiseworks/gcc-os2/issues/2, it's time to try to build Qt with it — both as a test of GCC and to let Qt benefit from the new compiler.
qmake.exe has been already built by GCC 9.2.0 successfully and configure is also run. Here is the difference with Qt configured by GCC 4.9.2:
Now it's time to try to build the rest.