Sun 30 Aug 2009 08:37:06 PM UTC, original submission:
Adobe (I think) has developed a tool to convert ordinary code into actionscript, and demostrated it with the classic game DOOM. Gnash from trunk compiled with avm2 enabled crashes when trying to play the flash version of doom. Backtrace is below, and the flash version of doom is attached.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f228ca16750 (LWP 19848)]
gnash::AbcBlock::locateClass (this=0x7f227800ec20, className=<value optimized out>)
at /usr/lib/gcc/x86_64-unknown-linux-gnu/4.4.1/../../../../include/c++/4.4.1/bits/basic_string.h:2246
2246 __lhs.size())); }
(gdb) bt
#0 gnash::AbcBlock::locateClass (this=0x7f227800ec20, className=<value optimized out>)
at /usr/lib/gcc/x86_64-unknown-linux-gnu/4.4.1/../../../../include/c++/4.4.1/bits/basic_string.h:2246
#1 0x00007f228bcad4c4 in gnash::Machine::instantiateClass (this=0x2149240, className=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece.
)
at Machine.cpp:3205
#2 0x00007f228baeb961 in gnash::SWF::SymbolClassTag::execute (this=<value optimized out>,
m=<value optimized out>) at swf/SymbolClassTag.h:50
#3 0x00007f228bae1bfc in gnash::MovieClip::executeFrameTags (this=0x2162200, frame=0,
dlist=@0x7fff261dbc50, typeflags=1) at MovieClip.cpp:1187
#4 0x00007f228bae20c5 in gnash::MovieClip::restoreDisplayList (this=0x2162200, tgtFrame=0)
at MovieClip.cpp:1153
#5 0x00007f228bae25f2 in gnash::MovieClip::advance (this=0x2162200) at MovieClip.cpp:1074
#6 0x00007f228bac6152 in gnash::SWFMovie::advance (this=0x2162200) at SWFMovie.cpp:80
#7 0x00007f228bac6a5e in gnash::movie_root::advanceLiveChars (this=<value optimized out>)
at /usr/include/boost/bind/bind.hpp:246
#8 0x00007f228bace4f1 in gnash::movie_root::advanceMovie (this=0x7fff261dc100)
at movie_root.cpp:1070
#9 0x00007f228bace552 in gnash::movie_root::advance (this=0x7fff261dc100)
at movie_root.cpp:1027
#10 0x000000000042521b in gnash::Gui::advanceMovie (this=0x1ed8ca0) at gui.cpp:941
#11 0x00007f228a0994cb in g_timeout_dispatch () from /usr/lib/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#12 0x00007f228a098dbe in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#13 0x00007f228a09c568 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#14 0x00007f228a09c9c5 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#15 0x00007f228ab54c37 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#16 0x000000000043314e in gnash::GtkGui::run (this=<value optimized out>) at gtk.cpp:276
#17 0x000000000042b954 in gnash::Player::run (this=0x7fff261dc610,
argc=<value optimized out>, argv=0x7fff261dc7d8, infile=<value optimized out>,
url=<value optimized out>) at Player.cpp:497
#18 0x00000000004189f5 in main (argc=3, argv=0x7fff261dc7d8) at gnash.cpp:480
|