Details
Description
I tried to do this in a Rule and got a crash:
input.moduleProperty("Qt.core", "libPath")
Looks like it's due to that period in the module name; there's an assert. Stack trace:
* thread #6: tid = 0x3af0747, 0x00007fff92331866 libsystem_kernel.dylib`__pthread_kill + 10, name = 'QThread, stop reason = signal SIGABRT frame #0: 0x00007fff92331866 libsystem_kernel.dylib`__pthread_kill + 10 frame #1: 0x00007fff8bfd135c libsystem_pthread.dylib`pthread_kill + 92 frame #2: 0x00007fff95ce5bba libsystem_c.dylib`abort + 125 frame #3: 0x00007fff8fe3e141 libc++abi.dylib`abort_message + 257 frame #4: 0x00007fff8fe63abc libc++abi.dylib`default_terminate_handler() + 264 frame #5: 0x00007fff95a31322 libobjc.A.dylib`_objc_terminate() + 124 frame #6: 0x00007fff8fe613e1 libc++abi.dylib`std::__terminate(void (*)()) + 8 frame #7: 0x00007fff8fe60e6b libc++abi.dylib`__cxa_throw + 124 frame #8: 0x000000010027b6ad libqbscore.1.2.0.dylib`qbs::Internal::throwAssertLocation(condition=0x00000001002e93dc, file=0x00000001002e9403, line=58) + 285 at qbsassert.cpp:46 frame #9: 0x00000001001623ce libqbscore.1.2.0.dylib`qbs::Internal::Property::Property(this=0x0000000103613288, m=0x0000000103613338, p=0x0000000103613328, v=0x0000000103613310, k=PropertyInModule) + 302 at property.h:58 frame #10: 0x0000000100161445 libqbscore.1.2.0.dylib`qbs::Internal::Property::Property(this=0x0000000103613288, m=0x0000000103613338, p=0x0000000103613328, v=0x0000000103613310, k=PropertyInModule) + 53 at property.h:59 frame #11: 0x0000000100171316 libqbscore.1.2.0.dylib`qbs::Internal::ModuleProperties::moduleProperties(context=0x00000001036261b8, engine=0x0000000102f201e0, oneValue=true) + 2614 at moduleproperties.cpp:124 frame #12: 0x0000000100170849 libqbscore.1.2.0.dylib`qbs::Internal::ModuleProperties::js_moduleProperty(context=0x00000001036261b8, engine=0x0000000102f201e0) + 41 at moduleproperties.cpp:78 frame #13: 0x0000000100ccc425 QtScript`QScript::FunctionWrapper::proxyCall(QTJSC::ExecState*, QTJSC::JSObject*, QTJSC::JSValue, QTJSC::ArgList const&) + 197 frame #14: 0x0000000100c3e69f QtScript`QTJSC::NativeFuncWrapper::operator()(QTJSC::ExecState*, QTJSC::JSObject*, QTJSC::JSValue, QTJSC::ArgList const&) const + 111 frame #15: 0x0000000100c24429 QtScript`cti_op_call_NotJSFunction + 217 frame #16: 0x000057377a611b17 frame #17: 0x0000000100befb5e QtScript`QTJSC::Interpreter::execute(QTJSC::EvalExecutable*, QTJSC::ExecState*, QTJSC::JSObject*, int, QTJSC::ScopeChainNode*, QTJSC::JSValue*) + 1054 frame #18: 0x0000000100bf1811 QtScript`QTJSC::Interpreter::execute(QTJSC::EvalExecutable*, QTJSC::ExecState*, QTJSC::JSObject*, QTJSC::ScopeChainNode*, QTJSC::JSValue*) + 113 frame #19: 0x0000000100cb33bb QtScript`QScriptEnginePrivate::evaluateHelper(QTJSC::ExecState*, long, QTJSC::EvalExecutable*, bool&) + 683 frame #20: 0x0000000100cb718f QtScript`QScriptEngine::evaluate(QString const&, QString const&, int) + 399 frame #21: 0x00000001001392fe libqbscore.1.2.0.dylib`qbs::Internal::JsCommandExecutorThreadObject::start(this=0x0000000101c1b2f0, cmd=0x0000000102f34280, transformer=0x0000000102f33250) + 1278 at jscommandexecutor.cpp:94 frame #22: 0x0000000100138a41 libqbscore.1.2.0.dylib`qbs::Internal::JsCommandExecutorThreadObject::qt_static_metacall(_o=0x0000000101c1b2f0, _c=InvokeMetaMethod, _id=1, _a=0x0000000102ecd2a0) + 129 at jscommandexecutor.moc:80 frame #23: 0x00000001008332e8 QtCore`QObject::event(QEvent*) + 808 frame #24: 0x000000010080b3a4 QtCore`QCoreApplication::notify(QObject*, QEvent*) + 180 frame #25: 0x000000010080bea4 QtCore`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 788 frame #26: 0x0000000100853f5d QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 61 frame #27: 0x0000000100808753 QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 403 frame #28: 0x000000010064afdd QtCore`QThread::exec() + 109 frame #29: 0x000000010064eb14 QtCore`QThreadPrivate::start(void*) + 452 frame #30: 0x00007fff8bfd0899 libsystem_pthread.dylib`_pthread_body + 138 frame #31: 0x00007fff8bfd072a libsystem_pthread.dylib`_pthread_start + 137 frame #32: 0x00007fff8bfd4fc9 libsystem_pthread.dylib`thread_start + 13