Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 937875 - dev-qt/qtwebengine-6.7.2 based applications crash on musl/llvm: FATAL:zygote_host_impl_linux.cc(223)] Check failed: . : No such file or directory (2)
Summary: dev-qt/qtwebengine-6.7.2 based applications crash on musl/llvm: FATAL:zygote_...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2024-08-13 15:45 UTC by Spekadyon
Modified: 2024-08-14 15:37 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge-info.txt,6.86 KB, text/plain)
2024-08-13 15:46 UTC, Spekadyon
Details
www-client/falkon-24.05.2 gdb backtrace (backtrace-falkon.txt,29.86 KB, text/plain)
2024-08-13 15:51 UTC, Spekadyon
Details
media-gfx/digikam-8.4.0-r11 gdb backtrace (backtrace-digikam.txt,55.38 KB, text/plain)
2024-08-13 15:57 UTC, Spekadyon
Details
no-sandbox-settls.patch (no-sandbox-settls.patch,675 bytes, patch)
2024-08-13 22:25 UTC, Ionen Wolkens
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Spekadyon 2024-08-13 15:45:39 UTC
www-client/falkon-24.05.2 and media-gfx/digikam-8.4.0-r11 crash on startup, on a musl/llvm based profile (default/linux/amd64/23.0/split-usr/musl/llvm combined with targets/desktop/plasma).

Terminal output for both applications:
> % falkon
> MESA-INTEL: warning: Haswell Vulkan support is incomplete
> Path override failed for key base::DIR_APP_DICTIONARIES and path '/usr/bin/qtwebengine_dictionaries'
> Path override failed for key base::DIR_APP_DICTIONARIES and path '/usr/lib/qt6/libexec/qtwebengine_dictionaries'Path override failed for key base::DIR_APP_DICTIONARIES and path '/usr/lib/qt6/libexec/qtwebengine_dictionaries'
> 
> [1:1:0813/173527.933750:FATAL:credentials.cc(111)] Check failed: . : Invalid argument (22)
> [27682:27682:0813/173527.936468:FATAL:zygote_host_impl_linux.cc(223)] Check failed: . : No such file or directory (2)
> zsh: trace trap  falkon

> % digikam 
> kf.config.core: Migrating old staterc "" -> "/home/geoffrey/.local/state/digikamstaterc"
> QFile::rename: Empty or null file name
> kf.config.core: Failed to migrate "" -> "/home/geoffrey/.local/state/digikamstaterc"
> digikam.facedb: Cannot found faces engine model "shapepredictor.dat"
> digikam.facedb: Faces recognition feature cannot be used!
> digikam.facedb: Cannot found faces engine DNN model "openface_nn4.small2.v1.t7"
> digikam.facedb: Faces recognition feature cannot be used!
> MESA-INTEL: warning: Haswell Vulkan support is incomplete
> Path override failed for key base::DIR_APP_DICTIONARIES and path '/usr/bin/qtwebengine_dictionaries'
> Path override failed for key base::DIR_APP_DICTIONARIES and path '/usr/lib/qt6/libexec/qtwebengine_dictionaries'Path override failed for key base::DIR_APP_DICTIONARIES and path '/usr/lib/qt6/libexec/qtwebengine_dictionaries'
> 
> [1:1:0813/173924.927921:FATAL:credentials.cc(111)] Check failed: . : Invalid argument (22)
> [28431:28431:0813/173924.930256:FATAL:zygote_host_impl_linux.cc(223)] Check failed: . : No such file or directory (2)
> zsh: trace trap  digikam

musl, qtwebengine, digikam and falkon have been recompiled with "-ggdb3" in CFLAGS/CXXFLAGS. The backtraces obtained with gdb from the core dumps are attached to the bug report.

Reproducible: Always

Steps to Reproduce:
Start falkon or digikam.
Actual Results:  
falkon and digikam crash.
Comment 1 Spekadyon 2024-08-13 15:46:32 UTC
Created attachment 900070 [details]
emerge --info
Comment 2 Spekadyon 2024-08-13 15:51:48 UTC
Created attachment 900071 [details]
www-client/falkon-24.05.2 gdb backtrace
Comment 3 Spekadyon 2024-08-13 15:57:09 UTC
Created attachment 900072 [details]
media-gfx/digikam-8.4.0-r11 gdb backtrace
Comment 4 Ionen Wolkens gentoo-dev 2024-08-13 22:06:55 UTC
Patches welcome if anyone can figure this out. Can't expect anything from upstream given qtwebengine doesn't even compile with musl without a whole set of patches as-is (build system even aborts early if it doesn't find glibc to make it clear other libcs are not supported).

Patches we use are similar to alpine and void, albeit haven't reviewed changes to patches there in a while, if lucky maybe just missing something new (maybe musl-sandbox.patch needs updating for one).

Didn't crash for me when I last tried it though, albeit I don't test it much with musl beyond the test suite (passed for me with 6.7.2, albeit that was with musl-1.2.4 and haven't tried 1.2.5 I think) and using qutebrowser a little bit.

If it ever becomes completely broken, we may have to mask it & all revdeps for musl until situation improves.
Comment 5 Ionen Wolkens gentoo-dev 2024-08-13 22:13:04 UTC
(In reply to Ionen Wolkens from comment #4)
> (passed for me with 6.7.2, albeit that was with musl-1.2.4 and haven't tried 1.2.5 I think)
Forgot to mention that the chroot I use to test that is also llvm, forget what version of clang I used last time but it was probably 18 something.
Comment 6 Ionen Wolkens gentoo-dev 2024-08-13 22:25:34 UTC
Created attachment 900079 [details, diff]
no-sandbox-settls.patch

(In reply to Ionen Wolkens from comment #4)
> Patches we use are similar to alpine and void, albeit haven't reviewed
> changes to patches there in a while
Actually, just had a quick peek and, given error is in credentials.cc, alpine's settls patch that we're missing looks awfully like it could be it.

Could you try to build qtwebengine with the attached patch? If it works I'll adjust it to not use #if 0 and add it to the patchset.

Maybe it broke with musl-1.2.5 given what the patch notes say.
Comment 7 Spekadyon 2024-08-14 12:47:16 UTC
The patch fixes the issue. Falkon starts and seems to works normally.

Digikam still crashes with a segfault, but not related to qtwebengine. I'll fill a new bug for this one.

Thanks for the fix !
Comment 8 Larry the Git Cow gentoo-dev 2024-08-14 15:37:03 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e57d2b93959aa52fa3f6867d416e0469969d253

commit 4e57d2b93959aa52fa3f6867d416e0469969d253
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2024-08-14 00:06:33 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2024-08-14 15:34:23 +0000

    dev-qt/qtwebengine: update 6.7 and 6.8 patchsets
    
    6.7-10 -> 6.7-11, and 6.8-2 -> 6.8-3 changes:
      Added:
      * clang19.patch (imported from files/)
      * musl-no-settls.patch (wrt bug #937875)
    
    6.7-10 -> 6.7-11 specific changes:
      Added:
      * QTBUG-113574.patch (imported from files/)
    
    6.7-11 -> 6.7-12 changes (in preparation for 6.7.3):
      Removed:
      * ninja1.12.patch (upstreamed)
    
    Technically needs a revbump for bug #937875 (runtime issue), but
    do not wish for every users to rebuild over a musl fix. musl users
    reading this are invited to `emerge -1 qtwebengine:6`. Stable users
    are not believed to be affected, and there's to hope 6.7.3 releases
    & is stabilized before musl-1.2.5 is (or a := forces a rebuild first).
    
    Closes: https://bugs.gentoo.org/937875
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 dev-qt/qtwebengine/Manifest                        |  5 +-
 .../files/qtwebengine-6.7.2-QTBUG-113574.patch     | 41 ------------
 .../files/qtwebengine-6.7.2-clang19.patch          | 76 ----------------------
 dev-qt/qtwebengine/qtwebengine-6.7.2.ebuild        |  4 +-
 dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild     |  4 +-
 dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild     |  3 +-
 dev-qt/qtwebengine/qtwebengine-6.9999.ebuild       |  2 +-
 7 files changed, 7 insertions(+), 128 deletions(-)