Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.9.2, 5.9.5, 5.11.1, 5.12.0 Beta 1, 5.12.0 Beta 2, 5.12.0 Beta 4, 5.12.0 RC, 5.12.0
-
android-clang build was configured with:
{code:java}
CALL configure.bat -v ^
-commercial -confirm-license ^
-skip qtpurchasing ^
-skip qtgamepad ^
-skip qtspeech ^
-skip qtnetworkauth ^
-skip qtremoteobjects ^
-skip qtserialbus ^
-skip qtserialport ^
-skip qtwebengine ^
-skip qtvirtualkeyboard ^
-nomake tests ^
-nomake examples ^
-opengl es2 ^
-openssl -I C:\openssl102L\android\include -L C:\openssl102L\android\lib ^
-platform win32-g++ ^
-xplatform android-clang ^
-android-arch armeabi-v7a ^
-android-ndk D:\Android\android-ndk-r15b ^
-android-sdk D:\Android\sdk ^
-prefix "%OUTPUT_DIR%"
{code}
The issue does not occur with a self-built Qt based on android-g++ that was configured almost identically, just with older ndk due to the well-known gcc bug in later sdks:
{code:java}
CALL configure.bat -v ^
-commercial -confirm-license ^
-skip qtpurchasing ^
-skip qtgamepad ^
-skip qtspeech ^
-skip qtnetworkauth ^
-skip qtremoteobjects ^
-skip qtserialbus ^
-skip qtserialport ^
-skip qtwebengine ^
-skip qtvirtualkeyboard ^
-nomake tests ^
-nomake examples ^
-opengl es2 ^
-openssl -I C:\openssl102L\android\include -L C:\openssl102L\android\lib ^
-platform win32-g++ ^
-xplatform android-g++ ^
-android-arch armeabi-v7a ^
-android-ndk D:\Android\android-ndk-r10e ^
-android-sdk D:\Android\sdk ^
-prefix "%OUTPUT_DIR%"
{code}android-clang build was configured with: {code:java} CALL configure.bat -v ^ -commercial -confirm-license ^ -skip qtpurchasing ^ -skip qtgamepad ^ -skip qtspeech ^ -skip qtnetworkauth ^ -skip qtremoteobjects ^ -skip qtserialbus ^ -skip qtserialport ^ -skip qtwebengine ^ -skip qtvirtualkeyboard ^ -nomake tests ^ -nomake examples ^ -opengl es2 ^ -openssl -I C:\openssl102L\android\include -L C:\openssl102L\android\lib ^ -platform win32-g++ ^ -xplatform android-clang ^ -android-arch armeabi-v7a ^ -android-ndk D:\Android\android-ndk-r15b ^ -android-sdk D:\Android\sdk ^ -prefix "%OUTPUT_DIR%" {code} The issue does not occur with a self-built Qt based on android-g++ that was configured almost identically, just with older ndk due to the well-known gcc bug in later sdks: {code:java} CALL configure.bat -v ^ -commercial -confirm-license ^ -skip qtpurchasing ^ -skip qtgamepad ^ -skip qtspeech ^ -skip qtnetworkauth ^ -skip qtremoteobjects ^ -skip qtserialbus ^ -skip qtserialport ^ -skip qtwebengine ^ -skip qtvirtualkeyboard ^ -nomake tests ^ -nomake examples ^ -opengl es2 ^ -openssl -I C:\openssl102L\android\include -L C:\openssl102L\android\lib ^ -platform win32-g++ ^ -xplatform android-g++ ^ -android-arch armeabi-v7a ^ -android-ndk D:\Android\android-ndk-r10e ^ -android-sdk D:\Android\sdk ^ -prefix "%OUTPUT_DIR%" {code}
-
-
9b0fcf7943e63f35cf7d13c7771cb0185178e9fa 4749a3ec61859e324f14add3008c41f92e6c2793 (qt/qtscript/5.12)
Description
The following project contains a minimum example using QScriptEngine. This example runs fine on Windows, and it also runs fine when built with prebuilt Qt for Android (android-g++ mkspec, android_armv7).
# untitled.pro QT -= gui QT += script CONFIG += c++11 console CONFIG -= app_bundle SOURCES += main.cpp
//main.cpp #include <QCoreApplication> #include <QScriptEngine> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QScriptEngine myEngine; QScriptValue val = myEngine.evaluate("40 + 2"); qDebug() << val.toString(); return a.exec(); }
When building + running this example with a self-built Qt that is using android-clang mkspec, I get the fhe following crash:
F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0xf11000b4 in tid 13718 (QtMainThread)
Callstack from Qt Creator:
1 QTJSC::Interpreter::privateExecute(QTJSC::Interpreter::ExecutionFlag, QTJSC::RegisterFile *, QTJSC::ExecState *, QTJSC::JSValue *) 0xcafb7850
2 QTJSC::Interpreter::execute(QTJSC::EvalExecutable *, QTJSC::ExecState *, QTJSC::JSObject *, int, QTJSC::ScopeChainNode *, QTJSC::JSValue *) 0xcafb75e2
3 QTJSC::Interpreter::execute(QTJSC::EvalExecutable *, QTJSC::ExecState *, QTJSC::JSObject *, QTJSC::ScopeChainNode *, QTJSC::JSValue *) 0xcafbcca2
4 QScriptEnginePrivate::evaluateHelper(QTJSC::ExecState *, int, QTJSC::EvalExecutable *, bool&) 0xcb00082a
5 QScriptEngine::evaluate(QString const&, QString const&, int) 0xcb0024ba
6 main main.cpp 10 0xca57c068
7 startMainMethod(void *) 0xcabaef0e
8 __pthread_start(void *) 0xe643c0c4
9 __start_thread 0xe640ed7a
10 ??
Attachments
For Gerrit Dashboard: QTBUG-67936 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
242737,2 | Never call an object with a this ptr that is null | 5.12 | qt/qtscript | Status: MERGED | +2 | 0 |
253667,3 | Android: Use -marm instead of -mthumb for armv7 to avoid a crash | 5.12 | qt/qtscript | Status: MERGED | +2 | 0 |