View Issue Details

IDProjectCategoryView StatusLast Update
0002122Spring engineGeneralpublic2010-10-21 12:26
Reporterdfreeman Assigned Toabma  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionwon't fix 
Product Version0.82.5 
Summary0002122: Hangs while "Loading LuaUI"
DescriptionSometimes, 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.
TagsNo tags attached.
Attached Files
infolog.txt (Attachment missing)
infolog2.txt (Attachment missing)
Checked infolog.txt for Errors

Activities

abma

2010-09-21 03:50

administrator   ~0005602

can you please attach infolog.txt of such a game?

dfreeman

2010-09-22 07:44

reporter   ~0005617

Done. Upgraded to BA 7.19, same bug.

dfreeman

2010-09-22 07:47

reporter   ~0005618

Also confirmed the bug with BA 7.12.

abma

2010-09-22 21:23

administrator   ~0005622

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

2010-09-23 07:51

reporter   ~0005628

I tried again with these widgets disabled. Still failed. New infolog.txt attached.

abma

2010-09-30 21:37

administrator   ~0005681

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

2010-10-01 05:13

reporter   ~0005682

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

2010-10-14 21:59

administrator   ~0005741

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

2010-10-15 06:32

reporter   ~0005742

Bug confirmed with current spring, 0.82.6. Also using the latest ATI Catalyst 10.9 drivers (fglrx 8.771).

dfreeman

2010-10-15 06:53

reporter   ~0005743

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

2010-10-15 19:06

reporter   ~0005745

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

2010-10-21 10:59

reporter   ~0005769

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

2010-10-21 12:08

administrator   ~0005771

then... why isn't this widget in the attached infolog.txt's?

Kloot

2010-10-21 12:13

developer   ~0005772

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

2010-10-21 12:26

administrator   ~0005773

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.

Issue History

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