Bug 26106

Summary: [GTK] Crashes when you keep a combo open during a page transition, then close it
Product: WebKit Reporter: Gustavo Noronha (kov) <gustavo>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal Keywords: Gtk
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: All   
Attachments:
Description Flags
backtrace
none
Make WebKitNetworkRequest a proper GObject
none
Avoid crashing when popup is open during page transition
none
Avoid crashing when popup is open during page transition zecke: review+

Description Gustavo Noronha (kov) 2009-05-31 08:52:50 PDT
To reproduce go to any page which has a combo box. Click any link, and before the next page load is committed, click the combo box. After the new page load is committed click an option, or otherwise make the popup go away: crash.

This seems to be GTK+-specific, but I'm not yet sure. I'll try to reproduce in other ports. I'm still doing a debug build to get a proper backtrace, but this is what I got from a release build:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb52a5760 (LWP 23667)]
0xb7cefc1c in WebCore::PopupMenu::menuUnmapped ()
   from /home/kov/src/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
Current language:  auto; currently asm
Comment 1 Gustavo Noronha (kov) 2009-06-01 05:39:03 PDT
Created attachment 30831 [details]
backtrace
Comment 2 Gustavo Noronha (kov) 2009-06-01 05:42:31 PDT
Created attachment 30832 [details]
Make WebKitNetworkRequest a proper GObject

 ChangeLog                                  |    8 ++
 GNUmakefile.am                             |    6 +
 WebKit/gtk/ChangeLog                       |   24 ++++
 WebKit/gtk/tests/testnetworkrequest.c      |  131 +++++++++++++++++++++
 WebKit/gtk/webkit/webkitnetworkrequest.cpp |  176 +++++++++++++++++++++++-----
 WebKit/gtk/webkit/webkitnetworkrequest.h   |    4 +
 6 files changed, 320 insertions(+), 29 deletions(-)
Comment 3 Gustavo Noronha (kov) 2009-06-01 05:44:26 PDT
Created attachment 30833 [details]
Avoid crashing when popup is open during page transition

 WebCore/ChangeLog                     |   15 +++++++++++++++
 WebCore/platform/gtk/PopupMenuGtk.cpp |   10 ++++++++--
 2 files changed, 23 insertions(+), 2 deletions(-)
Comment 4 Gustavo Noronha (kov) 2009-06-03 17:10:45 PDT
Created attachment 30933 [details]
Avoid crashing when popup is open during page transition

 WebCore/ChangeLog                     |   15 +++++++++++++++
 WebCore/platform/gtk/PopupMenuGtk.cpp |    5 ++++-
 2 files changed, 19 insertions(+), 1 deletions(-)
Comment 5 Gustavo Noronha (kov) 2009-06-03 17:12:16 PDT
Comment on attachment 30933 [details]
Avoid crashing when popup is open during page transition

Alternative solution to the client null checkproposed by zecke on IRC. Disregard the fact that the changelog still mentions nullity check, it is already fixed in my local copy, which I will commit if I get r+ =P
Comment 6 Holger Freyther 2009-06-07 06:10:09 PDT
Comment on attachment 30933 [details]
Avoid crashing when popup is open during page transition

Makes sense.
Comment 7 Gustavo Noronha (kov) 2009-06-07 13:25:30 PDT
Landed as r44490.