[Webkit-unassigned] [Bug 18883] New: nspluginwrapper gets X11 BadWindow on PluginView::stop()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun May 4 04:20:05 PDT 2008


http://bugs.webkit.org/show_bug.cgi?id=18883

           Summary: nspluginwrapper gets X11 BadWindow on PluginView::stop()
           Product: WebKit
           Version: 526+ (Nightly build)
          Platform: PC
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: Plug-ins
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: chris at openedhand.com


After applying the patch in bug #18882 to fix the segfault with
nspluginwrapper, one can navigate to youtube.com, where the flash works
correctly, and navigate to a video page, where the flash still works correctly.

However, after navigating away from the video, npviewer.bin will receive an X11
BadWindow (invalid Window parameter) error and crash, stopping all subsequent
flash from working.

Relevant part of the debugging log from nspluginwrapper/viewer:

*** NSPlugin Wrapper *** NPP_SetWindow instance=0xfbc2f0
*** NSPlugin Viewer  *** handle_NPP_SetWindow
The program 'npviewer.bin' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 15 error_code 3 request_code 3 minor_code 0)
  (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_SetWindow() wait for reply: Connection
closed
*** NSPlugin Wrapper ***  return: 1 [NPERR_GENERIC_ERROR]
*** NSPlugin Wrapper *** NPP_Destroy instance=0xfbc2f0
*** NSPlugin Wrapper *** ERROR: NPP_Destroy() invoke: Connection closed

I guess this is happening in PluginView::stop, in
WebCore/plugins/gtk/PluginViewGtk.cpp. SetWindow is being called with a NULL
window, to signal that the plugin shouldn't do anything more with the window,
as specified in the ns plugin API docs, but looking at the
nspluginwrapper/viewer code, the case of a NULL window should be handled
correctly...

I've no idea why this happens.


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list