segfault when running the Qml_Tests test suite
Describe your environment
Please specify the following:
- OS: Guix System (GNU/Linux)
- Jami version: 20240524.0
- What build you are using: my own (Guix)
Steps to reproduce
Note: Better the scenario is, better we will be able to reproduce and debug.
- Can you reproduce the bug: at will
- Steps:
- Build latest nightly with Guix. Alternatively, build latest nightly in a container which has no outside connectivity (in its own network namespace).
- Actual result: Segfault
- Expected result: Test suite passes.
Additional information
starting phase `check'
Running unit tests...
UpdateCTestConfiguration from :/tmp/guix-build-jami-20240524.0.drv-0/build/DartConfiguration.tcl
UpdateCTestConfiguration from :/tmp/guix-build-jami-20240524.0.drv-0/build/DartConfiguration.tcl
Test project /tmp/guix-build-jami-20240524.0.drv-0/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 2
Start 2: Unit_Tests
2: Test command: /tmp/guix-build-jami-20240524.0.drv-0/build/tests/unit_tests "-input" "--mutejamid"
2: Working Directory: /tmp/guix-build-jami-20240524.0.drv-0/build/tests
2: Test timeout computed to be: 10000000
2:
2: (process:2341): libnotify-WARNING **: 06:12:44.394: Failed to connect to proxy
2: qt.core.qobject.connect: QObject::connect(SystemTray, Unknown): invalid nullptr parameter
2: 06:12:44.401 os_core_unix.c !pjlib 2.13.1 for POSIX initialized
2: Daemon is running
2: [==========] Running 10 tests from 4 test suites.
2: [----------] Global test environment set-up.
2: [----------] 2 tests from AccountFixture
2: [ RUN ] AccountFixture.InitialAccountListCheck
2: [ OK ] AccountFixture.InitialAccountListCheck (0 ms)
2: [ RUN ] AccountFixture.CreateSIPAccountTest
2: client: error initializing NetworkManager client: Could not connect: No such file or directory
2: libclient: void lrc::AccountModelPimpl::slotVolatileAccountDetailsChanged(const QString&, const MapStringString&) : can't find "f8b8111b5605c6ea"
2: libclient: void lrc::AccountModelPimpl::slotVolatileAccountDetailsChanged(const QString&, const MapStringString&) : can't find "f8b8111b5605c6ea"
2: libclient: void lrc::AccountModelPimpl::slotVolatileAccountDetailsChanged(const QString&, const MapStringString&) : can't find "f8b8111b5605c6ea"
2: libclient: Syncing account list
2: "detected new account f8b8111b5605c6ea"
2: database "/tmp/.local/share/unit_tests/jami/f8b8111b5605c6ea/history.db" version set to: "1"
2: libclient: Can't open file: "/tmp/.local/share/jami/f8b8111b5605c6ea/profile.vcf"
2: libclient: Syncing account list
2: "detected account removal f8b8111b5605c6ea"
2: [ OK ] AccountFixture.CreateSIPAccountTest (5275 ms)
2: [----------] 2 tests from AccountFixture (5275 ms total)
2:
2: [----------] 1 test from ContactFixture
2: [ RUN ] ContactFixture.AddSIPContactTest
2: libclient: void lrc::AccountModelPimpl::slotVolatileAccountDetailsChanged(const QString&, const MapStringString&) : can't find "44926a4612db1ba2"
2: libclient: void lrc::AccountModelPimpl::slotVolatileAccountDetailsChanged(const QString&, const MapStringString&) : can't find "44926a4612db1ba2"
2: libclient: void lrc::AccountModelPimpl::slotVolatileAccountDetailsChanged(const QString&, const MapStringString&) : can't find "44926a4612db1ba2"
2: libclient: Syncing account list
2: "detected new account 44926a4612db1ba2"
2: database "/tmp/.local/share/jami/44926a4612db1ba2/history.db" version set to: "1"
2: libclient: Can't open file: "/tmp/.local/share/jami/44926a4612db1ba2/profile.vcf"
2: libclient: query! "test"
2: libclient: Can't open file: "/tmp/.local/share/jami/44926a4612db1ba2/profiles/dGVzdA==_o.vcf"
2: libclient: Can't open file: "/tmp/.local/share/jami/44926a4612db1ba2/profiles/dGVzdA==.vcf"
2: libclient: Writing profile: "/tmp/.local/share/jami/44926a4612db1ba2/profiles/dGVzdA==.vcf"
2: libclient: Syncing account list
2: "detected account removal 44926a4612db1ba2"
2: [ OK ] ContactFixture.AddSIPContactTest (15245 ms)
2: [----------] 1 test from ContactFixture (15245 ms total)
2:
2: [----------] 5 tests from MessageParserFixture
2: [ RUN ] MessageParserFixture.TextIsParsedCorrectly
2: [ OK ] MessageParserFixture.TextIsParsedCorrectly (5000 ms)
2: [ RUN ] MessageParserFixture.ALinkIsParsedCorrectly
2: /tmp/guix-build-jami-20240524.0.drv-0/source/tests/unittests/messageparser_unittest.cpp:73: Skipped
2: ALinkIsParsedCorrectly requires Internet connectivity
2: [ SKIPPED ] MessageParserFixture.ALinkIsParsedCorrectly (0 ms)
2: [ RUN ] MessageParserFixture.EndOfLineCharactersAreParsedCorrectly
2: [ OK ] MessageParserFixture.EndOfLineCharactersAreParsedCorrectly (0 ms)
2: [ RUN ] MessageParserFixture.FencedCodeIsParsedCorrectly
2: [ OK ] MessageParserFixture.FencedCodeIsParsedCorrectly (0 ms)
2: [ RUN ] MessageParserFixture.YoutubeLinkIsParsedCorrectly
2: /tmp/guix-build-jami-20240524.0.drv-0/source/tests/unittests/messageparser_unittest.cpp:181: Skipped
2: YoutubeLinkIsParsedCorrectly requires Internet connectivity
2: [ SKIPPED ] MessageParserFixture.YoutubeLinkIsParsedCorrectly (0 ms)
2: [----------] 5 tests from MessageParserFixture (5000 ms total)
2:
2: [----------] 2 tests from PreviewEngineFixture
2: [ RUN ] PreviewEngineFixture.ParsingALinkEmitsInfoReadySignal
2: [ OK ] PreviewEngineFixture.ParsingALinkEmitsInfoReadySignal (7 ms)
2: [ RUN ] PreviewEngineFixture.UTF8CharactersAreParsedCorrectly
2: [ OK ] PreviewEngineFixture.UTF8CharactersAreParsedCorrectly (1 ms)
2: [----------] 2 tests from PreviewEngineFixture (8 ms total)
2:
2: [----------] Global test environment tear-down
2: [==========] 10 tests from 4 test suites ran. (25530 ms total)
2: [ PASSED ] 8 tests.
2: [ SKIPPED ] 2 tests, listed below:
2: [ SKIPPED ] MessageParserFixture.ALinkIsParsedCorrectly
2: [ SKIPPED ] MessageParserFixture.YoutubeLinkIsParsedCorrectly
2: client: Destroying connectivity monitor
1/1 Test #2: Unit_Tests ....................... Passed 26.62 sec
The following tests passed:
Unit_Tests
100% tests passed, 0 tests failed out of 1
Total Test time (real) = 26.62 sec
Running functional tests...
UpdateCTestConfiguration from :/tmp/guix-build-jami-20240524.0.drv-0/build/DartConfiguration.tcl
UpdateCTestConfiguration from :/tmp/guix-build-jami-20240524.0.drv-0/build/DartConfiguration.tcl
Test project /tmp/guix-build-jami-20240524.0.drv-0/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1
Start 1: Qml_Tests
1: Test command: /tmp/guix-build-jami-20240524.0.drv-0/build/tests/qml_tests "-input" "/tmp/guix-build-jami-20240524.0.drv-0/source/tests/qml/src" "--mutejamid"
1: Working Directory: /tmp/guix-build-jami-20240524.0.drv-0/build/tests
1: Test timeout computed to be: 10000000
1:
1: (process:2363): libnotify-WARNING **: 06:13:11.026: Failed to connect to proxy
1: "detected new account 08c870187c828b78"
1: client: error initializing NetworkManager client: Could not connect: No such file or directory
1: libclient: "08c870187c828b78" "Alice"
1: "detected new account 4c3455774b40c1e3"
1: libclient: "4c3455774b40c1e3" "Bob"
1/1 Test #1: Qml_Tests ........................***Exception: SegFault 18.11 sec
(process:2363): libnotify-WARNING **: 06:13:11.026: Failed to connect to proxy
"detected new account 08c870187c828b78"
client: error initializing NetworkManager client: Could not connect: No such file or directory
libclient: "08c870187c828b78" "Alice"
"detected new account 4c3455774b40c1e3"
libclient: "4c3455774b40c1e3" "Bob"
0% tests passed, 1 tests failed out of 1
Total Test time (real) = 18.12 sec
The following tests FAILED:
1 - Qml_Tests (SEGFAULT)
Errors while running CTest
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "ctest" arguments: ("-R" "Qml_Tests" "-V" "--output-on-failure" "-j" "180") exit-status: 8 term-signal: #f stop-signal: #f>
This may be related to what I had reported & investigated in #1507.