View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0002122 | Spring engine | General | public | 2010-09-16 11:20 | 2010-10-21 12:26 | ||||
Reporter | dfreeman | ||||||||
Assigned To | abma | ||||||||
Priority | normal | Severity | crash | Reproducibility | always | ||||
Status | resolved | Resolution | won't fix | ||||||
Product Version | 0.82.5 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0002122: Hangs while "Loading LuaUI" | ||||||||
Description | Sometimes, the game will hang at the point of "Loading LuaUI" on the loading screen. It has to be kill -9'd from a console. Steps to reproduce: Linux, Spring 0.82.5.1, BA 7.18. Map: Porn_Star. Single player game with some bots. I don't know what's going on, but I've only seen this on this map, and on this map it happens every time. | ||||||||
Tags | No tags attached. | ||||||||
Checked infolog.txt for Errors | |||||||||
Attached Files |
|
![]() |
|
abma (administrator) 2010-09-21 03:50 |
can you please attach infolog.txt of such a game? |
dfreeman (reporter) 2010-09-22 07:44 |
Done. Upgraded to BA 7.19, same bug. |
dfreeman (reporter) 2010-09-22 07:47 |
Also confirmed the bug with BA 7.12. |
abma (administrator) 2010-09-22 21:23 |
did you try to disable the user-installed widgets: (just an idea...) [ 0] Loaded widget from user: Stockpiler <unit_stockpile.lua> [ 0] Loaded widget from user: Z Selector <unit_z_selector.lua> [ 0] Loaded widget from user: DCIcon <dbg_dcicon.lua> [ 0] Loaded widget from user: ImmobileBuilder <unit_immobile_buider.lua> [ 0] Loaded widget from user: Point Tracker <gui_point_tracker.lua> this map works fine for me... |
dfreeman (reporter) 2010-09-23 07:51 |
I tried again with these widgets disabled. Still failed. New infolog.txt attached. |
abma (administrator) 2010-09-30 21:37 |
which driver-version do you have? dmesg |grep fglrx should output it. did you try a different version? i've an radeon hd4200 + fglrx 8.72.11 [Apr 8 2010] (ubuntu lucid default fglrx package) and it works well with low settings... i've a strange bug too: if i run in windowed mode, and resize the window, spring crashes and even a kill -9 spring doesn't end the process... but this is an ati-driver issue! |
dfreeman (reporter) 2010-10-01 05:13 |
Mobility Radeon HD 3400 with fglrx 8.76.7 (Dell Studio 15 with Core 2 Duo + ATI non-shared-mem) Yeah, there should be no way for a process to be unkillable except for an unstable kernel / driver. But I find it surprising that I have to use kill -9 all the time, it may indicate that Spring is now exposing existing bugs in the ATI drivers. |
abma (administrator) 2010-10-14 21:59 |
can you please retry with current spring? (0.82.6) the resize-bug seems to be gone (but it was an kernel-update from ubuntu i think...) did you try to start with gdb and than do an backtrace? that may help to find, where it hangs... |
dfreeman (reporter) 2010-10-15 06:32 |
Bug confirmed with current spring, 0.82.6. Also using the latest ATI Catalyst 10.9 drivers (fglrx 8.771). |
dfreeman (reporter) 2010-10-15 06:53 |
Last line of output: Loaded widget from mod: Transporting <gui_transporting.lua> Results from attaching gdb to the process after it froze: #0 streflop_libm::__ieee754_powf (x=-5115.43604, y=26167686) at /opt/spring_0.82.6/rts/lib/streflop/libm/flt-32/e_powf.cpp:259 z = 26167686 ax = -5115.43604 z_h = 6 z_l = -5115.43604 p_h = 0.5 y1 = 6 t1 = 0.5 t2 = -5115.43604 r = 1 s = -1 t = -5115.43604 u = 6 v = -5115.43604 j = 0 k = 0 yisint = 2 n = 11232780 hy = 1073741824 ix = 1168104317 iy = 1073741824 #1 0x0000000006e9f120 in ?? () #2 0xc59fdb7d07912470 in ?? () 0000003 0x0000000000000002 in ?? () 0000004 0x0000000000a23ee6 in luaD_precall (L=0x40000000, func=0x40000000, nresults=-979379331) at /opt/spring_0.82.6/rts/lib/lua/src/ldo.cpp:324 ci = 0x0 n = 11232780 funcr = 1168104317 0000005 0x0000000006e9f120 in ?? () #6 0x0000000007912480 in ?? () #7 0x0000000006e9f120 in ?? () #8 0x0000000000a3114e in luaV_gettable (L=0x40000000, t=0x40000000, key=0x459fdb7d, val=0xc59fdb7d) at /opt/spring_0.82.6/rts/lib/lua/src/lvm.cpp:136 tm = 0x0 loop = 2 #9 0x0000000000000203 in ?? () 0000010 0x0000000029cc8f50 in ?? () #11 0x0000000007a5c98c in ?? () 0000012 0x0000000006e9f120 in ?? () 0000013 0x0000000006e9f120 in ?? () 0000014 0x0000000007a5c97c in ?? () #15 0x00000000079124c0 in ?? () #16 0x000000000017030b in ?? () #17 0x0000000000001703 in ?? () #18 0x0000000000a33049 in luaV_execute (L=0x40000000, nexeccalls=0) at /opt/spring_0.82.6/rts/lib/lua/../streflop/SMath.h:226 i = 2 ra = 0xc59fdb7d base = 0x7912410 k = 0x4646464646464646 pc = 0x7a5c978 k = 0x4646464646464646 k = 0x4646464646464646 k = 0x4646464646464646 #19 0x4646464646464646 in ?? () 0000020 0x0000000007912410 in ?? () #21 0x4646464646464646 in ?? () #22 0x4646464646464646 in ?? () #23 0x0000000000000003 in ?? () 0000024 0x4646464646464646 in ?? () #25 0x0000000007a5d8f0 in ?? () 0000026 0x0000000007a674f0 in ?? () 0000027 0x0000000346464646 in ?? () #28 0x0000000007912300 in ?? () 0000029 0x00007fff6da98170 in ?? () #30 0x00007fff6da98180 in ?? () #31 0x0000000007a047f4 in ?? () #32 0x00000000079123d0 in ?? () #33 0x00000000079fc170 in ?? () 0000034 0x4646464600000005 in ?? () 0000035 0x0000000007a5bb70 in ?? () #36 0x4646464600000005 in ?? () #37 0x4646464646464646 in ?? () #38 0x0000000006e9f120 in ?? () 0000039 0x0000000007912340 in ?? () #40 0x0000000000000001 in ?? () #41 0x0000000000000048 in ?? () 0000042 0x0000000000001960 in ?? () 0000043 0x0000000007c526e8 in ?? () 0000044 0x0000000000a2424d in luaD_call (L=0x40000000, func=0x40000000, nResults=1073741824) at /opt/spring_0.82.6/rts/lib/lua/src/ldo.cpp:377 0000045 0x4646464646464646 in ?? () 0000046 0x4646464646464646 in ?? () 0000047 0x0000000006e9f120 in ?? () 0000048 0x0000000000000000 in ?? () |
zerver (reporter) 2010-10-15 19:06 |
That stack trace is pretty useless, but it looks like some of your LUA code hung. If you disable all widgets, and set LuaShaders=0, does it still hang? |
dfreeman (reporter) 2010-10-21 10:59 |
What can I do to improve the stack trace under these conditions? (i.e. attach to frozen process from virtual console) I don't have LuaShaders=1 normally. I narrowed it down to these two LUA widgets: => Area Mex => Area Mex no button v2 If these are turned off, no problem loading this map. If they are on, freezes at "Loading LuaUI". If they are started ingame on this map, spring freezes. On other maps, no problem. (Although there is a noticeable delay of a second or so, but keep in mind the system was heavily loaded at the time.) Having noticed that this map has metal everywhere, I tried on the SpeedMetal maps.. same issue. So you can rename the issue to something like "Hangs while starting Area Mex on metal-rich maps". Although it's a particular LUA Widget, I'm concerned that spring shouldn't lock up solid like this. I would hope it would fail to start the widget and set it to yellow in the list. |
abma (administrator) 2010-10-21 12:08 |
then... why isn't this widget in the attached infolog.txt's? |
Kloot (developer) 2010-10-21 12:13 Last edited: 2010-10-21 12:15 |
And how should Spring become aware in advance that the code of widget X is going to loop forever on map Y? (Read up on the "halting problem" if you want to know why this is impossible.) The engine doesn't even have a clue that there are such things as individual widgets executing on top of it. The AreaMex bug has been reported many times before, but it's not ours to fix. abma: because the lockup occurs before it has finished loading and the "loaded" text is printed afterwards. |
abma (administrator) 2010-10-21 12:26 |
widget name is now printed before loading: http://github.com/spring/spring/commit/b2671a89e4c5ee6a30a991d9690b89d4f5d37e1f as this is a widget issue, this won't be fixed in the engine. |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2010-09-16 11:20 | dfreeman | New Issue | |
2010-09-21 03:50 | abma | Note Added: 0005602 | |
2010-09-21 03:50 | abma | Status | new => feedback |
2010-09-22 07:43 | dfreeman | File Added: infolog.txt | |
2010-09-22 07:44 | dfreeman | Note Added: 0005617 | |
2010-09-22 07:47 | dfreeman | Note Added: 0005618 | |
2010-09-22 21:23 | abma | Note Added: 0005622 | |
2010-09-23 07:51 | dfreeman | Note Added: 0005628 | |
2010-09-23 07:52 | dfreeman | File Added: infolog2.txt | |
2010-09-30 21:37 | abma | Note Added: 0005681 | |
2010-10-01 05:13 | dfreeman | Note Added: 0005682 | |
2010-10-14 21:59 | abma | Note Added: 0005741 | |
2010-10-15 06:32 | dfreeman | Note Added: 0005742 | |
2010-10-15 06:53 | dfreeman | Note Added: 0005743 | |
2010-10-15 19:06 | zerver | Note Added: 0005745 | |
2010-10-21 10:59 | dfreeman | Note Added: 0005769 | |
2010-10-21 12:08 | abma | Note Added: 0005771 | |
2010-10-21 12:13 | Kloot | Note Added: 0005772 | |
2010-10-21 12:15 | Kloot | Note Edited: 0005772 | |
2010-10-21 12:26 | abma | Note Added: 0005773 | |
2010-10-21 12:26 | abma | Status | feedback => resolved |
2010-10-21 12:26 | abma | Resolution | open => won't fix |
2010-10-21 12:26 | abma | Assigned To | => abma |