gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] [bug #37223] JavaScript call didn't reach the ExternalInt


From: Nutchanon Wetchasit
Subject: [Gnash-commit] [bug #37223] JavaScript call didn't reach the ExternalInterface callback
Date: Wed, 19 Aug 2015 09:24:48 +0000
User-agent: Mozilla/5.0 (X11; Linux i686; rv:10.0.12) Gecko/20100101 Firefox/10.0.12 Iceweasel/10.0.12

Follow-up Comment #10, bug #37223 (project gnash):

Running original js2flash test case (not js2flash-rootcb) on current Gnash
git
(using either fake host container configuration, or running `js2flash.html`
via browser) would now cause it to crash:


$ gdb gtk-gnash
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 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 "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/gtk-gnash...done.
(gdb) run -v --fd 2:3 js2flash.swf 2>&1 3>&0
Starting program: /usr/local/bin/gtk-gnash -v --fd 2:3 js2flash.swf 2>&1 3>&0
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb3f99b70 (LWP 20052)]
[Thread 0xb3f99b70 (LWP 20052) exited]
20048:1] 355 SECURITY: Checking security of URL
'file:///home/window/Desktop/js2flash.swf'
20048:1] 356 SECURITY: Load of file /home/window/Desktop/js2flash.swf granted
(under local sandbox /home/window/Desktop/)
20048:1] 367 SECURITY: Extensions disabled
[New Thread 0xb3f99b70 (LWP 20053)]
20048:2] 369 UNIMPLEMENTED: FileAttributes tag in the SWF requests that
network access is not granted to this movie (or application?) when loaded from
the filesystem. Anyway Gnash won't care; use white/black listing in your
.gnashrc instead
[Thread 0xb3f99b70 (LWP 20053) exited]
20048:1] 456 TRACE: callee: load
20048:1] 456 TRACE: callee: finished loading
20048:1] 456 TRACE: callee: first run
20048:1] 456 TRACE: callee: external initializing
20048:1] 456 SECURITY: Checking security of URL
'file:///home/window/Desktop/WINDOW-NB'
20048:1] 456 SECURITY: Load of file /home/window/Desktop/WINDOW-NB granted
(under local sandbox /home/window/Desktop/)
20048:1] 456 TRACE: callee: adding callback
<invoke name="addMethod"
returntype="xml"><arguments><string>script_call</string></arguments></invoke>
20048:1] 456 TRACE: callee: finished first run
20048:1] 546 TRACE: status: load
20048:1] 546 TRACE: status: finished loading
20048:1] 547 TRACE: status: load
20048:1] 547 TRACE: status: finished loading

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) backtrace
#0  0x00000000 in ?? ()
#1  0xb7d14fa9 in gnash::DisplayList::add_invalidated_bounds (this=0x801feb14,
ranges=..., force=true) at DisplayList.cpp:688
#2  0xb7cd6b91 in gnash::MovieClip::add_invalidated_bounds (this=0x801fea58,
ranges=..., force=false) at MovieClip.cpp:1657
#3  0xb7d16549 in gnash::DisplayList::add_invalidated_bounds (this=0xb3407e74,
ranges=..., force=false) at DisplayList.cpp:703
#4  0xb7cd6b91 in gnash::MovieClip::add_invalidated_bounds (this=0xb3407db8,
ranges=..., force=false) at MovieClip.cpp:1657
#5  0xb7d16549 in gnash::DisplayList::add_invalidated_bounds (this=0xb3407b44,
ranges=..., force=false) at DisplayList.cpp:703
#6  0xb7cd6b91 in gnash::MovieClip::add_invalidated_bounds (this=0xb3407a88,
ranges=..., force=false) at MovieClip.cpp:1657
#7  0xb7cbd0db in gnash::movie_root::add_invalidated_bounds (this=0xbfffe1bc,
ranges=..., force=false) at movie_root.cpp:1367
#8  0x8002dce3 in gnash::Gui::display (address@hidden,
address@hidden) at gui.cpp:724
#9  0x80030bcc in gnash::Gui::advanceMovie (this=0x800bfad0, doDisplay=true)
at gui.cpp:974
#10 0x8004dfd3 in gnash::Gui::advance_movie (address@hidden) at
./gui.h:273
#11 0xb734e3af in g_timeout_dispatch (address@hidden,
callback=0x8004dfb0 <gnash::Gui::advance_movie(gnash::Gui*)>,
user_data=0x800bfad0)
    at
/build/buildd-glib2.0_2.33.12+really2.32.4-5-i386-eISom6/glib2.0-2.33.12+really2.32.4/./glib/gmain.c:3882
#12 0xb734d6d3 in g_main_dispatch (context=0x800f4960) at
/build/buildd-glib2.0_2.33.12+really2.32.4-5-i386-eISom6/glib2.0-2.33.12+really2.32.4/./glib/gmain.c:2539
#13 g_main_context_dispatch (address@hidden)
    at
/build/buildd-glib2.0_2.33.12+really2.32.4-5-i386-eISom6/glib2.0-2.33.12+really2.32.4/./glib/gmain.c:3075
#14 0xb734da70 in g_main_context_iterate (context=0x800f4960,
address@hidden, address@hidden, 
    self=<error reading variable: Unhandled dwarf expression opcode 0xfa>)
    at
/build/buildd-glib2.0_2.33.12+really2.32.4-5-i386-eISom6/glib2.0-2.33.12+really2.32.4/./glib/gmain.c:3146
#15 0xb734decb in g_main_loop_run (address@hidden)
    at
/build/buildd-glib2.0_2.33.12+really2.32.4-5-i386-eISom6/glib2.0-2.33.12+really2.32.4/./glib/gmain.c:3340
#16 0xb7664ad0 in IA__gtk_main () at
/build/buildd-gtk+2.0_2.24.10-2-i386-Tg7Q_2/gtk+2.0-2.24.10/gtk/gtkmain.c:1256
#17 0x80046b28 in gnash::GtkGui::run (this=0x800bfad0) at gtk/gtk.cpp:258
#18 0x8003a8b3 in gnash::Player::run (this=0xbfffeb00, argc=-2145389948,
argv=0xbffff414, infile=..., url=...) at Player.cpp:664
#19 0x80014fb0 in playFile (player=..., argc=5, argv=0xbffff414, filename=...)
at gnash.cpp:92
#20 0x8001ac95 in __call<void, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >&, 0u, 1u, 2u, 3u> (__args=..., this=0xbfffef28)
    at /usr/include/c++/4.7/functional:1156
#21 operator()<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >&, void> (this=0xbfffef28) at
/usr/include/c++/4.7/functional:1215
#22 std::for_each<__gnu_cxx::__normal_iterator<std::string*,
std::vector<std::string, std::allocator<std::string> > >, std::_Bind<void
(*(std::reference_wrapper<gnash::Player>, int, char**,
std::_Placeholder<1>))(gnash::Player&, int, char**, std::string const&)>
>(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string,
std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<std::string*,
std::vector<std::string, std::allocator<std::string> > >, std::_Bind<void
(*(std::reference_wrapper<gnash::Player>, int, char**,
std::_Placeholder<1>))(gnash::Player&, int, char**, std::string const&)>)
(__first=..., __last=..., __f=...)
    at /usr/include/c++/4.7/bits/stl_algo.h:4442
#23 0x80013747 in main (argc=5, argv=0xbffff414) at gnash.cpp:176
(gdb) quit
A debugging session is active.

        Inferior 1 [process 20048] will be killed.

Quit anyway? (y or n) y



I suspect that GC-related part of previous patches is the culprit.

Gnash: 0.8.11dev (git c5b657f 17-Aug-2015) NPAPI
Browser: Iceweasel 10.0.12 (debian)
System: Debian GNU/Linux 7.0 Wheezy i386


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?37223>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]