Closed GoogleCodeExporter closed 9 years ago
Unfortunately cannot be fixed in Browser's code
Exception is thrown from Qt core, problem with a network interface, here is a
stack trace:
> browser.exe!QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData>
>::data() Line 135 + 0x3 bytes C++
browser.exe!qGetPtrHelper<QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> > >(const QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> > & p={...}) Line 2328 + 0xb bytes C++
browser.exe!QHttpNetworkReply::d_func() Line 154 + 0x13 bytes C++
browser.exe!QHttpNetworkConnectionChannel::allDone() Line 624 + 0xe bytes C++
browser.exe!QHttpNetworkConnectionChannel::_q_receiveReply() Line 480 C++
browser.exe!QHttpNetworkConnectionChannel::_q_readyRead() Line 874 C++
browser.exe!QHttpNetworkConnectionChannel::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=2, void * * _a=0x0018d884) Line 92 + 0x8 bytes C++
browser.exe!QMetaObject::metacall(QObject * object=0x07da594c, QMetaObject::Call cl=InvokeMetaMethod, int idx=6, void * * argv=0x0018d884) Line 238 C++
browser.exe!QMetaObject::activate(QObject * sender=0x07da8ab0, const QMetaObject * m=0x027d80d8, int local_signal_index=0, void * * argv=0x00000000) Line 3272 + 0x27 bytes C++
browser.exe!QIODevice::readyRead() Line 91 + 0x12 bytes C++
browser.exe!QAbstractSocketPrivate::canReadNotification() Line 640 C++
browser.exe!QAbstractSocketPrivate::readNotification() Line 77 + 0x15 bytes C++
browser.exe!QAbstractSocketEngine::readNotification() Line 155 C++
browser.exe!QReadNotifier::event(QEvent * e=0x0018de34) Line 1104 C++
browser.exe!QApplicationPrivate::notify_helper(QObject * receiver=0x0f228908, QEvent * e=0x0018de34) Line 4396 + 0x11 bytes C++
browser.exe!QApplication::notify(QObject * receiver=0x0f228908, QEvent * e=0x0018de34) Line 3798 + 0x10 bytes C++
browser.exe!QCoreApplication::notifyInternal(QObject * receiver=0x0f228908, QEvent * event=0x0018de34) Line 732 + 0x15 bytes C++
browser.exe!QCoreApplication::sendEvent(QObject * receiver=0x0f228908, QEvent * event=0x0018de34) Line 215 + 0x39 bytes C++
browser.exe!qt_internal_proc(HWND__ * hwnd=0x000f04b0, unsigned int message=1024, unsigned int wp=2584, long lp=1) Line 488 + 0xf bytes C++
user32.dll!76b56238()
[Frames below may be incorrect and/or missing, no symbols loaded for user32.dll]
user32.dll!76b568ea()
user32.dll!76b56899()
user32.dll!76b57d31()
user32.dll!76b57dfa()
browser.exe!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 806 C++
browser.exe!QGuiEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 1170 + 0x14 bytes C++
browser.exe!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 150 C++
browser.exe!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 201 + 0x2d bytes C++
browser.exe!QCoreApplication::exec() Line 1009 + 0x15 bytes C++
browser.exe!QApplication::exec() Line 3673 C++
browser.exe!main(int argc=1, char * * argv=0x04644458) Line 67 + 0x5 bytes C++
browser.exe!WinMain(HINSTANCE__ * instance=0x00400000, HINSTANCE__ * prevInstance=0x00000000, char * __formal=0x02d44b13, int cmdShow=1) Line 131 + 0x12 bytes C++
browser.exe!__tmainCRTStartup() Line 263 + 0x2c bytes C
browser.exe!WinMainCRTStartup() Line 182 C
kernel32.dll!75103677()
ntdll.dll!77239d72()
ntdll.dll!77239d45()
browser.exe!JSC::JSVariableObject::symbolTablePutWithAttributes(const JSC::Identifier & propertyName={...}, JSC::JSValue value={...}, unsigned int attributes=3246652493) Line 148 + 0xc bytes C++
e58b0cc4()
Hopefully wll be fixed in the next Qt release update.
Original comment by alexei.c...@gmail.com
on 29 Oct 2010 at 7:00
QtWeb Build 3.5.59
As a workaround, in Qt 4.7.0 source file
"c:\Qt\4.7.0\src\network\access\qhttpnetworkconnectionchannel.cpp" added
condition to avoid NULL pointers, this removes browser crash, but this
particular page "hangs-up", however the browser is still operational with other
pages
void QHttpNetworkConnectionChannel::allDone()
{
.....
if (!reply)
return;
// while handling 401 & 407, we might reset the status code, so save this.
bool emitFinished = reply->d_func()->shouldEmitSignals();
.....
Original comment by alexei.c...@gmail.com
on 29 Oct 2010 at 7:16
Original issue reported on code.google.com by
alexei.c...@gmail.com
on 27 Oct 2010 at 7:32