[Webkit-unassigned] [Bug 52569] New: [Qt][WK2] Crash due to double destruction of QSharedMemory

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jan 17 04:59:40 PST 2011


https://bugs.webkit.org/show_bug.cgi?id=52569

           Summary: [Qt][WK2] Crash due to double destruction of
                    QSharedMemory
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit2
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: kbalazs at webkit.org


Some layout tests are crashing because of a bug associated with the CleanupHandler.
For example fast/forms/form-associated-element-crash.html produce the following backtrace:
Program received signal SIGSEGV, Segmentation fault.
0x080c9f50 in ?? ()
(gdb) bt 10
#0  0x080c9f50 in ?? ()
#1  0xb70e3925 in WTF::RefCounted<WebKit::SharedMemory>::deref (this=0x80ef9e8) at ../../../../Source/JavaScriptCore/wtf/RefCounted.h:139
#2  0xb70e3961 in WTF::derefIfNotNull<WebKit::SharedMemory> (ptr=0x80ef9e8) at ../../../../Source/JavaScriptCore/wtf/PassRefPtr.h:59
#3  0xb70e39ad in WTF::RefPtr<WebKit::SharedMemory>::~RefPtr (this=0x80ccee8, __in_chrg=<value optimized out>)
    at ../../../../Source/JavaScriptCore/wtf/RefPtr.h:57
#4  0xb70f6097 in WebKit::VisitedLinkTable::~VisitedLinkTable (this=0x80ccee8, __in_chrg=<value optimized out>)
    at ../../../../Source/WebKit2/Shared/VisitedLinkTable.cpp:42
#5  0xb714a50a in WebKit::VisitedLinkProvider::~VisitedLinkProvider (this=0x80cced8, __in_chrg=<value optimized out>)
    at ../../../../Source/WebKit2/UIProcess/VisitedLinkProvider.h:40
#6  0xb7140dd5 in WebKit::WebContext::~WebContext (this=0x80cce70, __in_chrg=<value optimized out>)
    at ../../../../Source/WebKit2/UIProcess/WebContext.cpp:120
...

This is the symptom of deleting the QSharedMemory twice.
The following happens in this scenario in time oriented order:
1. QApplication stopping =>
2. CleanupHandler deletes the QSharedMemory in the slot connected to QApplication::aboutToQuit
3. Destructor of SharedMemory is reached through the destruction of the TestController.

The code that was preventing from this behavior was removed by http://trac.webkit.org/changeset/74967 because of my wrong assumption that
it is not needed anymore.

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



More information about the webkit-unassigned mailing list