Bug 1420909

Summary: Flash doesn't work on epiphany in Wayland
Product: [Fedora] Fedora Reporter: Nathaniel McCallum <npmccallum>
Component: epiphanyAssignee: Michael Catanzaro <mcatanzaro+wrong-account-do-not-cc>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: gecko-bugs-nobody, mcatanzaro+wrong-account-do-not-cc, rob.townley, tpopela
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-09 21:49:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nathaniel McCallum 2017-02-09 20:45:21 UTC
(epiphany:21100): Gtk-WARNING **: GtkSocket: only works under X11

(epiphany:21100): Gdk-WARNING **: gdkwindow-x11.c:5573 drawable is not a native X11 window

Thread 1 "epiphany" received signal SIGSEGV, Segmentation fault.

(gdb) bt
#0  0x00007fffedb45ac2 in _XReply () at /lib64/libX11.so.6
#1  0x00007fffedb2c867 in _XGetWindowAttributes () at /lib64/libX11.so.6
#2  0x00007fffedb2c9f1 in XGetWindowAttributes () at /lib64/libX11.so.6
#3  0x00007ffff1245144 in gtk_socket_realize (widget=0x55555607af30 [GtkSocket]) at gtksocket.c:420
#4  0x00007fffef4e7764 in _g_closure_invoke_va (closure=closure@entry=0x5555557ce4a0, return_value=return_value@entry=0x0, instance=instance@entry=0x55555607af30, args=args@entry=0x7fffffffd320, n_params=<optimized out>, param_types=0x0) at gclosure.c:867
#5  0x00007fffef502cb9 in g_signal_emit_valist (instance=0x55555607af30, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd320) at gsignal.c:3300
#6  0x00007fffef50331f in g_signal_emit (instance=instance@entry=0x55555607af30, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3447
#7  0x00007ffff120ce14 in gtk_widget_realize (widget=widget@entry=0x55555607af30 [GtkSocket]) at gtkwidget.c:5456
#8  0x00007ffff1210608 in gtk_widget_set_parent (widget=0x55555607af30 [GtkSocket], parent=0x555556aa5390 [EphyWebView]) at gtkwidget.c:9568
#9  0x00007ffff1f2d644 in webkitWebViewBaseContainerAdd(GtkContainer*, GtkWidget*) (container=0x555556aa5390 [EphyWebView], widget=<optimized out>, widget@entry=0x55555607af30 [GtkSocket])
    at /usr/src/debug/webkitgtk-2.15.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:425
#10 0x00007fffef4ea5c0 in g_cclosure_marshal_VOID__OBJECTv (closure=0x5555557d6800, return_value=<optimized out>, instance=0x555556aa5390, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x5555557d6970) at gmarshal.c:2102
#11 0x00007fffef4e7764 in _g_closure_invoke_va (closure=closure@entry=0x5555557d6800, return_value=return_value@entry=0x0, instance=instance@entry=0x555556aa5390, args=args@entry=0x7fffffffd770, n_params=<optimized out>, param_types=0x5555557d6970) at gclosure.c:867
#12 0x00007fffef502cb9 in g_signal_emit_valist (instance=0x555556aa5390, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd770) at gsignal.c:3300
#13 0x00007fffef50331f in g_signal_emit (instance=instance@entry=0x555556aa5390, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3447
#14 0x00007ffff0fe9e65 in gtk_container_add (container=0x555556aa5390 [EphyWebView], widget=0x55555607af30 [GtkSocket]) at gtkcontainer.c:1875
#15 0x00007ffff1f51633 in WebKit::WebPageProxy::createPluginContainer(unsigned long&) (this=this@entry=0x7fffe1886000, windowID=windowID@entry=@0x7fffffffd8f0: 0)
    at /usr/src/debug/webkitgtk-2.15.4/Source/WebKit2/UIProcess/gtk/WebPageProxyGtk.cpp:107
#16 0x00007ffff2053c22 in IPC::callMemberFunctionImpl<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long&), std::tuple<>, , std::tuple<unsigned long>, 0ul>(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long&), std::tuple<>&&, std::tuple<unsigned long>&, std::integer_sequence<unsigned long>, std::integer_sequence<unsigned long, 0ul>) (args=<optimized out>, replyArgs=std::tuple containing = {...}, function=<optimized out>, object=0x7fffe1886000) at /usr/src/debug/webkitgtk-2.15.4/Source/WebKit2/Platform/IPC/HandleMessage.h:54
#17 0x00007ffff2053c22 in IPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long&), std::tuple<>, std::integer_sequence<unsigned long>, std::tuple<unsigned long>, std::integer_sequence<unsigned long, 0ul> >(std::tuple<>&&, std::tuple<unsigned long>&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long&)) (args=<optimized out>, function=<optimized out>, object=0x7fffe1886000, replyArgs=std::tuple containing = {...}) at /usr/src/debug/webkitgtk-2.15.4/Source/WebKit2/Platform/IPC/HandleMessage.h:60
#18 0x00007ffff2053c22 in IPC::handleMessage<Messages::WebPageProxy::CreatePluginContainer, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long&)>(IPC::Decoder&, IPC::Encoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long&)) (decoder=..., function=<optimized out>, object=0x7fffe1886000, replyEncoder=...)
    at /usr/src/debug/webkitgtk-2.15.4/Source/WebKit2/Platform/IPC/HandleMessage.h:139
#19 0x00007ffff2053c22 in WebKit::WebPageProxy::didReceiveSyncMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder, std::default_delete<IPC::Encoder> >&) (this=0x7fffe1886000, connection=..., decoder=..., replyEncoder=std::unique_ptr<IPC::Encoder> containing 0x7fffe19e8780) at /usr/src/debug/webkitgtk-2.15.4/x86_64-redhat-linux-gnu/DerivedSources/WebKit2/WebPageProxyMessageReceiver.cpp:1575
#20 0x00007ffff1c994af in IPC::MessageReceiverMap::dispatchSyncMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder, std::default_delete<IPC::Encoder> >&) (this=this@entry=0x7fffe19827b8, connection=..., decoder=..., replyEncoder=std::unique_ptr<IPC::Encoder> containing 0x7fffe19e8780) at /usr/src/debug/webkitgtk-2.15.4/Source/WebKit2/Platform/IPC/MessageReceiverMap.cpp:140
#21 0x00007ffff1cfc1b9 in WebKit::ChildProcessProxy::dispatchSyncMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder, std::default_delete<IPC::Encoder> >&) (this=this@entry=0x7fffe1982780, connection=..., decoder=..., replyEncoder=std::unique_ptr<IPC::Encoder> containing 0x7fffe19e8780) at /usr/src/debug/webkitgtk-2.15.4/Source/WebKit2/UIProcess/ChildProcessProxy.cpp:157
#22 0x00007ffff1d51bcb in WebKit::WebProcessProxy::didReceiveSyncMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder, std::default_delete<IPC::Encoder> >&) (this=
    0x7fffe1982780, connection=..., decoder=..., replyEncoder=std::unique_ptr<IPC::Encoder> containing 0x7fffe19e8780) at /usr/src/debug/webkitgtk-2.15.4/Source/WebKit2/UIProcess/WebProcessProxy.cpp:500
#23 0x00007ffff1c94f9b in IPC::Connection::dispatchSyncMessage(IPC::Decoder&) (this=0x7fffe19ec900, decoder=...) at /usr/src/debug/webkitgtk-2.15.4/Source/WebKit2/Platform/IPC/Connection.cpp:855
#24 0x00007ffff1c95065 in IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >) (this=0x7fffe19ec900, message=std::unique_ptr<IPC::Decoder> containing 0x7fffe18821e0) at /usr/src/debug/webkitgtk-2.15.4/Source/WebKit2/Platform/IPC/Connection.cpp:922
#25 0x00007ffff1c958e5 in IPC::Connection::dispatchOneMessage() (this=0x7fffe19ec900) at /usr/src/debug/webkitgtk-2.15.4/Source/WebKit2/Platform/IPC/Connection.cpp:955
#26 0x00007fffef2a64be in WTF::Function<void ()>::operator()() const (this=<synthetic pointer>) at /usr/src/debug/webkitgtk-2.15.4/Source/WTF/wtf/Function.h:50
#27 0x00007fffef2a64be in WTF::RunLoop::performWork() (this=0x7fffe19f7000) at /usr/src/debug/webkitgtk-2.15.4/Source/WTF/wtf/RunLoop.cpp:105
#28 0x00007fffef2ce839 in WTF::RunLoop::<lambda(gpointer)>::operator() (__closure=0x0, userData=<optimized out>) at /usr/src/debug/webkitgtk-2.15.4/Source/WTF/wtf/glib/RunLoopGLib.cpp:66
#29 0x00007fffef2ce839 in WTF::RunLoop::<lambda(gpointer)>::_FUN(gpointer) () at /usr/src/debug/webkitgtk-2.15.4/Source/WTF/wtf/glib/RunLoopGLib.cpp:68
#30 0x00007fffee259f22 in g_main_dispatch (context=0x555555790bc0) at gmain.c:3203
#31 0x00007fffee259f22 in g_main_context_dispatch (context=context@entry=0x555555790bc0) at gmain.c:3856
#32 0x00007fffee25a2a0 in g_main_context_iterate (context=context@entry=0x555555790bc0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3929
#33 0x00007fffee25a34c in g_main_context_iteration (context=context@entry=0x555555790bc0, may_block=may_block@entry=1) at gmain.c:3990
#34 0x00007fffef7ce5dd in g_application_run (application=0x555555801190 [EphyShell], argc=1, argv=0x7fffffffde08) at gapplication.c:2381
#35 0x00005555555569c8 in main (argc=<optimized out>, argv=<optimized out>) at ephy-main.c:445

Comment 1 Michael Catanzaro 2017-02-09 21:49:37 UTC
Wow nice timing! I was just looking at this for bug #1420127.

Now, Flash will never be supported in Wayland because X11 is built in to the NPAPI plugins API, so if you need Flash you'll need to switch back to X11. (If it works in Firefox, then Firefox must still be using XWayland.) But WebKit should never attempt to load it or crash! Upstream bug: https://bugs.webkit.org/show_bug.cgi?id=163159

*** This bug has been marked as a duplicate of bug 1420127 ***

Comment 2 Michael Catanzaro 2017-02-09 23:51:55 UTC

*** This bug has been marked as a duplicate of bug 1382789 ***