View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000748 | Spring engine | General | public | 2007-12-30 22:51 | 2007-12-30 23:06 |
| Reporter | tvo | Assigned To | Auswaschbar | ||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Summary | 0000748: singlestep immediately crashes the game | ||||
| Description | When pressing the o key with default keybinding setup, the game crashes to desktop immediately. By default, o is bound to 'singlestep'. The game wasn't paused. Singlestep should probably be ignored altogether in this case. | ||||
| Additional Information | (0) _Deque_iterator /usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/include/c++/bits/stl_deque.h:132 (1) ?? /var/lib/buildbot/spring_slave/mingw32-4.2/build/rts/Game/GameServer.cpp:803 (2) ?? /var/lib/buildbot/spring_slave/mingw32-4.2/build/rts/Game/Game.cpp:1129 (3) ?? /var/lib/buildbot/spring_slave/mingw32-4.2/build/rts/Game/Game.cpp:792 (4) ?? /var/lib/buildbot/spring_slave/mingw32-4.2/build/rts/System/Main.cpp:1001 (5) Run(int, char**) /var/lib/buildbot/spring_slave/mingw32-4.2/build/rts/System/Main.cpp:1115 (6) WinMain@16 /var/lib/buildbot/spring_slave/mingw32-4.2/build/rts/System/Main.cpp:1178 [22:43:15] <kleaut> else if (cmd == "singlestep") { [22:43:16] <kleaut> gameServer->CreateNewFrame(false); [22:43:16] <kleaut> } | ||||
| Tags | No tags attached. | ||||
| Checked infolog.txt for Errors | |||||
|
|
This happens only for clients, not the host itself. Probably the issue is just that there is no check for gameServer != NULL. |
|
|
Should it print a warning ala "Singlestep can only be used when the game is paused" or just silently ignore? |
|
|
Additionally, kleaut checked CreateNewFrame: it does not acquire a mutex, so race conditions are probably possible for the host. |
|
|
> Should it print a warning ala "Singlestep can only be used when the game is paused" or just silently ignore? Silently ignore IMHO. |
|
|
"Additionally, kleaut checked CreateNewFrame: it does not acquire a mutex, so race conditions are probably possible for the host." Didn't look closely enough, it does actually (but not right at the top). |
|
|
Singlestep will get ignored when: - not host or - not paused And there was a mutex_lock in CreateNewFrame, but it locked too late. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2007-12-30 22:51 | tvo | New Issue | |
| 2007-12-30 22:52 | tvo | Severity | minor => crash |
| 2007-12-30 22:54 | tvo | Note Added: 0001588 | |
| 2007-12-30 22:57 | Auswaschbar | Note Added: 0001589 | |
| 2007-12-30 22:58 | tvo | Note Added: 0001590 | |
| 2007-12-30 22:59 | tvo | Note Added: 0001591 | |
| 2007-12-30 23:03 | Kloot | Note Added: 0001592 | |
| 2007-12-30 23:06 | Auswaschbar | Status | new => resolved |
| 2007-12-30 23:06 | Auswaschbar | Resolution | open => fixed |
| 2007-12-30 23:06 | Auswaschbar | Assigned To | => Auswaschbar |
| 2007-12-30 23:06 | Auswaschbar | Note Added: 0001593 |