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

Incompatible libpng version in application and library



  • My QtQuick application previously worked with Qt 5.12 and Ubuntu 16.04. Since then I've updated to Qt 5.13.0 and Ubuntu 18.04.03, and now the app segfaults when opening a file dialog:

    libpng warning: Application jmp_buf size changed
    
    Thread 1 "mbgrdviz" received signal SIGSEGV, Segmentation fault.
    __longjmp_chk (env=0x0, val=1) at ../setjmp/longjmp.c:32
    32	../setjmp/longjmp.c: No such file or directory.
    (gdb) bt
    #0  0x00007ffff4e43b00 in __longjmp_chk (env=0x0, val=1)
        at ../setjmp/longjmp.c:32
    #1  0x00007fffb423bc9c in  ()
        at /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so
    #2  0x00007ffff08492c7 in png_error (png_ptr=0x555557fe6ad0, error_message=error_message@entry=0x7ffff0dd9cb8 "Incompatible libpng version in application and library") at libpng/pngerror.c:80
    #3  0x00007ffff084c685 in png_create_read_struct_2 (user_png_ver=0x7fffb423ce57 "1.6.34", error_ptr=0x555557fd11a0, error_fn=0x7fffb423bc50, warn_fn=0x7fffb423cd10, mem_ptr=0x0, malloc_fn=0x7fffb423c320, free_fn=0x7fffb423afc0)
        at libpng/pngread.c:150
    

    I've installed libpng16 on my system. I rebuilt Qt5.13.0 after configuring it to use the system libpng:

    ./configure -system-libpng
    make 
    make install
    

    I've cleaned and rebuilt my app after these steps but still get the same segfault due to "Incompatible libpng version in application and library".
    Suggested fixes?
    I am building with qtcreator 4.11.1 - how can see exactly what libpng files it's compiling with and which libpng.so it's liking with?

    Thanks
    Tom


  • Lifetime Qt Champion

    Hi,

    Are you using any external library with your application that also makes use if libpng ?



  • @SGaist - hm, I am linking with numerous third-party .so libraries. What is the best way to determine their possible dependence on libpng? Thanks!


  • Lifetime Qt Champion

    ldd is your friend



  • @Christian-Ehrlicher - 'ldd myprog | grep libpng' does not show any result, so I assume that means myprog doesn't rely on libpng dynamic library. What else should I check? Thanks!


  • Lifetime Qt Champion

    You should check all the third party libraries you are using.



  • @SGaist - Thanks - what tool should I use to check these libraries?


  • Lifetime Qt Champion

    The same tool: ldd



  • @SGaist - Hm, checked all of them with ldd - none show 'libpng*' in the list


  • Lifetime Qt Champion

    Any of these uses plugins ?



  • @SGaist - I do not think so, at least I didn't create any. To be sure I ran 'ldd -u -d -r ' on all *plugin.so files in my Qt5.13.0 directory, none of them show dependency on libpng.
    Obviously something is invoking libpng routines, but I haven't found libpng dependency with ldd in any of my app's libraries....???


  • Lifetime Qt Champion

    Can you provide a full stack trace of your crash ?



  • @SGaist - yes, gdb stacktrace is below - thank you!

    Thread 1 "mbgrdviz" received signal SIGSEGV, Segmentation fault.
    __longjmp_chk (env=0x0, val=1) at ../setjmp/longjmp.c:32
    32	../setjmp/longjmp.c: No such file or directory.
    (gdb) bt
    #0  0x00007ffff4e43b00 in __longjmp_chk (env=0x0, val=1)
        at ../setjmp/longjmp.c:32
    #1  0x00007fffb423bc9c in  ()
        at /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so
    #2  0x00007ffff08492c7 in png_error (png_ptr=0x555557fde4f0, error_message=error_message@entry=0x7ffff0dd9cb8 "Incompatible libpng version in application and library") at libpng/pngerror.c:80
    #3  0x00007ffff084c685 in png_create_read_struct_2 (user_png_ver=0x7fffb423ce57 "1.6.34", error_ptr=0x555557faf050, error_fn=0x7fffb423bc50, warn_fn=0x7fffb423cd10, mem_ptr=0x0, malloc_fn=0x7fffb423c320, free_fn=0x7fffb423afc0)
        at libpng/pngread.c:150
    #4  0x00007fffb423befb in  ()
        at /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so
    #5  0x00007fffe07a408c in  ()
        at /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
    #6  0x00007fffe07a4955 in gdk_pixbuf_loader_close ()
        at /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
    #7  0x00007fffe07a120b in  ()
        at /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
    #8  0x00007fffe07a223c in gdk_pixbuf_new_from_stream ()
        at /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
    #9  0x00007fffe15ff142 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #10 0x00007fffe15ff2bb in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #11 0x00007fffe15ffb46 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #12 0x00007fffe15f74b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #13 0x00007fffe172db3a in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #14 0x00007fffe15f5faa in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #15 0x00007fffe15aebf1 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #16 0x00007fffe18058db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #17 0x00007fffe15ec3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #18 0x00007fffe15ec4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #19 0x00007fffe18058db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #20 0x00007fffe15ec3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #21 0x00007fffe15ec4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #22 0x00007fffe159fcf4 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #23 0x00007fffe15f140d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #24 0x00007fffe15f6063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #25 0x00007fffe15a2601 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #26 0x00007fffe18058db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #27 0x00007fffe15ec3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #28 0x00007fffe175b1c0 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #29 0x00007fffe15f140d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #30 0x00007fffe15f6063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #31 0x00007fffe175ad35 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #32 0x00007fffe18058db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #33 0x00007fffe15ec3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #34 0x00007fffe15ec4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #35 0x00007fffe159fcf4 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #36 0x00007fffe15f140d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #37 0x00007fffe15f6063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #38 0x00007fffe15a2601 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #39 0x00007fffe18058db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #40 0x00007fffe15ec3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #41 0x00007fffe15ec4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #42 0x00007fffe172ffd7 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #43 0x00007fffe18058db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #44 0x00007fffe15ec3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #45 0x00007fffe15ec4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #46 0x00007fffe159fcf4 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #47 0x00007fffe15f140d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #48 0x00007fffe15f6063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #49 0x00007fffe15a2601 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #50 0x00007fffe18058db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #51 0x00007fffe15ec3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #52 0x00007fffe16ed820 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #53 0x00007fffe15f140d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #54 0x00007fffe15f6063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #55 0x00007fffe16ed6c1 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #56 0x00007fffe18058db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #57 0x00007fffe15ec3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #58 0x00007fffe15ec4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #59 0x00007fffe159fcf4 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #60 0x00007fffe15f140d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #61 0x00007fffe15f6063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #62 0x00007fffe15a2601 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #63 0x00007fffe18058db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #64 0x00007fffe15ec3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #65 0x00007fffe15ec4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #66 0x00007fffe159fcf4 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #67 0x00007fffe15f140d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #68 0x00007fffe15f6063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #69 0x00007fffe15a2601 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #70 0x00007fffe18058db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #71 0x00007fffe15ec3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #72 0x00007fffe15ec4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #73 0x00007fffe159fcf4 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #74 0x00007fffe15f140d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #75 0x00007fffe15f6063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #76 0x00007fffe15a2601 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #77 0x00007fffe18058db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #78 0x00007fffe15ec3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #79 0x00007fffe15ec4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #80 0x00007fffe18136ef in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #81 0x00007fffe18058db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #82 0x00007fffe180e998 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #83 0x00007fffe16b2859 in gtk_main_do_event ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #84 0x00007fffe11c3765 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
    #85 0x00007fffe11d37f5 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
    #86 0x00007fffe11d49f6 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
    #87 0x00007fffe11d4bf0 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
    #88 0x00007fffdbdbc10d in g_closure_invoke ()
        at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #89 0x00007fffdbdcf05e in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #90 0x00007fffdbdd7715 in g_signal_emit_valist ()
        at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #91 0x00007fffdbdd812f in g_signal_emit ()
        at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #92 0x00007fffe11ccac9 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
    #93 0x00007fffe11b8080 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
    #94 0x00007fffeca4ed03 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
    #95 0x00007fffeca4e285 in g_main_context_dispatch ()
        at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
    #96 0x00007fffeca4e650 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
    #97 0x00007fffeca4e6dc in g_main_context_iteration ()
        at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
    #98 0x00007ffff5d7118f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555559fc4b0, flags=...)
        at kernel/qeventdispatcher_glib.cpp:423
    #99 0x00007ffff5d17902 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffda70, flags=..., flags@entry=...)
        at kernel/qeventloop.cpp:225
    #100 0x00007ffff5d20260 in QCoreApplication::exec() ()
        at kernel/qcoreapplication.cpp:1373
    #101 0x000055555555a767 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at main.cpp:66
    
    

  • Lifetime Qt Champion

    Can you start your application with the QT_DEBUG_PLUGINS environment variable set 1 ?



  • @SGaist - Thank you. I do that and output shows multiple image libraries being loaded:

    loaded library "/home/oreilly/Qt/5.13.0/gcc_64/plugins/imageformats/libqgif.so"
    loaded library "/home/oreilly/Qt/5.13.0/gcc_64/plugins/imageformats/libqicns.so"
    loaded library "/home/oreilly/Qt/5.13.0/gcc_64/plugins/imageformats/libqico.so"
    loaded library "/home/oreilly/Qt/5.13.0/gcc_64/plugins/imageformats/libqjpeg.so"
    loaded library "/home/oreilly/Qt/5.13.0/gcc_64/plugins/imageformats/libqsvg.so"
    loaded library "/home/oreilly/Qt/5.13.0/gcc_64/plugins/imageformats/libqtga.so"
    loaded library "/home/oreilly/Qt/5.13.0/gcc_64/plugins/imageformats/libqtiff.so"
    loaded library "/home/oreilly/Qt/5.13.0/gcc_64/plugins/imageformats/libqwbmp.so"
    loaded library "/home/oreilly/Qt/5.13.0/gcc_64/plugins/imageformats/libqwebp.so"
    

    However these do not include libpng.so - probably because before building Qt I configured it to use my system's libpng; "./configure -system-libpng", while is libpng16. What else might the problem be?


  • Lifetime Qt Champion

    What QPA and theme plugins gets loaded ?



  • @SGaist - Thanks very much for your help!
    I discovered which library is causing the problem. It's a non-Qt library that doesn't directly rely on libpng, but it does rely on 50+ other libraries - apparently one of those does directly or indirectly rely on libpng. Apparently ldd doesn't show recursive dependencies, which surprises me. https://stackoverflow.com/questions/15064685/does-ldd-also-show-dependencies-of-dependencies/15064784#15064784


  • Lifetime Qt Champion

    What library was it ?



  • @SGaist - the segfault occurs when I link with /usr/local/lib/libgmt.so.6.0.0, for the Generic Mapping Tools. I built the library from source and installed on this system. Yet when I run 'ldd /usr/local/lib/libgmt.so.6.0.0' it does not display any dependency on libpng - I don't understand why...



  • @SGaist - also tried installing libgmt-dev (rather than building myself) - I get the same segfault due to "Incompatible libpng version in application and library"


  • Lifetime Qt Champion

    What is surprising is that you build everything with system dependencies and yet you have two different png libraries.



  • @SGaist - Yes. My app is built by qtcreator as a QtQuick project. The same segfault occurs whether i build the app with distribution-provided Qt (5.9) or with offline-installer-provided Qt 5.14 (Yes, I finally figured out how to switch between those, haha). My app includes QML with a C++ singleton backend. It is the C++ backend that requires libgmt. The fault occurs when the QML attempts to open a FileDialog. If I remove the libgmt stuff from the backend, the FileDialog opens fine. Yet the backtrace doesn't show anything to do with "gmt" - how can this be? From the gdb backtrace it seems the fault happens somewhere in libgtk-3.so.0.

    
    Thread 1 "TEST4" received signal SIGSEGV, Segmentation fault.
    __longjmp_chk (env=0x0, val=1) at ../setjmp/longjmp.c:32
    32	../setjmp/longjmp.c: No such file or directory.
    (gdb) bt
    #0  0x00007ffff54f7b00 in __longjmp_chk (env=0x0, val=1)
        at ../setjmp/longjmp.c:32
    #1  0x00007fff9b5fbc9c in  ()
        at /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so
    #2  0x00007ffff3ba02c7 in png_error (png_ptr=0x55555784b650, error_message=error_message@entry=0x7ffff4130cb8 "Incompatible libpng version in application and library") at libpng/pngerror.c:80
    #3  0x00007ffff3ba3685 in png_create_read_struct_2 (user_png_ver=0x7fff9b5fce57 "1.6.34", error_ptr=0x555557801860, error_fn=0x7fff9b5fbc50, warn_fn=0x7fff9b5fcd10, mem_ptr=0x0, malloc_fn=0x7fff9b5fc320, free_fn=0x7fff9b5fafc0)
        at libpng/pngread.c:150
    #4  0x00007fff9b5fbefb in  ()
        at /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so
    #5  0x00007fffda7c508c in  ()
        at /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
    #6  0x00007fffda7c5955 in gdk_pixbuf_loader_close ()
        at /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
    #7  0x00007fffda7c220b in  ()
        at /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
    #8  0x00007fffda7c323c in gdk_pixbuf_new_from_stream ()
        at /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
    #9  0x00007fffdb620142 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #10 0x00007fffdb6202bb in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #11 0x00007fffdb620b46 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #12 0x00007fffdb6184b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #13 0x00007fffdb74eb3a in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #14 0x00007fffdb616faa in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #15 0x00007fffdb5cfbf1 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #16 0x00007fffdb8268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #17 0x00007fffdb60d3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #18 0x00007fffdb60d4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #19 0x00007fffdb8268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #20 0x00007fffdb60d3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #21 0x00007fffdb60d4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #22 0x00007fffdb5c0cf4 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    ---Type <return> to continue, or q <return> to quit---
    #23 0x00007fffdb61240d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #24 0x00007fffdb617063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #25 0x00007fffdb5c3601 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #26 0x00007fffdb8268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #27 0x00007fffdb60d3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #28 0x00007fffdb77c1c0 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #29 0x00007fffdb61240d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #30 0x00007fffdb617063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #31 0x00007fffdb77bd35 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #32 0x00007fffdb8268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #33 0x00007fffdb60d3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #34 0x00007fffdb60d4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #35 0x00007fffdb5c0cf4 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #36 0x00007fffdb61240d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #37 0x00007fffdb617063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #38 0x00007fffdb5c3601 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #39 0x00007fffdb8268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #40 0x00007fffdb60d3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #41 0x00007fffdb60d4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #42 0x00007fffdb750fd7 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #43 0x00007fffdb8268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #44 0x00007fffdb60d3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #45 0x00007fffdb60d4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #46 0x00007fffdb5c0cf4 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #47 0x00007fffdb61240d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #48 0x00007fffdb617063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #49 0x00007fffdb5c3601 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #50 0x00007fffdb8268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #51 0x00007fffdb60d3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #52 0x00007fffdb70e820 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #53 0x00007fffdb61240d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #54 0x00007fffdb617063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #55 0x00007fffdb70e6c1 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #56 0x00007fffdb8268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    ---Type <return> to continue, or q <return> to quit---
    #57 0x00007fffdb60d3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #58 0x00007fffdb60d4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #59 0x00007fffdb5c0cf4 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #60 0x00007fffdb61240d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #61 0x00007fffdb617063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #62 0x00007fffdb5c3601 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #63 0x00007fffdb8268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #64 0x00007fffdb60d3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #65 0x00007fffdb60d4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #66 0x00007fffdb5c0cf4 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #67 0x00007fffdb61240d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #68 0x00007fffdb617063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #69 0x00007fffdb5c3601 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #70 0x00007fffdb8268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #71 0x00007fffdb60d3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #72 0x00007fffdb60d4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #73 0x00007fffdb5c0cf4 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #74 0x00007fffdb61240d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #75 0x00007fffdb617063 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #76 0x00007fffdb5c3601 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #77 0x00007fffdb8268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #78 0x00007fffdb60d3ca in gtk_container_propagate_draw ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #79 0x00007fffdb60d4b2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #80 0x00007fffdb8346ef in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #81 0x00007fffdb8268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #82 0x00007fffdb82f998 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #83 0x00007fffdb6d3859 in gtk_main_do_event ()
        at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
    #84 0x00007fffdb1e4765 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
    #85 0x00007fffdb1f47f5 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
    #86 0x00007fffdb1f59f6 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
    #87 0x00007fffdb1f5bf0 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
    #88 0x00007fffd9e0010d in g_closure_invoke ()
        at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #89 0x00007fffd9e1305e in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #90 0x00007fffd9e1b715 in g_signal_emit_valist ()
        at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #91 0x00007fffd9e1c12f in g_signal_emit ()
        at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #92 0x00007fffdb1edac9 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
    #93 0x00007fffdb1d9080 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
    #94 0x00007fffeef14d03 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
    #95 0x00007fffeef14285 in g_main_context_dispatch ()
        at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
    #96 0x00007fffeef14650 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
    #97 0x00007fffeef146dc in g_main_context_iteration ()
        at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
    #98 0x00007ffff609b73c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
        at /home/oreilly/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Core.so.5
    #99 0x00007ffff6041662 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/oreilly/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Core.so.5
    #100 0x00007ffff604a590 in QCoreApplication::exec() ()
        at /home/oreilly/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Core.so.5
    #101 0x0000555555557222 in main(int, char**) (argc=<optimized out>, argv=<optimi
    


  • @SGaist - the very last call in the stack trace before the fault is from library /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so. Running ldd on that library shows dependence on libpng16.so.16. If I find 'libpng*.so*' on /usr/ I get:

    /usr/lib/x86_64-linux-gnu/libpng16.so
    /usr/lib/x86_64-linux-gnu/libpng16.so.16
    /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
    

    So I really don't understand the origin of the libpng version error...


  • Lifetime Qt Champion

    Can you try to use a different style ? For example the Fusion style.



  • @SGaist - I solved the problem. One of the third-party libraries (libgdal) also included source code from old libpng v1.2.56. So even though libpng v1.6 was installed, the application would find the libpng functions in that libgdal library first. That older libpng function checks to see if a newer version is installed on the system and if so prints an error message - but in this case the libpng error function pointer was corrupt for some reason (haven't solved that), hence it attempted to print "Incompatible libpng version in application and library" before the SIGSEGV.
    gnu gdb eventually led me to discover the problem. Thanks for all your help!


  • Lifetime Qt Champion

    Glad you found out and thanks for sharing !


Log in to reply