View Issue Details

IDProjectCategoryView StatusLast Update
0005665Spring engineGeneralpublic2017-08-19 14:34
ReporterJools Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionreopened 
Product Version103.0 +git 
Summary0005665: Crash while loading: rts/Rendering/Models/3DModel.cpp:76
Descriptionhttps://github.com/spring/spring/tree/103.0.1-1225-g87b33dd

??:0
??:0
??:0
??:0
rts/Rendering/Models/3DModel.cpp:76
rts/Rendering/Models/IModelParser.cpp:313
rts/Rendering/Models/IModelParser.cpp:261
rts/Rendering/Models/IModelParser.cpp:227
rts/Sim/Objects/SolidObjectDef.cpp:81
rts/Lua/LuaSyncedRead.cpp:3739
rts/lib/lua/src/ldo.cpp:321
rts/lib/lua/src/lvm.cpp:112
rts/lib/lua/src/lvm.cpp:613
/opt/mxe/tmp-gcc/gcc-4.8.1.build/i686-w64-mingw32/libgcc/./gthr-default.h:628
rts/lib/lua/src/ldo.cpp:378
/opt/mxe/tmp-gcc/gcc-4.8.1.build/i686-w64-mingw32/libgcc/./gthr-default.h:628
rts/lib/lua/src/lapi.cpp:813
rts/lib/lua/src/ldo.cpp:119
/opt/mxe/tmp-gcc/gcc-4.8.1/libstdc++-v3/src/c++11/chrono.cc:76
rts/lib/lua/src/ldo.cpp:465
rts/System/Misc/SpringTime.h:35
rts/lib/lua/src/lbaselib.cpp:378
rts/lib/lua/src/ldo.cpp:321
rts/lib/lua/src/lvm.cpp:613
/opt/mxe/tmp-gcc/gcc-4.8.1.build/i686-w64-mingw32/libgcc/./gthr-default.h:628
??:0
??:0
rts/lib/mingw-std-threads/mingw.thread.h:157
/opt/mxe/usr/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/functional:2073
/opt/mxe/usr/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/functional:2029
??:0
??:0
??:0
??:0
Additional Informationhttp://paste.springfiles.com/view/badb2a71
TagsNo tags attached.
Checked infolog.txt for Errors

Activities

Jools

2017-07-21 21:56

reporter   ~0018089

It's related to using two monitors somehow: it doesn't crash when I just use one screen

Kloot

2017-07-21 22:11

developer   ~0018090

it's an ATI driver bug, out of our control. see also 0005643 0005586 0005527 0005484.

Jools

2017-07-21 22:13

reporter   ~0018091

I have Nvidia, how can it be related to ATI driver?

Kloot

2017-07-21 22:50

developer   ~0018092

Last edited: 2017-07-21 22:54

All other instances of this crash were from ATI users, you're the first to break that pattern. This is why infologs exist.

I don't have two displays to verify what's going on here but I doubt it can be fixed engine-side.

Jools

2017-07-21 22:58

reporter   ~0018093

http://paste.springfiles.com/view/f44def2f

Here's one. Seems to be quite reproducible with the two monitor setting, but I think it worked once even with two monitors enabled.

Kloot

2017-07-21 23:16

developer   ~0018094

Last edited: 2017-07-21 23:16

Does it reproduce if you add Fullscreen=0 to springsettings?

Also, with fullscreen enabled, add DebugGL=1 and DebugGLStacktraces=1 to find out if the driver has anything to say before it crashes.

Jools

2017-07-21 23:49

reporter   ~0018095

Can't reproduce it anymore: it started working also with two screens.

(With DebugGL=1 the game freezes on start in a black screen, waited for some minutes before i killed the process.)

It could be something else or it could be related with when the user enters two screen (extend desktop) mode, in windows I frequently change modes with the win+P keystroke.

Kloot

2017-07-22 00:46

developer   ~0018096

hmm, non-determinism in system behavior doesn't sound promising.

if you can definitively link these crashes to an action in Windows (and they haven't been eliminated in later driver versions; 347.5 is a few years old) you might want to report this to nvidia too.

Jools

2017-07-22 12:17

reporter   ~0018106

Just reopening to add some comments, feel free to close...

It's not that the system isn't deterministic, it's just that there are so many ways that the user can toggle screen modes. For instance:
- starting the game in dual screen mode but using single screen mode conf file
- going to dual screen mode while game is loading
- using dual screen mode but focus on the other screen
- etc

Also, it could be that once something is correctly cached it will no longer crash even if the same conditions persist.

I don't believe in non-deterministic computers

Jools

2017-07-22 12:18

reporter   ~0018107

I deliberately downgraded the nvidia driver because the most recent one became unstable on my windows 7 system.

Kloot

2017-07-22 13:34

developer   ~0018108

Last edited: 2017-07-22 13:35

Modern systems (hardware and software) are so complicated that from the perspective of a program their operation might as well be non-deterministic; the internal state has grown far too large and opaque to even try reasoning about. Do enough development and you slowly learn to accept this.

I still have no clue what the theoretical connection between this crash (in either a glNewList or glGenLists call) and extended desktop mode should even be.

Issue History

Date Modified Username Field Change
2017-07-21 21:52 Jools New Issue
2017-07-21 21:56 Jools Note Added: 0018089
2017-07-21 22:11 Kloot Note Added: 0018090
2017-07-21 22:13 Jools Note Added: 0018091
2017-07-21 22:50 Kloot Note Added: 0018092
2017-07-21 22:54 Kloot Note Edited: 0018092
2017-07-21 22:58 Jools Note Added: 0018093
2017-07-21 23:16 Kloot Note Added: 0018094
2017-07-21 23:17 Kloot Note Edited: 0018094
2017-07-21 23:49 Jools Note Added: 0018095
2017-07-22 00:46 Kloot Status new => closed
2017-07-22 00:46 Kloot Resolution open => unable to reproduce
2017-07-22 00:46 Kloot Note Added: 0018096
2017-07-22 12:17 Jools Status closed => feedback
2017-07-22 12:17 Jools Resolution unable to reproduce => reopened
2017-07-22 12:17 Jools Note Added: 0018106
2017-07-22 12:18 Jools Note Added: 0018107
2017-07-22 12:18 Jools Status feedback => new
2017-07-22 13:34 Kloot Note Added: 0018108
2017-07-22 13:35 Kloot Note Edited: 0018108
2017-08-19 14:34 Kloot Status new => closed