davidben / nspluginwrapper

A cross-platform NPAPI plugin viewer
http://nspluginwrapper.org
GNU General Public License v2.0
23 stars 10 forks source link

flash-plugin-11.2.202.233 and nspluginwrapper keep crashing under Fedora 16 #46

Open ydroneaud opened 12 years ago

ydroneaud commented 12 years ago

FlashPlayer pluging keep crashing for one or two week.

I'm getting those messages in .xsession-error

Failed to open VDPAU backend libvdpau_r600.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type Failed to open VDPAU backend libvdpau_r600.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type

Gdk-ERROR _: The program 'npviewer.bin' received an X Window System error. This probably reflects a bug in the program. The error was 'BadMatch (invalid parameter attributes)'. (Details: serial 8415 error_code 8 request_code 140 minor_code 3) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) _* NSPlugin Wrapper * ERROR: NPP_HandleEvent() wait for reply: Connection closed * NSPlugin Wrapper * WARNING:(../src/npw-wrapper.c:2219):invoke_NPP_SetWindow: assertion failed: (rpc_method_invoke_possible(plugin->connection)) * NSPlugin Wrapper * WARNING:(../src/npw-wrapper.c:2848):invoke_NPP_HandleEvent: assertion failed: (rpc_method_invoke_possible(plugin->connection)) * NSPlugin Wrapper * WARNING:(../src/npw-wrapper.c:2655):invoke_NPP_WriteReady: assertion failed: (rpc_method_invoke_possible(plugin->connection)) * NSPlugin Wrapper * WARNING:(../src/npw-wrapper.c:2705):invoke_NPP_Write: assertion failed: (rpc_method_invoke_possible(plugin->connection)) * NSPlugin Wrapper * WARNING:(../src/npw-wrapper.c:2550):invoke_NPP_DestroyStream: assertion failed: (rpc_method_invoke_possible(plugin->connection)) * NSPlugin Wrapper * WARNING:(../src/npw-wrapper.c:2434):invoke_NPP_URLNotify: assertion failed: (rpc_method_invoke_possible(plugin->connection)) * NSPlugin Wrapper *\ WARNING:(../src/npw-wrapper.c:2848):invoke_NPP_HandleEvent: assertion failed: (rpc_method_invoke_possible(plugin->connection))

And kernel log is reporting:

[ 1293.179313] npviewer.bin[3470] trap int3 ip:3b4dc4d313 sp:7fff12aa9de0 error:0

ydroneaud commented 12 years ago

When ran under ElectricFence, EF complains about:

ElectricFence Aborting: free(2487030): address not from malloc().

Here is the backtrace for the crash

Thread 1 (Thread 0x7f5108d85980 (LWP 15584)):

0 0x0000003b4bc36567 in kill () at ../sysdeps/unix/syscall-template.S:82

No locals.

1 0x00007f5108d9c325 in do_abort () at print.c:27

No locals.

2 0x00007f5108d9c412 in EF_Abortv (pattern=0x7f5108d9ca58 "free(%a): address not from malloc().", args=0x7fffb7f4a548) at print.c:137

No locals.

3 0x00007f5108d9c4ac in EF_Abort (pattern=) at print.c:146

    args = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7fffb7f4a620, reg_save_area = 0x7fffb7f4a560}}

4 0x00007f5108d9ba43 in free (address=0x1871030) at efence.c:804

    slot = <optimized out>
    previousSlot = 0x0
    nextSlot = 0x0

5 0x0000003138a485e9 in XFree (data=) at XlibInt.c:1701

No locals.

6 0x000000314700105a in _vdp_get_driver_name_from_dri2 (screen=0, display=0x7f51072a7db0) at vdpau_wrapper.c:85

    root = <optimized out>
    event_base = 74
    error_base = 0
    major = 1
    minor = 3
    driver_name = 0x1871010 "r600"
    device_name = 0x1871030 "/dev/dri/card0"

7 vdp_device_create_x11 (display=0x7f51072a7db0, screen=0, device=0x7f50fc15e2c0, get_proc_address=0x7fffb7f4b7d8) at vdpau_wrapper.c:109

    vdpau_driver = <optimized out>
    vdpau_driver_dri2 = 0x0
    vdpau_driver_lib = "\330\065\022\374P\177\000\000=\340\255\aQ\177\000\000\004\000\000\000\004\000\000\000\001\000\000\000P\177\000\000\370\336\021\374P\177\000\000\000\360\025\374P\177\000\000\000\063\022\374P\177\000\000\000\352\005\374P\177\000\000`\000\026\374P\177\000\000\000\360\025\374P\177\000\000\000\360\a\374P\177\000\000\300a\a\374P\177\000\000\340\247\364\267\377\177\000\000\314\063\272\bQ\177\000\000\340\247\364\267\377\177\000\000\257\016\363\aQ\177\000\000\230\063\272\bQ\177\000\000\311\005\363\aQ\177\000\000\360\247\364\267\377\177\000\000\027\037\243\aQ\177\000\000\357\a\000\000\000\000\000\000\031R\256\aQ\177\000\000\360\247\364\267\377\177\000\000\032\303\266\aQ\177\000\000\030\061\272\bQ\177\001\000@\002\006\374P\177\000\000\000\360\a\374P\177\000\000\000\000\000\000\000\000\000\000\375z\025\374P\177", '\000' <repeats 34 times>, "\001", '\000' <repeats 15 times>, "\001\000\000\000\000\000\000\000"...
    backend_dll = <optimized out>
    vdpau_trace = <optimized out>
    func_name = <optimized out>
    vdp_imp_device_create_x11 = <optimized out>

8 0x00007f5107d2ba94 in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

9 0x00007f5107d2c41e in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

10 0x00007f5107d72975 in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

11 0x00007f5107992a7d in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

12 0x00007f5107994293 in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

13 0x00007f5107995777 in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

14 0x00007f5107ced3d5 in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

15 0x00007f5107cf6ddf in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

16 0x000000000040c16a in g_NPP_SetWindow (np_window=0x7f50f90a5fd0, instance=0x7f50fd237ff0) at ../src/npw-viewer.c:3917

    plugin = 0x7f50fd233f78
    window = 0x7f50f90a5fd0
    ret = <optimized out>

17 handle_NPP_SetWindow (connection=0x7f50fff49f20) at ../src/npw-viewer.c:3944

    error = <optimized out>
    plugin = 0x7f50fd233f78
    window = 0x7f50f90a5fd0

18 0x000000000041225f in _rpc_dispatch_1 (connection=0x7f50fff49f20, message=0x7fffb7f4c000) at ../src/rpc.c:1591

    method = 32
    error = <optimized out>
    msg_tag = -3002
    callback = <optimized out>

19 0x000000000041246a in _rpc_dispatch (message=0x7fffb7f4c000, connection=0x7f50fff49f20) at ../src/rpc.c:1622

    ret = <optimized out>

20 _rpc_dispatch_until (connection=0x7f50fff49f20, message=0x7fffb7f4c000, expected_msg_tag=-3008) at ../src/rpc.c:1645

    msg_tag = -3000
    error = <optimized out>
    __PRETTY_FUNCTION__ = "_rpc_dispatch_until"

21 0x0000000000413b08 in rpc_sync (connection=0x7f50fff49f20) at ../src/rpc.c:1788

    message = {types = 0x7f50fff7dfe0, socket = 7, offset = 0, buffer = "\377\377\364B#\343\305a\254\001\000\000\022", '\000' <repeats 11 times>"\212, \300\364\267\377\177\000\000\221\300\364\267\377\177\000\000\225\221\201K;", '\000' <repeats 11 times>, "\001\000\000\000\000\000\000\000\340\324\364\267\377\177\000\000\062\000\000\000\000\000\000\000P\236\267\377P\177\000\000\300\332\200K;\000\000\000\000", '\001' <repeats 50 times>, "\000\000\000\000\000\251\a\200O;\000\000\000\300\234\267\377P\177\000\000\\342\200K;\000\000\000\000\220\331\bQ\177\000\000\220\071\331\bQ\177", '\000' <repeats 18 times>"\220, \324\364\267\377\177\000\000\200G\201\070\061\000\000\000\320\324\212\036\313\033L\236\350\271\330\bQ\177\000\000\000\000\000\000\000\000\000\000\237\035`81", '\000' <repeats 11 times>"\320, \324\n6\313\033L\236\320\324\234h#\343\305a \265\330\bQ\177\000\000\000\000\000\000\000\000\000\000\341q\000P;", '\000' <repeats 11 times>"\320, \324\352\066\313\033L\236\320\324\234h#\343\305a`{\266\377P\177"...}
    __PRETTY_FUNCTION__ = "rpc_sync"
    error = <optimized out>
    timer = 0x7f50fd090fe0

22 0x0000000000404305 in do_main (connection_path=0x7fffb7f4f05f "/org/wrapper/NSPlugins/libflashplayer.so/15367-2/237802788", argv=0x7fffb7f4e228, argc=1) at ../src/npw-viewer.c:4977

    max_priority = 0
    timeout = 0
    needed_fds = 3
    ready = <optimized out>
    ret = <optimized out>
    fds = 0x7f50fd08efe0
    context = 0x7f50ffecff20
    rpc_fd = {fd = 7, events = 1, revents = 0}
    vtable = {{id = 2, callback = 0x406510 <handle_NP_GetMIMEDescription>}, {id = 1, callback = 0x4072e0 <handle_NP_GetValue>}, {id = 3, callback = 0x407ae0 <handle_NP_Initialize>}, {id = 4, callback = 0x406120 <handle_NP_Shutdown>}, {id = 30, callback = 0x405910 <handle_NPP_New>}, {id = 31, callback = 0x40c770 <handle_NPP_Destroy>}, {id = 34, callback = 0x407070 <handle_NPP_GetValue>}, {id = 32, callback = 0x40bf00 <handle_NPP_SetWindow>}, {id = 36, callback = 0x405180 <handle_NPP_URLNotify>}, {id = 37, callback = 0x405460 <handle_NPP_NewStream>}, {id = 38, callback = 0x4052d0 <handle_NPP_DestroyStream>}, {id = 39, callback = 0x404ab0 <handle_NPP_WriteReady>}, {id = 40, callback = 0x404910 <handle_NPP_Write>}, {id = 41, callback = 0x4047f0 <handle_NPP_StreamAsFile>}, {id = 42, callback = 0x406670 <handle_NPP_Print>}, {id = 33, callback = 0x404d90 <handle_NPP_HandleEvent>}, {id = 46, callback = 0x404c40 <handle_NPP_ClearSiteData>}, {id = 47, callback = 0x4046c0 <handle_NPP_GetSitesWithData>}}
    fds_size = 3

23 main (argc=1, argv=) at ../src/npw-viewer.c:5160

    plugin_path = <optimized out>
    connection_path = 0x7fffb7f4f05f "/org/wrapper/NSPlugins/libflashplayer.so/15367-2/237802788"
    cmd = <optimized out>
    handles = {0x7f5108c96b40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
    n_handles = 1
    ret = 1
ydroneaud commented 12 years ago

When ran with

NPW_DEBUG=1 NPW_LOG=nspluginwrapper.log firefox

nspluginwrapper crash almost immediately ... in a meaningless spot. See bug 819448

ydroneaud commented 12 years ago

When removing NPW_LOG= argument, it's working better.

You will find in gist 2627119 two debug logs, one without valgrind, the the other one with valgrind enabled with NPW_USE_VALGRIND=yes (I have also modified npviewer.sh to add --sync to npviewer.bin arguments).

In the valgrind log, you could find this trace:

Gdk-ERROR **: The program 'npviewer.bin' received an X Window System error. This probably reflects a bug in the program. The error was 'BadMatch (invalid parameter attributes)'. (Details: serial 1137 error_code 8 request_code 140 minor_code 3) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) ==18893== ==18893== Process terminating with default action of signal 5 (SIGTRAP) ==18893== at 0x39EE44D783: g_logv (gmessages.c:577) ==18893== by 0x39EE44DB11: g_log (gmessages.c:591) ==18893== by 0x39F1A6AB2A: gdk_x_error (gdkmain-x11.c:486) ==18893== by 0x3138A4810E: _XError (XlibInt.c:1583) ==18893== by 0x3138A44F90: handle_error (xcb_io.c:166) ==18893== by 0x3138A44FD4: handle_response (xcb_io.c:266) ==18893== by 0x3138A45DDF: _XReply (xcb_io.c:566) ==18893== by 0x3138A415A2: XSync (Sync.c:44) ==18893== by 0x3138A4164A: _XSyncFunction (Synchro.c:35) ==18893== by 0x3139209AA9: XShmPutImage (XShm.c:352) ==18893== by 0x39F1A5C40D: gdk_x11_draw_image (gdkdrawable-x11.c:847) ==18893== by 0x564B2F7: ??? (in /usr/lib64/flash-plugin/libflashplayer.so) ==18893==

So this might not be something nspluginwrapper could fix ...

ydroneaud commented 12 years ago

One another stack trace

Thread 1 (Thread 0x7fd83b4cb980 (LWP 21573)):

0 g_logv (log_domain=0x39f1a81b57 "Gdk", log_level=, format=0x39f1aa075e "%s", args1=0x7fff42aed338) at gmessages.c:577

    depth = 0
    domain = 0x0
    data = 0x0
    log_func = 0x39ee44cc30 <g_log_default_handler>
    domain_fatal_mask = <optimized out>
    masquerade_fatal = <optimized out>
    test_level = <optimized out>
    was_fatal = 0
    was_recursion = 0
    i = <optimized out>

1 0x00000039ee44db12 in g_log (log_domain=, log_level=, format=) at gmessages.c:591

    args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff42aed410, reg_save_area = 0x7fff42aed350}}

2 0x00000039f1a6ab2b in gdk_x_error (error=, display=) at gdkmain-x11.c:486

    buf = "BadMatch (invalid parameter attributes)", '\000' <repeats 24 times>
    msg = <optimized out>

3 gdk_x_error (display=, error=) at gdkmain-x11.c:456

No locals.

4 0x0000003138a4810f in _XError (dpy=0x7fd83268edb0, rep=) at XlibInt.c:1583

    rtn_val = <optimized out>
    event = {type = 0, xany = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056}, xkey = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, root = 0, subwindow = 140565207396320, time = 140565207420896, x = 0, y = 0, x_root = 1266738692, y_root = 59, state = 5, keycode = 65537, same_screen = 0}, xbutton = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, root = 0, subwindow = 140565207396320, time = 140565207420896, x = 0, y = 0, x_root = 1266738692, y_root = 59, state = 5, button = 65537, same_screen = 0}, xmotion = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, root = 0, subwindow = 140565207396320, time = 140565207420896, x = 0, y = 0, x_root = 1266738692, y_root = 59, state = 5, is_hint = 1 '\001', same_screen = 0}, xcrossing = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, root = 0, subwindow = 140565207396320, time = 140565207420896, x = 0, y = 0, x_root = 1266738692, y_root = 59, mode = 5, detail = 65537, same_screen = 0, focus = 0, state = 845872640}, xfocus = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, mode = 0, detail = 0}, xexpose = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, x = 0, y = 0, width = -482267168, height = 32727, count = -482242592}, xgraphicsexpose = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, drawable = 211393154056, x = 0, y = 0, width = -482267168, height = 32727, count = -482242592, major_code = 32727, minor_code = 0}, xnoexpose = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, drawable = 211393154056, major_code = 0, minor_code = 0}, xvisibility = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, state = 0}, xcreatewindow = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, parent = 211393154056, window = 0, x = -482267168, y = 32727, width = -482242592, height = 32727, border_width = 0, override_redirect = 0}, xdestroywindow = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, event = 211393154056, window = 0}, xunmap = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, event = 211393154056, window = 0, from_configure = -482267168}, xmap = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, event = 211393154056, window = 0, override_redirect = -482267168}, xmaprequest = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, parent = 211393154056, window = 0}, xreparent = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, event = 211393154056, window = 0, parent = 140565207396320, x = -482242592, y = 32727, override_redirect = 0}, xconfigure = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, event = 211393154056, window = 0, x = -482267168, y = 32727, width = -482242592, height = 32727, border_width = 0, above = 254669809156, override_redirect = 5}, xgravity = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, event = 211393154056, window = 0, x = -482267168, y = 32727}, xresizerequest = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, width = 0, height = 0}, xconfigurerequest = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, parent = 211393154056, window = 0, x = -482267168, y = 32727, width = -482242592, height = 32727, border_width = 0, above = 254669809156, detail = 5, value_mask = 0}, xcirculate = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, event = 211393154056, window = 0, place = -482267168}, xcirculaterequest = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, parent = 211393154056, window = 0, place = -482267168}, xproperty = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, atom = 0, time = 140565207396320, state = -482242592}, xselectionclear = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, selection = 0, time = 140565207396320}, xselectionrequest = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, owner = 211393154056, requestor = 0, selection = 140565207396320, target = 140565207420896, property = 0, time = 254669809156}, xselection = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, requestor = 211393154056, selection = 0, target = 140565207396320, property = 140565207420896, time = 0}, xcolormap = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, colormap = 0, new = -482267168, state = 32727}, xclient = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, message_type = 0, format = -482267168, data = {b = "\340\217A\343\327\177\000\000\000\000\000\000\000\000\000\000\004\346\200K", s = {-28704, -7359, 32727, 0, 0, 0, 0, 0, -6652, 19328}, l = {140565207420896, 0, 254669809156, 281479271677957, 0}}}, xmapping = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, request = 0, first_keycode = 0, count = -482267168}, xerror = {type = 0, display = 0x7fd83268edb0, resourceid = 48234499, serial = 2059, error_code = 8 '\b', request_code = 140 '\214', minor_code = 3 '\003'}, xkeymap = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, window = 211393154056, key_vector = "\000\000\000\000\000\000\000\000\340/A\343\327\177\000\000\340\217A\343\327\177\000\000\000\000\000\000\000\000\000"}, xgeneric = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, extension = 939756552, evtype = 49}, xcookie = {type = 0, serial = 140566535400880, send_event = 48234499, display = 0x80b, extension = 939756552, evtype = 49, cookie = 0, data = 0x7fd7e3412fe0}, pad = {0, 140566535400880, 48234499, 2059, 211393154056, 0, 140565207396320, 140565207420896, 0, 254669809156, 281479271677957, 0, 140566535536128, 211403434664, 140734312142360, 0, 140566535400880, 140565207404496, 140565207396320, 254669836037, 0, -1, 1, 140565207404496}}
    async = <optimized out>
    next = <optimized out>

5 0x0000003138a44f91 in handle_error (dpy=0x7fd83268edb0, err=0x7fd7e3414fd0, in_XReply=) at xcb_io.c:166

    ext = <optimized out>
    ret_code = -128978457

6 0x0000003138a44fd5 in handle_response (dpy=0x7fd83268edb0, response=0x7fd7e3414fd0, in_XReply=) at xcb_io.c:266

    async = <optimized out>
    next = <optimized out>

7 0x0000003138a45de0 in _XReply (dpy=0x7fd83268edb0, rep=0x7fff42aed660, extra=0, discard=1) at xcb_io.c:566

    event = <optimized out>
    req = 0x7fd7e3412fe0
    response = 0x7fd7e3418fe0
    error = 0x0
    c = 0x7fd8326afe00
    reply = <optimized out>
    current = 0x7fd7e3412fe0
    __PRETTY_FUNCTION__ = "_XReply"

8 0x0000003138a415a3 in XSync (dpy=0x7fd83268edb0, discard=0) at Sync.c:44

    rep = {type = 176 '\260', revertTo = 237 '\355', sequenceNumber = 12904, length = 32728, focus = 950299983, pad1 = 49, pad2 = 845737392, pad3 = 32728, pad4 = 950147594, pad5 = 49}
    req = <optimized out>

9 0x0000003138a4164b in _XSyncFunction (dpy=) at Synchro.c:35

No locals.

10 0x0000003139209aaa in XShmPutImage (dpy=0x7fd83268edb0, d=46140206, gc=0x7fd7e340af60, image=0x7fd81e689f70, src_x=0, src_y=0, dst_x=0, dst_y=0, src_width=800, src_height=439, send_event=0) at XShm.c:352

    info = <optimized out>
    shminfo = <optimized out>
    req = <optimized out>

11 0x00000039f1a5c40e in gdk_x11_draw_image (drawable=, gc=, image=, xsrc=0, ysrc=0, xdest=0, ydest=0, width=800, height=439) at gdkdrawable-x11.c:847

    impl = 0x7fd7e33e2fa0 [GdkPixmapImplX11]

12 0x00007fd83a4792f8 in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

13 0x00007fd83a0db8b8 in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

14 0x00007fd83a4329b6 in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

15 0x00007fd83a43b30b in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

16 0x00007fd83a4388e9 in ?? () from /usr/lib64/mozilla/plugins/libflashplayer.so

No symbol table info available.

17 0x0000000000404e43 in g_NPP_HandleEvent (event=0x7fff42aedbb0, instance=0x7fd824cedff0) at ../src/npw-viewer.c:4467

    ret = <optimized out>

18 handle_NPP_HandleEvent (connection=0x7fd82988ff20) at ../src/npw-viewer.c:4494

    plugin = 0x7fd824ce9f78
    event = {type = 13, xany = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206}, xkey = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, root = 0, subwindow = 1885490643744, time = 0, x = 0, y = 0, x_root = 0, y_root = 0, state = 0, keycode = 0, same_screen = 0}, xbutton = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, root = 0, subwindow = 1885490643744, time = 0, x = 0, y = 0, x_root = 0, y_root = 0, state = 0, button = 0, same_screen = 0}, xmotion = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, root = 0, subwindow = 1885490643744, time = 0, x = 0, y = 0, x_root = 0, y_root = 0, state = 0, is_hint = 0 '\000', same_screen = 0}, xcrossing = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, root = 0, subwindow = 1885490643744, time = 0, x = 0, y = 0, x_root = 0, y_root = 0, mode = 0, detail = 0, same_screen = 0, focus = 0, state = 0}, xfocus = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, mode = 0, detail = 0}, xexpose = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, x = 0, y = 0, width = 800, height = 439, count = 0}, xgraphicsexpose = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, drawable = 46140206, x = 0, y = 0, width = 800, height = 439, count = 0, major_code = 0, minor_code = 0}, xnoexpose = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, drawable = 46140206, major_code = 0, minor_code = 0}, xvisibility = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, state = 0}, xcreatewindow = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, parent = 46140206, window = 0, x = 800, y = 439, width = 0, height = 0, border_width = 0, override_redirect = 0}, xdestroywindow = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, event = 46140206, window = 0}, xunmap = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, event = 46140206, window = 0, from_configure = 800}, xmap = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, event = 46140206, window = 0, override_redirect = 800}, xmaprequest = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, parent = 46140206, window = 0}, xreparent = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, event = 46140206, window = 0, parent = 1885490643744, x = 0, y = 0, override_redirect = 0}, xconfigure = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, event = 46140206, window = 0, x = 800, y = 439, width = 0, height = 0, border_width = 0, above = 0, override_redirect = 0}, xgravity = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, event = 46140206, window = 0, x = 800, y = 439}, xresizerequest = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, width = 0, height = 0}, xconfigurerequest = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, parent = 46140206, window = 0, x = 800, y = 439, width = 0, height = 0, border_width = 0, above = 0, detail = 0, value_mask = 0}, xcirculate = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, event = 46140206, window = 0, place = 800}, xcirculaterequest = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, parent = 46140206, window = 0, place = 800}, xproperty = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, atom = 0, time = 1885490643744, state = 0}, xselectionclear = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, selection = 0, time = 1885490643744}, xselectionrequest = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, owner = 46140206, requestor = 0, selection = 1885490643744, target = 0, property = 0, time = 0}, xselection = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, requestor = 46140206, selection = 0, target = 1885490643744, property = 0, time = 0}, xcolormap = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, colormap = 0, new = 800, state = 439}, xclient = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, message_type = 0, format = 800, data = {b = '\000' <repeats 19 times>, s = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, l = {0, 0, 0, 0, 0}}}, xmapping = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, request = 0, first_keycode = 0, count = 800}, xerror = {type = 13, display = 0x0, resourceid = 0, serial = 140566684339632, error_code = 46 '.', request_code = 11 '\v', minor_code = 192 '\300'}, xkeymap = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, window = 46140206, key_vector = "\000\000\000\000\000\000\000\000 \003\000\000\267\001", '\000' <repeats 17 times>}, xgeneric = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, extension = 46140206, evtype = 0}, xcookie = {type = 13, serial = 0, send_event = 0, display = 0x7fd83b498db0, extension = 46140206, evtype = 0, cookie = 0, data = 0x1b700000320}, pad = {13, 0, 0, 140566684339632, 46140206, 0, 1885490643744, 0 <repeats 17 times>}}
    error = <optimized out>
    ret = 0

19 0x000000000041225f in _rpc_dispatch_1 (connection=0x7fd82988ff20, message=0x7fff42aede60) at ../src/rpc.c:1591

    method = 33
    error = <optimized out>
    msg_tag = -3002
    callback = <optimized out>

20 0x000000000041246a in _rpc_dispatch (message=0x7fff42aede60, connection=0x7fd82988ff20) at ../src/rpc.c:1622

    ret = <optimized out>

21 _rpc_dispatch_until (connection=0x7fd82988ff20, message=0x7fff42aede60, expected_msg_tag=-3008) at ../src/rpc.c:1645

    msg_tag = -3000
    error = <optimized out>
    __PRETTY_FUNCTION__ = "_rpc_dispatch_until"

22 0x0000000000413b08 in rpc_sync (connection=0x7fd82988ff20) at ../src/rpc.c:1788

    message = {types = 0x7fd829891fe0, socket = 7, offset = 0, buffer = "\377\377\364B\000\000\000\000t7A\000\000\000\000\000\360\217P\343\327\177\000\000\225\235\301\356H\364\377\377\340\037\211)\330\177\000\000\a", '\000' <repeats 15 times>"\340, _Y\343\327\177\000\000\260\326\344\356\071\000\000\000\001\000\000\000\327\177\000\000\315\314L>\000\000\000\000\000\000\000\000\315\314L>\000\000\000\000\374\006\000\000\001\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\001\000\000\000\001\000\000\260o`(\330\177\000\000\240\257_(\330\177\000\000\240\357^(\330\177\000\000\240/^(\330\177\000\000\260\257\(\330\177\000\000\240o](\330\177\000\000\240?Z(\330\177\000\000\240\357[(\330\177\000\000\240\277R,\330\177\000\000\327\023N;\330\177\000\000\000\216V\343\327\177\000\000\211\036N;\330\177\000\000\000\016k\343\327\177\000\000p\357v)\330\177\000\000\360(j\343\327\177\000\000\213\"N;\330\177\000\000\000\002\000\000\000\000\000\000\331\"N;\330\177\000\000\026\000\000\000\000\000\000\000\213"...}
    **PRETTY_FUNCTION** = "rpc_sync"
   error = <optimized out>
    timer = 0x7fd7e33ccfe0

23 0x0000000000404305 in do_main (connection_path=0x7fff42af104c "/org/wrapper/NSPlugins/libflashplayer.so/21262-4/1161641658", argv=0x7fff42af0088, argc=1) at ../src/npw-viewer.c:4977

    max_priority = 2147483647
    timeout = 2
    needed_fds = 3
    ready = <optimized out>
    ret = <optimized out>
    fds = 0x7fd8296defe0
    context = 0x7fd831c6cf20
    rpc_fd = {fd = 7, events = 1, revents = 0}
    vtable = {{id = 2, callback = 0x406510 <handle_NP_GetMIMEDescription>}, {id = 1, callback = 0x4072e0 <handle_NP_GetValue>}, {id = 3, callback = 0x407ae0 <handle_NP_Initialize>}, {id = 4, callback = 0x406120 <handle_NP_Shutdown>}, {id = 30, callback = 0x405910 <handle_NPP_New>}, {id = 31, callback = 0x40c770 <handle_NPP_Destroy>}, {id = 34, callback = 0x407070 <handle_NPP_GetValue>}, {id = 32, callback = 0x40bf00 <handle_NPP_SetWindow>}, {id = 36, callback = 0x405180 <handle_NPP_URLNotify>}, {id = 37, callback = 0x405460 <handle_NPP_NewStream>}, {id = 38, callback = 0x4052d0 <handle_NPP_DestroyStream>}, {id = 39, callback = 0x404ab0 <handle_NPP_WriteReady>}, {id = 40, callback = 0x404910 <handle_NPP_Write>}, {id = 41, callback = 0x4047f0 <handle_NPP_StreamAsFile>}, {id = 42, callback = 0x406670 <handle_NPP_Print>}, {id = 33, callback = 0x404d90 <handle_NPP_HandleEvent>}, {id = 46, callback = 0x404c40 <handle_NPP_ClearSiteData>}, {id = 47, callback = 0x4046c0 <handle_NPP_GetSitesWithData>}}
    fds_size = 3

24 main (argc=2, argv=) at ../src/npw-viewer.c:5160

    plugin_path = <optimized out>
    connection_path = 0x7fff42af104c "/org/wrapper/NSPlugins/libflashplayer.so/21262-4/1161641658"
    cmd = <optimized out>
    handles = {0x7fd83b3dcb40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
    n_handles = 1
    ret = 1
davidben commented 12 years ago

Wow. Thank you for the incredibly detailed report. I'll see if I can figure it out sometime (it's the end of term, so I'm a little busy these days).

A quick question: It seems from the first log that you're running everything under nspluginwrapper, including even libgnome-shell-browser-plugin.so and libvlcplugin.so. Do you actually need nspluginwrapper? If you're running x86-64, Adobe has an official 64-bit plugin now (in fact you may even be using it... your flash is installed in /usr/lib64). If you don't actually need it, I'd recommend just running the plugins without nspluginwrapper. You don't gain anything in the way of sandboxing, Firefox and Chrome natively push plugins out-of-process, and nspluginwrapper is, and, as you may have noticed, pretty buggy. I'm not sure how Fedora sets it up, but just uninstalling it would probably work.

(I have to admit: I myself have stopped using it for anything since Adobe put out a 64-bit Flash.)

ydroneaud commented 12 years ago

The configuration was working for a while. I can't find what has changed in the past two weeks to break Flash player and/or nspluginwrapper. I was in trouble to figure myself what's happening. And found nothing matching my problem on the Internet.

Regarding wrapper under Fedora, I think it's the default configuration.

Don't spend to much time investigating. If I'm the sole user with this problem, it could be hardware related ... but it would be very nasty.

davidben commented 12 years ago

Regarding wrapper under Fedora, I think it's the default configuration.

I strongly recommend against doing that. There's really no benefit to running nspluginwrapper when both the plugin and the browser are the same architecture. You only expose yourself to more bugs. Because of how NPAPI is set up (it's completely synchronous and relies on the run-to-completion semantics you get from this), you actually can't do a good job of pushing the plugin out-of-process to protect from things like a stuck plugin in something like nspluginwrapper. Firefox and Chrome can (and already do) implement this better because they only need to speak NPAPI on one side. (They could also do a better compatibility layer for running 32-bit plugins but don't.)

In fact, if you are running Chrome, it will detect wrapper plugins of matching architecture and go straight to the original plugin because nspluginwrapper was the source of many crashes. I managed to fix some of them when I adopted the project, but I'm not surprised there are still problems.

ydroneaud commented 12 years ago

Here's my plugin config output. See that flashplayer is reported twice. I have checked it against another Fedora 16 system which report the same thing.

$ ./plugin-config -v --list INFO: /usr/lib/nspluginwrapper/npviewer isn't accessible. INFO: /usr/lib64/nspluginwrapper/npviewer looks ok. INFO: Processing /usr/lib/mozilla/plugins <- /usr/lib/mozilla/plugins-wrapped WARNING: I can't open dir /usr/lib/mozilla/plugins-wrapped INFO: Processing /usr/lib64/mozilla/plugins <- /usr/lib64/mozilla/plugins-wrapped File/Link /usr/lib64/mozilla/plugins-wrapped/libtotem-narrowspace-plugin.so /usr/lib64/mozilla/plugins-wrapped/nswrapper_64_64.libgnome-shell-browser-plugin.so Original plugin: /usr/lib64/mozilla/plugins/libgnome-shell-browser-plugin.so Wrapper version string: X (1.4.4-1) File/Link /usr/lib64/mozilla/plugins-wrapped/libtotem-mully-plugin.so File/Link /usr/lib64/mozilla/plugins-wrapped/libtotem-gmp-plugin.so File/Link /usr/lib64/mozilla/plugins-wrapped/libjavaplugin.so File/Link /usr/lib64/mozilla/plugins-wrapped/librhythmbox-itms-detection-plugin.so /usr/lib64/mozilla/plugins-wrapped/nswrapper_64_64.libflashplayer.so Original plugin: /usr/lib64/mozilla/plugins/libflashplayer.so Wrapper version string: X (1.4.4-1) /usr/lib64/mozilla/plugins-wrapped/nswrapper_64_64.libvlcplugin.so Original plugin: /usr/lib64/mozilla/plugins/libvlcplugin.so Wrapper version string: X (1.4.4-1) File/Link /usr/lib64/mozilla/plugins-wrapped/libtotem-cone-plugin.so INFO: Processing /usr/lib/mozilla/plugins <- /usr/lib64/mozilla/plugins-wrapped File/Link /usr/lib64/mozilla/plugins-wrapped/libtotem-narrowspace-plugin.so /usr/lib64/mozilla/plugins-wrapped/nswrapper_64_64.libgnome-shell-browser-plugin.so Original plugin: /usr/lib64/mozilla/plugins/libgnome-shell-browser-plugin.so Wrapper version string: X (1.4.4-1) File/Link /usr/lib64/mozilla/plugins-wrapped/libtotem-mully-plugin.so File/Link /usr/lib64/mozilla/plugins-wrapped/libtotem-gmp-plugin.so File/Link /usr/lib64/mozilla/plugins-wrapped/libjavaplugin.so File/Link /usr/lib64/mozilla/plugins-wrapped/librhythmbox-itms-detection-plugin.so /usr/lib64/mozilla/plugins-wrapped/nswrapper_64_64.libflashplayer.so Original plugin: /usr/lib64/mozilla/plugins/libflashplayer.so Wrapper version string: X (1.4.4-1) /usr/lib64/mozilla/plugins-wrapped/nswrapper_64_64.libvlcplugin.so Original plugin: /usr/lib64/mozilla/plugins/libvlcplugin.so Wrapper version string: X (1.4.4-1) File/Link /usr/lib64/mozilla/plugins-wrapped/libtotem-cone-plugin.so

(btw, thanks a lot for your time)