Removing some tests from tst_datepicker.qml can get rid of the segfault. But it seems like random which tests need to be removed. Even removing a single totally unrelated line of code can cause the segfault to appear/disappear.
So, with this tst_datepicker.qml http://paste.ubuntu.com/15684437/ I get these results:
tim@tim-mbp:~/dev/ubuntu-ui-toolkit/m/datepicker-segfault/tests/unit_x11/tst_components$ ../../unit/runtest.sh tst_components tst_datepicker.qml Executing dbus-test-runner --task gdb -p --quiet -n tst_datepicker.qml -m 300 -p --batch -p -ex -p 'set print thread-events off' -p -ex -p run -p -ex -p bt -p --return-child-result -p --args -p /home/tim/dev/ubuntu-ui-toolkit/m/datepicker-segfault/tests/unit_x11/tst_components/tst_components -p -input -p tst_datepicker.qml -p -maxwarnings -p 100 -p -o -p /home/tim/dev/ubuntu-ui-toolkit/m/datepicker-segfault/tests/test_tst_datepicker.qml.xml,xunitxml -p -o -p -,txt Working directory: /home/tim/dev/ubuntu-ui-toolkit/m/datepicker-segfault/tests/unit_x11/tst_components DBus daemon: unix:abstract=/tmp/dbus-yBhHzh27Dd,guid=4b8c2f760af281cfdce396a7570780bd tst_datepicker.qml: Started with PID: 28887 Undefined command: "". Try "help". tst_datepicker.qml: [Thread debugging using libthread_db enabled] tst_datepicker.qml: Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". tst_datepicker.qml: [New Thread 0x7fffeb5f7700 (LWP 28893)] tst_datepicker.qml: [New Thread 0x7fffe136d700 (LWP 28894)] tst_datepicker.qml: [New Thread 0x7fffe0b6c700 (LWP 28895)] tst_datepicker.qml: [New Thread 0x7fffdbfff700 (LWP 28896)] tst_datepicker.qml: [New Thread 0x7fffda792700 (LWP 28898)] tst_datepicker.qml: ********* Start testing of components ********* tst_datepicker.qml: Config: Using QtTest library 5.5.1, Qt 5.5.1 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 5.3.1 20160225) tst_datepicker.qml: PASS : components::DatePickerAPI::initTestCase() tst_datepicker.qml: QWARN : components::DatePickerAPI::test_0_mode() file:///home/tim/dev/ubuntu-ui-toolkit/m/datepicker-segfault/tests/unit_x11/tst_components/tst_datepicker.qml:30:9: QML DatePicker: Theme.createStyleComponent() is deprecated. Use ThemeSettings instead. tst_datepicker.qml: tst_datepicker.qml: Thread 1 "tst_components" received signal SIGSEGV, Segmentation fault. tst_datepicker.qml: 0x00007ffff7b7c814 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 tst_datepicker.qml: #0 0x00007ffff7b7c814 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 tst_datepicker.qml: #1 0x00007ffff7b5ca49 in QV4::MemoryManager::mark() () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 tst_datepicker.qml: #2 0x00007ffff7b5d46b in QV4::MemoryManager::runGC() () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 tst_datepicker.qml: #3 0x00007ffff7b5e5f8 in QV4::MemoryManager::allocData(unsigned long, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 tst_datepicker.qml: #4 0x00007ffff7b4452a in QV4::ExecutionEngine::newString(QString const&) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 tst_datepicker.qml: #5 0x00007ffff7b7d8d4 in QV4::Heap::FunctionObject::FunctionObject(QV4::ExecutionContext*, QString const&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 tst_datepicker.qml: #6 0x00007ffff7b7f3a8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 tst_datepicker.qml: #7 0x00007ffff7b7f7b9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 tst_datepicker.qml: #8 0x00007ffff7b7d20b in QV4::BuiltinFunction::call(QV4::Managed*, QV4::CallData*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 tst_datepicker.qml: #9 0x00007ffff7be00b3 in QV4::Runtime::callProperty(QV4::ExecutionEngine*, int, QV4::CallData*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 tst_datepicker.qml: #10 0x00007fffd94cb83d in ?? () tst_datepicker.qml: #11 0x00007fffffff18a0 in ?? () tst_datepicker.qml: #12 0x00007ffff7c73ab8 in QV4::QmlContextWrapper::registerQmlDependencies(QV4::ExecutionEngine*, QV4::CompiledData::Function const*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 tst_datepicker.qml: #13 0x00007fff00000001 in ?? () tst_datepicker.qml: #14 0x00007fffffff1870 in ?? () tst_datepicker.qml: #15 0x0000000000000000 in ?? () tst_datepicker.qml: Exited with status 65280 tst_datepicker.qml: Shutting down DBus daemon: Shutdown Error: 1 errors in tst_datepicker.qml (0 warnings) Found 1 failures including warnings.
Removing some tests from tst_datepicker.qml can get rid of the segfault. But it seems like random which tests need to be removed. Even removing a single totally unrelated line of code can cause the segfault to appear/disappear.
So, with this tst_datepicker.qml http:// paste.ubuntu. com/15684437/ I get these results:
tim@tim- mbp:~/dev/ ubuntu- ui-toolkit/ m/datepicker- segfault/ tests/unit_ x11/tst_ components$ ../../unit/ runtest. sh tst_components tst_datepicker.qml child-result -p --args -p /home/tim/ dev/ubuntu- ui-toolkit/ m/datepicker- segfault/ tests/unit_ x11/tst_ components/ tst_components -p -input -p tst_datepicker.qml -p -maxwarnings -p 100 -p -o -p /home/tim/ dev/ubuntu- ui-toolkit/ m/datepicker- segfault/ tests/test_ tst_datepicker. qml.xml, xunitxml -p -o -p -,txt dev/ubuntu- ui-toolkit/ m/datepicker- segfault/ tests/unit_ x11/tst_ components /tmp/dbus- yBhHzh27Dd, guid=4b8c2f760a f281cfdce396a75 70780bd 64-linux- gnu/libthread_ db.so.1" . little_ endian- lp64 shared (dynamic) release build; by GCC 5.3.1 20160225) :DatePickerAPI: :initTestCase( ) :DatePickerAPI: :test_0_ mode() file:// /home/tim/ dev/ubuntu- ui-toolkit/ m/datepicker- segfault/ tests/unit_ x11/tst_ components/ tst_datepicker. qml:30: 9: QML DatePicker: Theme.createSty leComponent( ) is deprecated. Use ThemeSettings instead. x86_64- linux-gnu/ libQt5Qml. so.5 x86_64- linux-gnu/ libQt5Qml. so.5 ger::mark( ) () from /usr/lib/ x86_64- linux-gnu/ libQt5Qml. so.5 ger::runGC( ) () from /usr/lib/ x86_64- linux-gnu/ libQt5Qml. so.5 ger::allocData( unsigned long, unsigned long) () from /usr/lib/ x86_64- linux-gnu/ libQt5Qml. so.5 ngine:: newString( QString const&) () from /usr/lib/ x86_64- linux-gnu/ libQt5Qml. so.5 :FunctionObject ::FunctionObjec t(QV4:: ExecutionContex t*, QString const&, bool) () from /usr/lib/ x86_64- linux-gnu/ libQt5Qml. so.5 x86_64- linux-gnu/ libQt5Qml. so.5 x86_64- linux-gnu/ libQt5Qml. so.5 ction:: call(QV4: :Managed* , QV4::CallData*) () from /usr/lib/ x86_64- linux-gnu/ libQt5Qml. so.5 :callProperty( QV4::ExecutionE ngine*, int, QV4::CallData*) () from /usr/lib/ x86_64- linux-gnu/ libQt5Qml. so.5 Wrapper: :registerQmlDep endencies( QV4::ExecutionE ngine*, QV4::CompiledDa ta::Function const*) () from /usr/lib/ x86_64- linux-gnu/ libQt5Qml. so.5
Executing dbus-test-runner --task gdb -p --quiet -n tst_datepicker.qml -m 300 -p --batch -p -ex -p 'set print thread-events off' -p -ex -p run -p -ex -p bt -p --return-
Working directory: /home/tim/
DBus daemon: unix:abstract=
tst_datepicker.qml: Started with PID: 28887
Undefined command: "". Try "help".
tst_datepicker.qml: [Thread debugging using libthread_db enabled]
tst_datepicker.qml: Using host libthread_db library "/lib/x86_
tst_datepicker.qml: [New Thread 0x7fffeb5f7700 (LWP 28893)]
tst_datepicker.qml: [New Thread 0x7fffe136d700 (LWP 28894)]
tst_datepicker.qml: [New Thread 0x7fffe0b6c700 (LWP 28895)]
tst_datepicker.qml: [New Thread 0x7fffdbfff700 (LWP 28896)]
tst_datepicker.qml: [New Thread 0x7fffda792700 (LWP 28898)]
tst_datepicker.qml: ********* Start testing of components *********
tst_datepicker.qml: Config: Using QtTest library 5.5.1, Qt 5.5.1 (x86_64-
tst_datepicker.qml: PASS : components:
tst_datepicker.qml: QWARN : components:
tst_datepicker.qml:
tst_datepicker.qml: Thread 1 "tst_components" received signal SIGSEGV, Segmentation fault.
tst_datepicker.qml: 0x00007ffff7b7c814 in ?? () from /usr/lib/
tst_datepicker.qml: #0 0x00007ffff7b7c814 in ?? () from /usr/lib/
tst_datepicker.qml: #1 0x00007ffff7b5ca49 in QV4::MemoryMana
tst_datepicker.qml: #2 0x00007ffff7b5d46b in QV4::MemoryMana
tst_datepicker.qml: #3 0x00007ffff7b5e5f8 in QV4::MemoryMana
tst_datepicker.qml: #4 0x00007ffff7b4452a in QV4::ExecutionE
tst_datepicker.qml: #5 0x00007ffff7b7d8d4 in QV4::Heap:
tst_datepicker.qml: #6 0x00007ffff7b7f3a8 in ?? () from /usr/lib/
tst_datepicker.qml: #7 0x00007ffff7b7f7b9 in ?? () from /usr/lib/
tst_datepicker.qml: #8 0x00007ffff7b7d20b in QV4::BuiltinFun
tst_datepicker.qml: #9 0x00007ffff7be00b3 in QV4::Runtime:
tst_datepicker.qml: #10 0x00007fffd94cb83d in ?? ()
tst_datepicker.qml: #11 0x00007fffffff18a0 in ?? ()
tst_datepicker.qml: #12 0x00007ffff7c73ab8 in QV4::QmlContext
tst_datepicker.qml: #13 0x00007fff00000001 in ?? ()
tst_datepicker.qml: #14 0x00007fffffff1870 in ?? ()
tst_datepicker.qml: #15 0x0000000000000000 in ?? ()
tst_datepicker.qml: Exited with status 65280
tst_datepicker.qml: Shutting down
DBus daemon: Shutdown
Error: 1 errors in tst_datepicker.qml (0 warnings)
Found 1 failures including warnings.