<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I used to have this crash rather infrequently but it got more frequent when I moved to PyQt 4.6 / Snow Leopard.<div><br></div><div>Configuration</div><div>---------------------</div><div>Mac OSX 10.6.1</div><div>Qt 4.5.3</div><div>sip-4.9.1-snapshot-20091007</div><div>PyQt-mac-gpl-4.6.1-snapshot-20091007</div><div><br></div><div>Crash</div><div>-----------</div><div><br></div><div>My investigation so far shows that PyQtProxy::unislot deletes memory that was already deleted (in attempting to self destruct).</div><div><br></div><div><div><font class="Apple-style-span" face="'Courier New'">Exception Type: &nbsp;EXC_BAD_ACCESS (SIGSEGV)</font></div><div><font class="Apple-style-span" face="'Courier New'">Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000028</font></div><div><font class="Apple-style-span" face="'Courier New'">Crashed Thread: &nbsp;0 &nbsp;Dispatch queue: com.apple.main-thread</font></div><div><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'"><br></font></span></font></div><div><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">Thread 0 Crashed: &nbsp;Dispatch queue: com.apple.main-thread</font></span></font></div><div><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">0 &nbsp; QtCore.so &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font></span></font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">        </font></span></font></span><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">0x00000001030db619 PyQtProxy::unislot(void**) + 133</font></span></font></div><div><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">1 &nbsp; QtCore.so &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font></span></font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">        </font></span></font></span><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">0x00000001030db6f5 PyQtProxy::qt_metacall(QMetaObject::Call, int, void**) + 119</font></span></font></div><div><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">2 &nbsp; QtCore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></span></font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">        </font></span></font></span><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">0x00000001005c1183 QMetaObject::activate(QObject*, int, int, void**) + 675</font></span></font></div><div><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">3 &nbsp; QtCore.so &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font></span></font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">        </font></span></font></span><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">0x000000010302ae97 sipQTimer::timerEvent(QTimerEvent*) + 77</font></span></font></div><div><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">4 &nbsp; QtCore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></span></font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">        </font></span></font></span><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">0x00000001005bf19e QObject::event(QEvent*) + 446</font></span></font></div><div><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">5 &nbsp; QtCore.so &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font></span></font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">        </font></span></font></span><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">0x000000010302ae2d sipQTimer::event(QEvent*) + 77</font></span></font></div><div><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">6 &nbsp; QtGui &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font></span></font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">        </font></span></font></span><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">0x00000001019fd3ed QApplicationPrivate::notify_helper(QObject*, QEvent*) + 189</font></span></font></div><div><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">7 &nbsp; QtGui &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font></span></font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">        </font></span></font></span><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">0x0000000101a0405e QApplication::notify(QObject*, QEvent*) + 238</font></span></font></div><div><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">8 &nbsp; QtGui.so &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></span></font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">        </font></span></font></span><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">0x000000010136e1d1 sipQApplication::notify(QObject*, QEvent*) + 95</font></span></font></div><div><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">9 &nbsp; QtCore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></span></font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">        </font></span></font></span><font class="Apple-style-span" size="4"><span class="Apple-style-span" style="font-size: 14px;"><font class="Apple-style-span" face="'Courier New'">0x00000001005aec3c QCoreApplication::notifyInternal(QObject*, QEvent*) + 124</font></span></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><span class="Apple-style-span" style="font-family: Helvetica; "><div>Repro</div><div>-----------</div><div>Using the qt4reactor found here: <a href="http://twistedmatrix.com/trac/browser/sandbox/therve/qt4reactor.py?rev=22736&amp;format=txt">http://twistedmatrix.com/trac/browser/sandbox/therve/qt4reactor.py?rev=22736&amp;format=txt</a></div><div>You may need to run the program a few times for it to crash.</div><div><br></div><div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;">import qt4reactor</span></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;">qt4reactor.install()</span></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;"><br></span></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;"># Control-C</span></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;">from twisted.internet import reactor</span></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;">import signal; signal.signal(signal.SIGINT, lambda *args:reactor.stop())</span></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;"><br></span></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;"># Get web page.</span></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;">from twisted.web import client</span></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;">url = 'http://www.google.com'</span></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;">client.getPage(url)</span></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;"><br></span></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-size: 14px;">reactor.run()</span></font></div></div></span></font></div></div></body></html>