Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Investigating a segmentation fault running minimal-qml (wayland compositor example)



  • It looks like the path set to look for Qt Plugin is not working:

    stat64("/usr/share/qt5/examples/wayland/qwindow-compositor/wayland-graphics-integration-server/.", 0xbeb1e608) = -1 ENOENT (No such file or directory)

    I don't believe it should look for wayland-graphics-integration-server in the project directory.
    Rather, it is located here:

    # find / -name wayland-graphics-integration-client
    /usr/lib/qt5/plugins/wayland-graphics-integration-client
    
    

    I have tried setting "QT_PLUGIN_PATH", but still no difference.

    Here is more bits of the log just in case:

    lstat64("/usr/lib/qt5/plugins/wayland-graphics-integration-server/libwayland-egl.so", {st_mode=S_IFREG|0755, st_size=22116, ...}) = 0
    openat(AT_FDCWD, "/usr/lib/qt5/plugins/wayland-graphics-integration-server/libwayland-egl.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 19
    fcntl64(19, F_SETFD, FD_CLOEXEC)        = 0
    fstat64(19, {st_mode=S_IFREG|0755, st_size=22116, ...}) = 0
    fstat64(19, {st_mode=S_IFREG|0755, st_size=22116, ...}) = 0
    mmap2(NULL, 22116, PROT_READ, MAP_SHARED, 19, 0) = 0xb3359000
    close(19)                               = 0
    munmap(0xb3359000, 22116)               = 0
    stat64("/usr/share/qt5/examples/wayland/qwindow-compositor/wayland-graphics-integration-server/.", 0xbeb1e600) = -1 ENOENT (No such file or directory)
    openat(AT_FDCWD, "/usr/lib/qt5/plugins/wayland-graphics-integration-server/libwayland-egl.so", O_RDONLY|O_CLOEXEC) = 19
    read(19, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\10\32\0\0004\0\0\0"..., 512) = 512
    fstat64(19, {st_mode=S_IFREG|0755, st_size=22116, ...}) = 0
    mmap2(NULL, 86308, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 19, 0) = 0xb245a000
    mprotect(0xb245f000, 61440, PROT_NONE)  = 0
    mmap2(0xb246e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 19, 0x4000) = 0xb246e000
    close(19)                               = 0
    mprotect(0xb246e000, 4096, PROT_READ)   = 0
    stat64("/usr/lib/qt5/plugins/wayland-graphics-integration-server/.", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
    open("/usr/lib/qt5/plugins/wayland-graphics-integration-server", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 19
    fstat64(19, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
    getdents64(19, /* 3 entries */, 32768)  = 88
    getdents64(19, /* 0 entries */, 32768)  = 0
    close(19)                               = 0
    lstat64("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
    lstat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=61440, ...}) = 0
    lstat64("/usr/lib/qt5", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
    lstat64("/usr/lib/qt5/plugins", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
    lstat64("/usr/lib/qt5/plugins/wayland-graphics-integration-server", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
    lstat64("/usr/lib/qt5/plugins/wayland-graphics-integration-server/libwayland-egl.so", {st_mode=S_IFREG|0755, st_size=22116, ...}) = 0
    stat64("/usr/share/qt5/examples/wayland/qwindow-compositor/wayland-graphics-integration-server/.", 0xbeb1e608) = -1 ENOENT (No such file or directory)
    --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x4} ---
    +++ killed by SIGSEGV (core dumped) +++
    Segmentation fault (core dumped)
    

    update

    Realized seg fault isn't happening because of the missing file. It is memory access violation (to address 0x4). Any thoughts?


Log in to reply