[Webkit-unassigned] [Bug 34081] [Qt] QtWebkit apps crash on exit on Symbian^3 onwards
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Feb 26 00:17:52 PST 2010
https://bugs.webkit.org/show_bug.cgi?id=34081
--- Comment #2 from Janne Koskinen <koshuin at gmail.com> 2010-02-26 00:17:52 PST ---
Now that I got enviroment to work on found the reason for the crash. fix might
take some time....
Problem is that when we exit the application we delete the ThreadGlobalData
while in main:
Thread [Thread id: 7392] (Suspended: Breakpoint hit.)
21 WebCore::ThreadGlobalData::~ThreadGlobalData()
X:\qt\src\3rdparty\webkit\WebCore\platform\ThreadGlobalData.cpp:88 0x07f9a780
20 WTF::ThreadSpecific<WebCore::ThreadGlobalData>::destroy()
X:\qt\src\3rdparty\webkit\JavaScriptCore\wtf\ThreadSpecific.h:226 0x07f9a0ec
19 WTF::ThreadSpecific<WebCore::ThreadGlobalData>::Data::~Data()
X:\qt\src\3rdparty\webkit\JavaScriptCore\wtf\ThreadSpecific.h:83 0x07f9a552
18 0x7F9A50C( QtWebKit.dll )() 0x07f9a50c
17 QThreadStorage<WTF::ThreadSpecific<WebCore::ThreadGlobalData>::Data
*>::deleteData() X:\qt\src\corelib\thread\qthreadstorage.h:133 0x07f9a4cd
16 QThreadStorageData::finish()
X:\qt\src\corelib\thread\qthreadstorage.cpp:185 0x035417d3
15 QCoreApplicationPrivate::~QCoreApplicationPrivate()
X:\qt\src\corelib\kernel\qcoreapplication.cpp:289 0x034dea2c
14 QApplicationPrivate::~QApplicationPrivate()
X:\qt\src\gui\kernel\qapplication.cpp:192 0x03f7a8de
13 0x3F887AC( QtGui.dll )() 0x03f887ac
12 QScopedPointerDeleter<QObjectData>::cleanup()
X:\qt\src\corelib\tools\qscopedpointer.h:63 0x034f5428
11 QScopedPointer<QObjectData,
QScopedPointerDeleter<QObjectData>>::~QScopedPointer()
X:\qt\src\corelib\tools\qscopedpointer.h:100 0x034f53f5
10 QObject::~QObject() X:\qt\src\corelib\kernel\qobject.cpp:984 0x034f5b41
9 QCoreApplication::~QCoreApplication()
X:\qt\src\corelib\kernel\qcoreapplication.cpp:618 0x034df624
8 QApplication::~QApplication() X:\qt\src\gui\kernel\qapplication.cpp:1115
0x03f7c6ea
7 main() X:\webviewclient\main.cpp:56 0x00401150
6 QtMainWrapper() X:\qt\src\s60main\qts60main_mcrt0.cpp:86 0x00403201
5 E32Main() X:\qt\src\s60main\qts60main.cpp:56 0x00402d7c
4 _E32Startup()
M:\sf\os\kernelhwsrv\kernel\eka\euser\epoc\win32\uc_exe.cpp:87 0x004024dc
3 DThread::EpocThreadFunction()
V:\sf\os\KERNELHWSRV\KERNEL\EKA\KERNEL\win32\ckernel.cpp:84 0x0915ac33
2 NThread::StartThread()
V:\sf\os\KERNELHWSRV\KERNEL\EKA\nkern\win32\ncthrd.cpp:187 0x091595c7
1 0x7C80B50B( KERNEL32.dll )() 0x7c80b50b
And now that we hit the global destructors we get:
Thread [Thread id: 7392] (Suspended: Breakpoint hit.)
21 WTF::ThreadSpecific<WebCore::ThreadGlobalData>::operator
WebCore::ThreadGlobalData *()
X:\qt\src\3rdparty\webkit\JavaScriptCore\wtf\ThreadSpecific.h:251 0x07f9a255
20 WTF::ThreadSpecific<WebCore::ThreadGlobalData>::operator *()
X:\qt\src\3rdparty\webkit\JavaScriptCore\wtf\ThreadSpecific.h:267 0x07f9a209
19 WebCore::threadGlobalData()
X:\qt\src\3rdparty\webkit\WebCore\platform\ThreadGlobalData.cpp:58 0x07f9a1c2
18 WebCore::stringTable()
X:\qt\src\3rdparty\webkit\WebCore\platform\text\AtomicString.cpp:45 0x07ff1698
17 WebCore::AtomicString::remove()
X:\qt\src\3rdparty\webkit\WebCore\platform\text\AtomicString.cpp:229 0x07ff1b3c
16 WebCore::StringImpl::~StringImpl()
X:\qt\src\3rdparty\webkit\WebCore\platform\text\StringImpl.cpp:104 0x07ffaf39
15 0x790B5AC( QtWebKit.dll )() 0x0790b5ac
14 WTF::RefCounted<WebCore::StringImpl>::deref()
X:\qt\src\3rdparty\webkit\JavaScriptCore\wtf\RefCounted.h:110 0x0790b567
13 WTF::derefIfNotNull<WebCore::StringImpl>()
X:\qt\src\3rdparty\webkit\JavaScriptCore\wtf\PassRefPtr.h:43 0x0790b531
12 WTF::RefPtr<WebCore::StringImpl>::~RefPtr()
X:\qt\src\3rdparty\webkit\JavaScriptCore\wtf\RefPtr.h:53 0x0790b195
11 0x790B169( QtWebKit.dll )() 0x0790b169
10 0x790D7A9( QtWebKit.dll )() 0x0790d7a9
9 __destroy_global_chain()
M:\sf\os\kernelhwsrv\kernel\eka\include\win32atx.h:96 0x08239d56
8 invokeTable() M:\sf\os\kernelhwsrv\kernel\eka\include\win32crt.h:74
0x0823a5f3
7 _E32Dll() M:\sf\os\kernelhwsrv\kernel\eka\euser\epoc\win32\uc_dll.cpp:73
0x0823a66b
6 CallStaticEntryPoints()
V:\sf\os\kernelhwsrv\kernel\eka\euser\us_func.cpp:767 0x60014ae0
5 User::Exit() V:\sf\os\kernelhwsrv\kernel\eka\euser\us_func.cpp:806
0x60014b56
4 _E32Startup()
M:\sf\os\kernelhwsrv\kernel\eka\euser\epoc\win32\uc_exe.cpp:93 0x004024f9
3 DThread::EpocThreadFunction()
V:\sf\os\KERNELHWSRV\KERNEL\EKA\KERNEL\win32\ckernel.cpp:84 0x0915ac33
2 NThread::StartThread()
V:\sf\os\KERNELHWSRV\KERNEL\EKA\nkern\win32\ncthrd.cpp:187 0x091595c7
1 0x7C80B50B( KERNEL32.dll )() 0x7c80b50b
This is because of
static inline HashSet<StringImpl*>& stringTable()
{
return threadGlobalData().atomicStringTable();
}
ends up constructing the threadGlobalData as there isn't one anymore as it was
already deleted in main.
--
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