Crash Report - Short Version
On WinXP eduke32.exe crashes immediately after using a security monitor when
compiled with gcc 4.4.0-TDM-1-mingw32.
gcc 4.3.3-tdm-1-mingw32 is OK. Could someone please confirm/contradict this?
Crash Report - Long Version
Despite my lack of debugging knowledge I have tried to isolate it:
duke3d.cfg/eduke32.cfg settings do not affect this problem.
It occurs on both of my PCs : Pentium/Matrox, Athlon/NVIDIA.
It occurs with the latest source code (svn1461) as well as with the
oldest I managed to build (svn0016 from 2006).
After some makefile twiddling I found out that it does not happen when
setting OPTLEVEL from 2 to 0. OPTLEVEL?=1 lets the crash reappear.
After some object file juggling it seems to be related to engine.o.
To get a crash-free executable I compiled normally with gcc-4.4.0, then
replaced engine.o with a previously built version (OPTLEVEL?=0) and
re-linked the exe. Seems like a compiler bug to me.
I hope this information is helpful in some way.
SVN access and compiling EDuke32
#61 Posted 15 July 2009 - 11:11 AM
#62 Posted 15 July 2009 - 01:05 PM
Well, there's an official MinGW GCC 4.4.0 now (as in not a build from tdragon.net) which you could try.
#63 Posted 16 July 2009 - 12:28 AM
gcc 4.4.0 is causing problems
even if you compile successfully the source, the compiled binary causes crashes.
BETTER STAY WITH GCC 4.3.3
even if you compile successfully the source, the compiled binary causes crashes.
BETTER STAY WITH GCC 4.3.3
#64 Posted 16 July 2009 - 02:14 AM
BETTER STAY WITH GCC 4.3.3
MinGW_gcc-4.3.3-tdm-1.rar (updated/repacked)
http://www.mediafire...php?deydv2znmzz
MSYS-1.0.11-rc-1.exe
http://www.mediafire...php?tihqwoowkzo
Please use gcc 4.3.3 to compile eduke32
MinGW_gcc-4.3.3-tdm-1.rar (updated/repacked)
http://www.mediafire...php?deydv2znmzz
MSYS-1.0.11-rc-1.exe
http://www.mediafire...php?tihqwoowkzo
Please use gcc 4.3.3 to compile eduke32
This post has been edited by supergoofy: 16 July 2009 - 02:15 AM
#65 Posted 17 July 2009 - 03:48 PM
TX, on Jul 15 2009, 10:05 PM, said:
Well, there's an official MinGW GCC 4.4.0 now (as in not a build from tdragon.net) which you could try.
Same thing. MinGW users will indeed have to stick to 4.3.3 for now.
#66 Posted 29 July 2009 - 01:38 AM
#67 Posted 23 August 2009 - 05:42 AM
GCC 4.4.1 TDM-1 has been released - still not suitable for building EDuke.
#68 Posted 23 August 2009 - 08:43 AM
I haven't tested it yet, because I don't have the needed free time.
#69 Posted 23 August 2009 - 12:26 PM
LeoD, on Aug 23 2009, 06:42 AM, said:
GCC 4.4.1 TDM-1 has been released - still not suitable for building EDuke.
What breaks?
#70 Posted 23 August 2009 - 01:05 PM
See my post from 2009-07-15 on top of this page.
Start E1L1, go to the nearest security monitor, use it and step back - crash.
Replacing eobj_win/engine.o with a 4.3.3 compiled version fixes that.
Hey, it's Sunday!
Start E1L1, go to the nearest security monitor, use it and step back - crash.
Replacing eobj_win/engine.o with a 4.3.3 compiled version fixes that.
supergoofy, on Aug 23 2009, 06:43 PM, said:
I haven't tested it yet, because I don't have the needed free time.
Hey, it's Sunday!
#71 Posted 25 August 2009 - 03:55 PM
LeoD, on Aug 23 2009, 05:05 PM, said:
See my post from 2009-07-15 on top of this page.
Start E1L1, go to the nearest security monitor, use it and step back - crash.
Replacing eobj_win/engine.o with a 4.3.3 compiled version fixes that.
Hey, it's Sunday!
Start E1L1, go to the nearest security monitor, use it and step back - crash.
Replacing eobj_win/engine.o with a 4.3.3 compiled version fixes that.
Hey, it's Sunday!
My copy crashes on security monitors too--and I thought I had compiled with 4.3.3, but maybe I didn't.
You can use the monitor just fine--it's just that when you are done, instead of returning to DukeLand, it goes
to Cygwin Prompt land or wherever.
#72 Posted 25 August 2009 - 04:04 PM
Interesting. 4.4.x is definitely miscompiling something on win32 with optimizations enabled... a good place to start looking for culprits would be the code in engine.c used for drawing a frame to a tile with the software renderer.
#74 Posted 28 August 2009 - 06:50 PM
Committed some stuff today. Nothing major... mostly just minor feature requests and bug fixes that happened over the past couple weeks when I was without a proper monitor on my development box. I was able to get a broken Dell 2001FP off eBay for $30 (plus $17 shipping) however that while it ended up having a defective panel, I was able to MacGyver a fix for the problem out of paper scraps and pencil erasers (literally). So, while I don't expect this fix to hold for any extended length of time it does let my gamble on hardware in unknown condition pay off for a while until I can afford a monitor that won't flip out in a week or so.
#75 Posted 28 August 2009 - 07:16 PM
IIRC there was at least one bug fix that I consider major, so thanks for posting it!
#76 Posted 31 August 2009 - 11:11 AM
Generaly I can build the source fine, but as of late ive been getting these in the log.
Are these normal or is something out of date?
include/polymer.h:319: warning: 'polymer_editorselect' declared 'static' but never defined Built object ../eobj_win/polymer.o Built object ../eobj_win/mmulti_unstable.o Built object ../eobj_win/winlayer.o Changing dir to /c/eduke Changing dir to /c/eduke/source/jaudiolib Built object obj_win/drivers.o src/fx_man.c: In function 'FX_StartRecording': src/fx_man.c:941: warning: unused parameter 'MixRate' src/fx_man.c:942: warning: unused parameter 'function' Built object obj_win/fx_man.o src/multivoc.c: In function 'RestoreInterrupts': src/multivoc.c:172: warning: unused parameter 'a' src/multivoc.c:281:5: warning: multi-line comment src/multivoc.c: In function 'MV_StartRecording': src/multivoc.c:2011: warning: unused parameter 'MixRate' src/multivoc.c:2012: warning: unused parameter 'function' src/multivoc.c: In function 'MV_PlayLoopedWAV': src/multivoc.c:2284: warning: unused parameter 'ptrlength' src/multivoc.c:2286: warning: unused parameter 'loopend' src/multivoc.c: In function 'MV_PlayLoopedVOC': src/multivoc.c:2499: warning: unused parameter 'ptrlength' Built object obj_win/multivoc.o Built object obj_win/mix.o Built object obj_win/mixst.o Built object obj_win/pitch.o src/vorbis.c: In function 'close_vorbis': src/vorbis.c:110: warning: unused parameter 'datasource' src/vorbis.c: In function 'MV_PlayLoopedVorbis': src/vorbis.c:318: warning: unused parameter 'loopend' src/vorbis.c: At top level: third-party/mingw32/include/vorbis/vorbisfile.h:75: warning: 'OV_CALLBACKS_DEFAULT' defined but not used third-party/mingw32/include/vorbis/vorbisfile.h:82: warning: 'OV_CALLBACKS_NOCLOSE' defined but not used third-party/mingw32/include/vorbis/vorbisfile.h:89: warning: 'OV_CALLBACKS_STREAMONLY' defined but not used third-party/mingw32/include/vorbis/vorbisfile.h:96: warning: 'OV_CALLBACKS_STREAMONLY_NOCLOSE' defined but not used Built object obj_win/vorbis.o src/driver_nosound.c: In function 'NoSoundDrv_ErrorString': src/driver_nosound.c:32: warning: unused parameter 'ErrorNumber' src/driver_nosound.c: In function 'NoSoundDrv_PCM_Init': src/driver_nosound.c:37: warning: unused parameter 'mixrate' src/driver_nosound.c:37: warning: unused parameter 'numchannels' src/driver_nosound.c:37: warning: unused parameter 'samplebits' src/driver_nosound.c:37: warning: unused parameter 'initdata' src/driver_nosound.c: In function 'NoSoundDrv_PCM_BeginPlayback': src/driver_nosound.c:46: warning: unused parameter 'BufferStart' src/driver_nosound.c:46: warning: unused parameter 'BufferSize' src/driver_nosound.c:47: warning: unused parameter 'NumDivisions' src/driver_nosound.c:47: warning: unused parameter 'CallBackFunc' Built object obj_win/driver_nosound.o src/driver_directsound.c: In function 'fillDataThread': src/driver_directsound.c:150: warning: unused parameter 'lpParameter' Built object obj_win/driver_directsound.o Changing dir to /c/eduke Linked executable eduke32.exe Built object obj_win/astub.o Built object obj_win/buildres.o Built object obj_win/sounds_mapster32.o Changing dir to /c/eduke/build Built object ../eobj_win/build.o Built object ../eobj_win/config.o Built object ../eobj_win/startwin.editor.o Changing dir to /c/eduke Linked executable mapster32.exe Build successful:
Are these normal or is something out of date?
This post has been edited by The Commander: 31 August 2009 - 11:11 AM
#77 Posted 31 August 2009 - 11:42 AM
defined parameters that are not used. no harm at all. if you want delete them or put them inside comments ( /* */ )
This post has been edited by supergoofy: 31 August 2009 - 11:47 AM
#78 Posted 31 August 2009 - 12:41 PM
Everything works fine apart from that popping noise when using the highest sound bitrate. Ive seen a few other people report this as well.
#79 Posted 15 January 2010 - 03:32 PM
Is everyone still using gcc 4.3.3 to compile eduke32's lastest svn?
#80 Posted 15 January 2010 - 06:54 PM
I am. 4.4.x still miscompiles part of the engine on Windows as far as I can tell, causing crashes when drawing the screen to a tile such as is done with savegames and security viewscreens.
#81 Posted 15 January 2010 - 10:17 PM
Did you take a look at what dungeonduke found out?
http://forums.duke4....?showtopic=1594
(My 4.4.1 exe still has problems, especially when loading maps or saved games.)
http://forums.duke4....?showtopic=1594
(My 4.4.1 exe still has problems, especially when loading maps or saved games.)
#82 Posted 21 January 2010 - 04:11 AM
Hello,
Since r1586, building failed on Linux / gcc 4.4.x :
Seem to be related with this version of gcc only, it works with 4.3 :
make CC=gcc-4.3
Since r1586, building failed on Linux / gcc 4.4.x :
src/engine.c: In function ‘equation’: src/engine.c:5893: internal compiler error: in tree_nrv, at tree-nrv.c:143 Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.4/README.Bugs> for instructions. Failed building ../eobj/engine.o from src/engine.c! make[1]: *** [../eobj/engine.o] Erreur 1 make: *** [enginelib] Erreur 2
Seem to be related with this version of gcc only, it works with 4.3 :
make CC=gcc-4.3
#83 Posted 21 January 2010 - 10:13 AM
Yes, I also found another section of code last night that gcc is unfortunately miscompiling. It's best to stick with 4.3 at the moment. It looks like gcc 4.4.3 came out today, so I guess we'll see if that improves anything as well.
#84 Posted 21 January 2010 - 01:57 PM
I confirm that I've got the very same error as bioman has. Well excluding the fact that it says "Error" instead of "Erreur" and the like
If it matters, I'm using Ubuntu 9.10 for x86_64. Errors with default gcc, now I see it compiles with CC=gcc-4.3 as bioman has told.
If it matters, I'm using Ubuntu 9.10 for x86_64. Errors with default gcc, now I see it compiles with CC=gcc-4.3 as bioman has told.
#85 Posted 24 January 2010 - 02:15 AM
It seems specific to 64-bit platforms it build fine on 32-bit.
#86 Posted 17 May 2010 - 04:47 PM
Compiling environment for EDuke32:
MinGW_gcc-4.4.1-tdm-2.rar
http://www.mediafire...php?zm2mbzdqwkm
MinGW_gcc-4.5.0-1.rar
http://www.mediafire...php?4wjlhmjmh34
MSYS-1.0.11.exe
http://www.mediafire...php?qydxuzkytii
msysCORE-1.0.14-1-update.rar
http://www.mediafire...php?l3m2xqj522y
Note: If you use gcc-4.5.0-1 then you should follow the tip:
Just find and remove the "-ftlo" parameter in Makefile and build/Makefile of EDuke32's source.
In other words edit both "Makefile" files (including the one inside "build" folder), then search and
change the line:
debug += -flto
to the line:
# debug += -flto
Note: The gcc-4.4.1-tdm-2 doesn't need this tip, it compiles fine without any change in Makefile.
NEWS: From what I see here: http://sourceforge.n.../tdm-gcc/files/
We will soon have TDM's GCC/MinGW32 Builds for GCC 4.4.4
MinGW_gcc-4.4.1-tdm-2.rar
http://www.mediafire...php?zm2mbzdqwkm
MinGW_gcc-4.5.0-1.rar
http://www.mediafire...php?4wjlhmjmh34
MSYS-1.0.11.exe
http://www.mediafire...php?qydxuzkytii
msysCORE-1.0.14-1-update.rar
http://www.mediafire...php?l3m2xqj522y
Note: If you use gcc-4.5.0-1 then you should follow the tip:
Just find and remove the "-ftlo" parameter in Makefile and build/Makefile of EDuke32's source.
In other words edit both "Makefile" files (including the one inside "build" folder), then search and
change the line:
debug += -flto
to the line:
# debug += -flto
Note: The gcc-4.4.1-tdm-2 doesn't need this tip, it compiles fine without any change in Makefile.
NEWS: From what I see here: http://sourceforge.n.../tdm-gcc/files/
We will soon have TDM's GCC/MinGW32 Builds for GCC 4.4.4
This post has been edited by supergoofy: 17 May 2010 - 06:48 PM
#87 Posted 17 May 2010 - 05:22 PM
No, 4.4.x doesn't need that change because it doesn't support LTO and therefore the makefile doesn't enable it.
#88 Posted 17 May 2010 - 06:47 PM
Thanks TX for the info. I haven't checked the log for gcc 4.4.x, I will correct my above post.
#89 Posted 06 August 2010 - 04:41 PM
I screwed up my compiling environment for EDuke32 so I tried to make another one from these links. It compiles successfully but strangely much too fast. When I go to run either eduke32.exe or mapster32.exe I get errors saying it can't find procedures from the libssd library.
So I followed the directions on the Wiki instead and that makes MSYS unusable because it keeps looking for a msys-intl-8.dll file when I try to enter any command at all.
So I followed the directions on the Wiki instead and that makes MSYS unusable because it keeps looking for a msys-intl-8.dll file when I try to enter any command at all.