Hi David. (gc-disable) was a smart idea, sadly it does not help, but at least we know now. It makes Valgrind errors disappear after (gc-disable) was called.
scheme@(guile-user)> ,use (g-golf) scheme@(guile-user)> (gc-disable) scheme@(guile-user)> (chdir "/home/florian/src/g-golf/examples/gtk-4") scheme@(guile-user)> (load "drawing-widget.scm") scheme@(guile-user)> (main '("-d")) ;; g-application-run ;; application: #<<gtk-application> 7ff0b42834e0> ;; argc: 0 ;; argv: () ;; gtk-window-set-child ;; window: #<<gtk-application-window> 7ff0b42a0eb0> ;; child: #<<drawing-widget> 7ff0b42a0bf0> ;; gtk-window-present ;; window: #<<gtk-application-window> 7ff0b42a0eb0> Segmentation fault florian@florianhp ~/src/tcgocr [env]$ valgrind 2>&1 guile | tee valout ==7880== Memcheck, a memory error detector ==7880== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. ==7880== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info ==7880== Command: guile ==7880== ==7880== Conditional jump or move depends on uninitialised value(s) ==7880== at 0x49B5016: GC_push_all_eager (in /gnu/store/1w1r6r56z9lhg8ghcb7lxss6mkn7d5l1-libgc-8.2.2/lib/libgc.so.1.5.1) ==7880== by 0x49AB38B: ??? (in /gnu/store/1w1r6r56z9lhg8ghcb7lxss6mkn7d5l1-libgc-8.2.2/lib/libgc.so.1.5.1) [tons of GC errors…] scheme@(guile-user)> (gc-disable) [more GC errors…] ==7880== by 0x48C9EDB: ??? (in /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1.6.0) ==7880== by 0x492895E: ??? (in /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1.6.0) ==7880== by 0x4933DB4: scm_call_n (in /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1.6.0) ==7880== scheme@(guile-user)> ,use (g-golf) scheme@(guile-user)> (chdir "/home/florian/src/g-golf/examples/gtk-4") scheme@(guile-user)> (load "drawing-widget.scm") scheme@(guile-user)> (main '("-d")) ==7880== ==7880== Process terminating with default action of signal 11 (SIGSEGV) ==7880== Bad permissions for mapped region at address 0x94BC2D0 ==7880== at 0x94BC2D0: ??? ==7880== by 0xFEBB28A: ??? (in /gnu/store/qp9j03r0qszb61j6w786nvcqpd6f0rij-gtk-4.12.3/lib/libgtk-4.so.1.1200.3) ==7880== by 0xFEBC189: gtk_widget_snapshot_child (in /gnu/store/qp9j03r0qszb61j6w786nvcqpd6f0rij-gtk-4.12.3/lib/libgtk-4.so.1.1200.3) ==7880== by 0xFEA3FD3: ??? (in /gnu/store/qp9j03r0qszb61j6w786nvcqpd6f0rij-gtk-4.12.3/lib/libgtk-4.so.1.1200.3) ==7880== by 0xFEBB0F7: ??? (in /gnu/store/qp9j03r0qszb61j6w786nvcqpd6f0rij-gtk-4.12.3/lib/libgtk-4.so.1.1200.3) ==7880== by 0xFEBB28A: ??? (in /gnu/store/qp9j03r0qszb61j6w786nvcqpd6f0rij-gtk-4.12.3/lib/libgtk-4.so.1.1200.3) ==7880== by 0xFEBB342: ??? (in /gnu/store/qp9j03r0qszb61j6w786nvcqpd6f0rij-gtk-4.12.3/lib/libgtk-4.so.1.1200.3) ==7880== by 0xFEBB449: ??? (in /gnu/store/qp9j03r0qszb61j6w786nvcqpd6f0rij-gtk-4.12.3/lib/libgtk-4.so.1.1200.3) ==7880== by 0xFECACA0: ??? (in /gnu/store/qp9j03r0qszb61j6w786nvcqpd6f0rij-gtk-4.12.3/lib/libgtk-4.so.1.1200.3) ==7880== by 0x10100370: ??? (in /gnu/store/qp9j03r0qszb61j6w786nvcqpd6f0rij-gtk-4.12.3/lib/libgtk-4.so.1.1200.3) ==7880== by 0xC0F05B8: ??? (in /gnu/store/kjdjarbkknf8vv9rc8vkkh1k1vrc57r0-glib-2.78.0/lib/libgobject-2.0.so.0.7800.0) ==7880== by 0xC10352D: ??? (in /gnu/store/kjdjarbkknf8vv9rc8vkkh1k1vrc57r0-glib-2.78.0/lib/libgobject-2.0.so.0.7800.0) ==7880== ==7880== HEAP SUMMARY: ==7880== in use at exit: 36,575,081 bytes in 110,686 blocks ==7880== total heap usage: 633,552 allocs, 522,866 frees, 87,881,755 bytes allocated ==7880== ==7880== LEAK SUMMARY: ==7880== definitely lost: 2,936 bytes in 15 blocks ==7880== indirectly lost: 16,350 bytes in 682 blocks ==7880== possibly lost: 19,128,578 bytes in 14,960 blocks ==7880== still reachable: 17,316,057 bytes in 94,084 blocks ==7880== suppressed: 0 bytes in 0 blocks ==7880== Rerun with --leak-check=full to see details of leaked memory ==7880== ==7880== Use --track-origins=yes to see where uninitialised values come from ==7880== For lists of detected and suppressed errors, rerun with: -s ==7880== ERROR SUMMARY: 9656 errors from 72 contexts (suppressed: 0 from 0) florian@florianhp ~/src/tcgocr [env]$ David Pirotte <da...@altosw.be> writes: > No problem. I am also interested in fixing this bug :) > Imo, you should locally patch your guix image so it has one gdk-pixbuf > lib installed keep the one that has the debug symbols The one gdk-pixbuf problem is locally solved (I think, the error message is gone and hello-world.scm works) by using --no-grafts in every Guix invocation. What I could/will still do is collect gdk-pixbuf debug info in the same directory as locally patched gtk debug info. >> Setting the GTK_A11Y env var does not make a difference (except the >> warning is gone) and on my x86_64 GNOME setup there never is a warning >> (although GTK_A11Y is unset, but d-bus is there). > > I never thought in any moment that this warning was in any way 'linked' > to the problem, i did say and re-state here, that guix should be fixed > so it does not complain it can't find d-bus - terrible imo, it can lead > to other problems - till then, locally define the env var so we get > this annoying warning out of the way Well the d-bus service cannot be a requirement of a Guix package. It could be a requirement of a Guix service, but g-golf is not a service but just a package. Regards, Florian