On Fri, Nov 16, 2007 at 07:43:54AM +0000, Zou Lunkai wrote: > CVSROOT: /sources/gnash > Module name: gnash > Changes by: Zou Lunkai <zoulunkai> 07/11/16 07:43:54 > > Modified files: > . : ChangeLog > server : as_object.cpp as_object.h > button_character_instance.cpp character.h > edit_text_character.cpp movie_root.cpp > movie_root.h sprite_instance.cpp > server/asobj : Key.cpp Key.h > testsuite/misc-ming.all: key_event_test.c > key_event_testrunner.cpp > > Log message: > * server/as_object.{h,cpp}, server/asobj/Key.{h,cpp}, > server/character.h, > server/button_character_instance.cpp, > server/edit_text_character.cpp, > server/movie_root.{h,cpp}, > server/sprite_instance.cpp: drop new key listeners design and fix the > old design with caring about listeners invoking order. > * testsuite/key_event_test.c, key_event_testrunner.cpp: xcheck->check. > > CVSWeb URLs: > http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4874&r2=1.4875 > http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.cpp?cvsroot=gnash&r1=1.79&r2=1.80 > http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.h?cvsroot=gnash&r1=1.82&r2=1.83 > http://cvs.savannah.gnu.org/viewcvs/gnash/server/button_character_instance.cpp?cvsroot=gnash&r1=1.64&r2=1.65 > http://cvs.savannah.gnu.org/viewcvs/gnash/server/character.h?cvsroot=gnash&r1=1.108&r2=1.109 > http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.cpp?cvsroot=gnash&r1=1.130&r2=1.131 > http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.122&r2=1.123 > http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.h?cvsroot=gnash&r1=1.87&r2=1.88 > http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.387&r2=1.388 > http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Key.cpp?cvsroot=gnash&r1=1.43&r2=1.44 > http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Key.h?cvsroot=gnash&r1=1.29&r2=1.30 > http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-ming.all/key_event_test.c?cvsroot=gnash&r1=1.6&r2=1.7 > http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-ming.all/key_event_testrunner.cpp?cvsroot=gnash&r1=1.14&r2=1.15
I belive since this commit I get this result runnign key_event_testrunner with a debugging-build of Gnash cvs: 17163] 13:17:05: TRACE: PASSED: _root.test4 == 1 [/home/strk/src/gnash/gnash-head/testsuite/misc-ming.all/key_event_test.c:231] /usr/include/c++/4.1.3/debug/safe_iterator.h:210:error: attempt to increment a singular iterator. Objects involved in the operation: iterator "this" @ 0x0xbf9803d8 { type = N11__gnu_debug14_Safe_iteratorIN10__gnu_norm14_List_iteratorIN5boost13intrusive_ptrIN5gnash9as_objectEEEEEN15__gnu_debug_def4listIS7_SaIS7_EEEEE (mutable iterator); state = singular; references sequence with type `N15__gnu_debug_def4listIN5boost13intrusive_ptrIN5gnash9as_objectEEESaIS5_EEE' @ 0x0xbf9803d8 } Aborted (core dumped) (gdb) bt #0 0xffffe410 in __kernel_vsyscall () #1 0xb7791875 in raise () from /lib/tls/i686/cmov/libc.so.6 #2 0xb7793201 in abort () from /lib/tls/i686/cmov/libc.so.6 #3 0xb792f9e6 in __gnu_debug::_Error_formatter::_M_error () from /usr/lib/libstdc++.so.6 #4 0xb7d8546e in gnash::key_as_object::notify_listeners (this=0x8177588, key_event={m_id = gnash::event_id::KEY_DOWN, m_key_code = 0 '\0'}) at /usr/include/c++/4.1.3/debug/safe_iterator.h:208 #5 0xb7c042e2 in gnash::movie_root::notify_key_event (this=0x8122f80, k=gnash::key::I, down=true) at /home/strk/src/gnash/gnash-head/server/movie_root.cpp:385 #6 0x08061c33 in gnash::MovieTester::pressKey (this=0xbfc948e0, code=gnash::key::I) at /home/strk/src/gnash/gnash-head/testsuite/MovieTester.cpp:342 #7 0x08054f86 in main () at /home/strk/src/gnash/gnash-head/testsuite/misc-ming.all/key_event_testrunner.cpp:155 The message means something invalidated your iterator. Hint: don't execute arbitrary code while scannig a container, unless you can make sure no code ever will invalidate the iterators you're using (usually this means making a copy of them). --strk; _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit