Issue643

Title warning stepping over map label
Priority bug Status resolved
Assigned To Keywords
Linked issues Watchers

Submitted on 2013-02-09 07h57 by tomreyn, last changed by matthiaskrgr.

Messages
Author: tomreyn Date: 2013-02-09   07h57
After talking to the woman in the secret underground laboratory, the game would
just freeze for me. That's when I recorded the below stacktrace (by attaching to
the running process). After killing the game, I could see the virtual terminal
an messages in it;

FreedroidRPG 0.15+git encountered a problem in function:  run_lua 
Error running Lua code: attempt to yield from outside a coroutine.
Erroneous LuaCode={
2 	if (done_quest("SADD's power supply")) and
3 	   (not SADD_trick) then
4 		SADD_trick = true
5 		change_obstacle_state("SADDGun1", "enabled")
6 		change_obstacle_state("SADDGun2", "enabled")
7 		change_obstacle_state("BreakableWall2", "broken")
8 		start_chat("SADD")
9 	end
}



[New LWP 18220]
[New LWP 18218]
[New LWP 18217]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
__lll_lock_wait_private () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:93
93	../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: No such file or directory.
#0  __lll_lock_wait_private () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:93
#1  0x00007fd650aa2231 in _L_lock_10656 () at malloc.c:5220
#2  0x00007fd650a9ffb7 in __GI___libc_malloc (bytes=140558456411968) at
malloc.c:2921
#3  0x00007fd6522bb910 in _dl_map_object_deps (map=0x3e7b820,
preloads=<optimized out>, npreloads=<optimized out>, trace_mode=0,
open_mode=-2147483648) at dl-deps.c:517
#4  0x00007fd6522c18b9 in dl_open_worker (a=0x7fff812763f0) at dl-open.c:262
#5  0x00007fd6522bd186 in _dl_catch_error (objname=0x7fff81276438,
errstring=0x7fff81276440, mallocedp=0x7fff8127644f, operate=0x7fd6522c1710
<dl_open_worker>, args=0x7fff812763f0) at dl-error.c:178
#6  0x00007fd6522c132a in _dl_open (file=0x7fd650b962b8 "libgcc_s.so.1",
mode=-2147483647, caller_dlopen=0x7fd650b27925 <init+21>, nsid=-2, argc=1,
argv=<optimized out>, env=0x3e4f8c0) at dl-open.c:639
#7  0x00007fd650b4d632 in do_dlopen (ptr=0x7fff812765f0) at dl-libc.c:89
#8  0x00007fd6522bd186 in _dl_catch_error (objname=0x7fff81276620,
errstring=0x7fff81276610, mallocedp=0x7fff8127662f, operate=0x7fd650b4d5f0
<do_dlopen>, args=0x7fff812765f0) at dl-error.c:178
#9  0x00007fd650b4d6f4 in dlerror_run (args=0x7fff812765f0,
operate=0x7fd650b4d5f0 <do_dlopen>) at dl-libc.c:48
#10 __GI___libc_dlopen_mode (name=<optimized out>, mode=<optimized out>) at
dl-libc.c:165
#11 0x00007fd650b27925 in init () at ../sysdeps/x86_64/../ia64/backtrace.c:53
#12 0x00007fd650de9400 in pthread_once () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:104
#13 0x00007fd650b27a44 in __GI___backtrace (array=<optimized out>, size=64) at
../sysdeps/x86_64/../ia64/backtrace.c:104
#14 0x00007fd650a913af in __libc_message (do_abort=2, fmt=0x7fd650b9b028 "***
glibc detected *** %s: %s: 0x%s ***\n") at
../sysdeps/unix/sysv/linux/libc_fatal.c:180
#15 0x00007fd650a9bb96 in malloc_printerr (action=3, str=0x7fd650b97916
"corrupted double-linked list", ptr=<optimized out>) at malloc.c:5018
#16 0x00007fd650a9e650 in _int_malloc (av=0x7fd650dd5740 <main_arena>,
bytes=1024) at malloc.c:3806
#17 0x00007fd650a9ffc5 in __GI___libc_malloc (bytes=bytes@entry=1024) at
malloc.c:2924
#18 0x00000000004189ba in RunSubMenu (startup=startup@entry=0,
menu_id=menu_id@entry=1) at menu.c:727
#19 0x0000000000419c8e in RunMenu (is_startup=0) at menu.c:764
#20 EscapeMenu () at menu.c:775
#21 0x000000000044c988 in input_key (keynum=keynum@entry=40, value=1) at
keyboard.c:678
#22 0x000000000044c9e7 in input_key_event (mod=KMOD_NONE, key=SDLK_ESCAPE,
value=<optimized out>) at keyboard.c:812
#23 input_key_press (event=event@entry=0x7fff812778e0) at keyboard.c:820
#24 0x000000000044ab08 in input_handle () at input.c:119
#25 0x000000000044d3e9 in Game () at main.c:89
#26 0x000000000041642a in main (argc=1, argv=<optimized out>) at main.c:182
Author: matthiaskrgr Date: 2013-02-09   11h02
Ok, I got to reproduce the issue.
It's caused by the map label SADD-NoExit.
However the game did not freeze here and I was able to continue playing.
Author: matthiaskrgr Date: 2013-02-09   15h12
For the record,  pre-lua 5.2 label output:


Hello, this is FreedroidRPG, version 0.15-422-g7b030e2.
Video system type: x11.
Using screen resolution 1024 x 768.

---------------------------------------------------------------------------------
FreedroidRPG 0.15+git encountered a problem in function:  run_lua 
Error running Lua code: attempt to yield across metamethod/C-call boundary.
Erroneous LuaCode={
2 	if (done_quest("SADD's power supply")) and
3 	   (not SADD_trick) then
4 		SADD_trick = true
5 		change_obstacle_state("SADDGun1", "enabled")
6 		change_obstacle_state("SADDGun2", "enabled")
7 		change_obstacle_state("BreakableWall2", "broken")
8 		start_chat("SADD")
9 	end
}

If you encounter this message, please inform the FreedroidRPG developers about it
You can 

  send an e-mail to                    freedroid-discussion AT lists.sourceforge.net
  mention it on our IRC channel        #freedroid on irc.freenode.net
  post on our forum at                 https://sourceforge.net/apps/phpbb/freedroid
  or report the bug on our tracker at  http://bugs.freedroid.org/

Thank you!

The problem mentioned above is not fatal, we continue the execution.
Author: tomreyn Date: 2013-02-09   15h59
For the record, I'm using Ubuntu 12.10 with liblua 5.1.5-4
Author: matthiaskrgr Date: 2013-02-22   22h54
This might be fixed now, please reopen if not.
History
Date User Action Args
2013-02-22 22:54:54matthiaskrgrsetstatus: open -> resolved
messages: + msg2445
2013-02-09 15:59:34tomreynsetmessages: + msg2438
2013-02-09 15:42:42matthiaskrgrlinkissue647 linked
2013-02-09 15:34:51matthiaskrgrsettitle: Freeze with SADD -> warning stepping over map label
2013-02-09 15:12:07matthiaskrgrsetmessages: + msg2433
2013-02-09 11:02:31matthiaskrgrsetmessages: + msg2429
2013-02-09 07:57:33tomreyncreate