Package: gnash-tools
Version: 0.8.8-5
Severity: normal
Download any testcase from http://wiki.gnashdev.org/Testcases
e.g.
http://gnashdev.org/testcases/v8/System-v8.swf
run
$ gprocessor System-v8.swf
or with some options
$ gprocessor -d2 -r1 -f0 -v System-v8.swf
It will get stuck.
Attached -i386 and -amd64 gdb output.
=== ktrace (kfreebsd-i386)
83918 gprocessor RET read 36/0x24
83918 gprocessor CALL kill(0x147cd,SIG(null))
83918 gprocessor RET kill 0
83918 gprocessor CALL exit(0)
83917 gprocessor CALL sigprocmask(SIG_SETMASK,0,0xbfbfeb40)
83917 gprocessor RET sigprocmask 0
83917 gprocessor CALL sigsuspend(0xbfbfeb40)
83917 gprocessor PSIG SIG(null) caught handler=0x286b0a50 mask=0x8000
code=0x0
83917 gprocessor RET sigsuspend JUSTRETURN
83917 gprocessor CALL sigreturn(0xbfbfe820)
83917 gprocessor RET sigreturn JUSTRETURN
83917 gprocessor CALL wait4(0x147ce,0,invalid-2147483648,0)
83917 gprocessor RET wait4 83918/0x147ce
83917 gprocessor CALL exit(0)
83916 dash RET wait4 83917/0x147cd
83916 dash CALL read(0xa,0x805d9e0,0x2000)
83916 dash GIO fd 10 read 0 bytes
83916 dash RET read 0
83916 dash CALL exit(0)
=== ktrace (kfreebsd-amd64)
58330 gprocessor RET write 56/0x38
58330 gprocessor CALL sigprocmask(SIG_SETMASK,0,0x7fffea30)
58330 gprocessor RET sigprocmask 0
58330 gprocessor CALL sigsuspend(0x7fffea30)
(stuck)
r...@kfreebsd-amd64-01:~# gdb --args gprocessor System-v8.swf
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type show copying
and show warranty for details.
This GDB was configured as x86_64-kfreebsd-gnu.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /usr/bin/gprocessor...Reading symbols from
/usr/lib/debug/usr/bin/gprocessor...done.
(no debugging symbols found)...done.
(gdb) r
Starting program: /usr/bin/gprocessor System-v8.swf
Program received signal ?, Unknown signal.
0x0008016646f7 in __pthread_sigsuspend () from /lib/libpthread.so.0
(gdb) bt full
#0 0x0008016646f7 in __pthread_sigsuspend () from /lib/libpthread.so.0
No symbol table info available.
#1 0x000801663548 in __pthread_wait_for_restart_signal ()
from /lib/libpthread.so.0
No symbol table info available.
#2 0x0008016643c0 in pthread_create@@GLIBC_2.3 () from /lib/libpthread.so.0
No symbol table info available.
#3 0x0008030a0bb2 in boost::thread::start_thread() ()
from /usr/lib/libboost_thread.so.1.42.0
No symbol table info available.
#4 0x000800a89564 in threadboost::_bi::bind_tvoid, void
(*)(gnash::SWFMovieLoader, gnash::SWFMovieDefinition*),
boost::_bi::list2boost::reference_wrappergnash::SWFMovieLoader,
boost::_bi::valuegnash::SWFMovieDefinition*(this=0x750310)
at /usr/include/boost/thread/detail/thread.hpp:191
No locals.
#5 gnash::SWFMovieLoader::start (this=0x750310)
at ../../../libcore/parser/SWFMovieDefinition.cpp:138
lock = {m = 0x750318, is_locked = true}
#6 0x000800a8a619 in gnash::SWFMovieDefinition::completeLoad
(this=0x75)
at ../../../libcore/parser/SWFMovieDefinition.cpp:370
__PRETTY_FUNCTION__ = virtual bool
gnash::SWFMovieDefinition::completeLoad()
#7 0x0040b52d in play_movie (filename=..., runResources=...)
at ../../utilities/processor.cpp:457
fps = 12
clockAdvance = 83
---Type return to continue, or q return to quit---
localDelay = 0
m = {boost::noncopyable_::noncopyable = {No data fields},
_runResources = @0x7fffe920, _originalURL = {
static npos = 18446744073709551615,
_M_dataplus = {std::allocatorchar =
{__gnu_cxx::new_allocatorchar = {No data fields}, No data fields},
_M_p = 0x727198 file:///root/System-v8.swf}}, _vm = @0x750400,
_interfaceHandler = 0x61cbd8, _fsCommandHandler = 0x61cbe0,
_liveChars = {std::_List_basegnash::MovieClip*,
std::allocatorgnash::MovieClip* = {
_M_impl = {std::allocatorstd::_List_nodegnash::MovieClip*
= {__gnu_cxx::new_allocatorstd::_List_nodegnash::MovieClip* = {No data
fields}, No data fields}, _M_node = {_M_next = 0x7fffd958,
_M_prev = 0x7fffd958}}}, No data fields}, _actionQueue
= {
{std::_Deque_basegnash::ExecutableCode*,
std::allocatorgnash::ExecutableCode* = {
_M_impl = {std::allocatorgnash::ExecutableCode* =
{__gnu_cxx::new_allocatorgnash::ExecutableCode* = {No data fields}, No
data fields},
_M_map = 0x7271c0, _M_map_size = 8, _M_start = {_M_cur =
0x79c200,
_M_first = 0x79c200, _M_last = 0x79c400, _M_node =
0x7271d8},
_M_finish = {_M_cur =