On 30/08/13 09:06, Glenn Ramsey wrote:
On 29/08/13 20:33, Martin Zibricky wrote:
On Thursday 29 of August 2013 12:20:16 Glenn Ramsey wrote:
Hi,
When running the following test app on OSX (10.8.4, PyQt 5.1
snapshot + Qt
5.1)
https://github.com/pyinstaller/pyinstaller/blob/develop/tests/interactive/te
st_pyqt5_qml.py
I get a crash (stack trace below) when it is frozen but not when it is
not
frozen.
Can anyone suggest what might be causing this or how to diagnose
it further?
It looks like there might be a missing dylib or something related to
that. Try the following command on all .dylib/.so files that are bundled
with the test_pyqt5:
otool -L foo.dylib
Or somehow let osx dynamic loader to show what .dylib files are
loaded.
That can be done by setting the env var DYLD_PRINT_LIBRARIES=1 but I don't think
that this is the problem.
Running it in the debugger [1] I can see that the issue is a bad pointer, but I
have no idea why it's like that. I'll keep looking.
* thread #5: tid = 0x2503, 0x0a6ce51d QtQml_debug`QScopedPointer<QObjectData,
QScopedPointerDeleter<QObjectData> >::data(this=0x00000004) const + 13 at
qscopedpointer.h:132, stop reason = EXC_BAD_ACCESS (code=2, address=0x4)
frame #0: 0x0a6ce51d QtQml_debug`QScopedPointer<QObjectData,
QScopedPointerDeleter<QObjectData> >::data(this=0x00000004) const + 13 at
qscopedpointer.h:132
129
130 inline T *data() const
131 {
-> 132 return d;
133 }
134
135 inline bool isNull() const
Glenn
[1]
http://stackoverflow.com/questions/14746315/how-to-attach-to-child-process-in-lldb
It seems that the crash happens because in qqmldebugserver.cpp:273 qApp (which
appears to be a macro for QCoreApplication::instance() ) is 0 and the following
assert confirms this:
QQmlDebugServer *QQmlDebugServer::instance()
{
static bool commandLineTested = false;
if (!commandLineTested) {
commandLineTested = true;
Q_ASSERT(qApp); // assert fails
QCoreApplicationPrivate *appD =
static_cast<QCoreApplicationPrivate*>(QObjectPrivate::get(qApp));
I suspect its a dll address space issue but I don't understand why
QCoreApplication::instance() would be 0 in a frozen app and not in a non frozen one.
Glenn
--
You received this message because you are subscribed to the Google Groups
"PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pyinstaller.
For more options, visit https://groups.google.com/groups/opt_out.