GTK 4 C Application doesn't always run (show up) and needs to be killed

Hello, here’s a new description of my problem with my gtk4 C application. When I run the program, then close it, at next run it might hang, one ore more times, then runs again. And I need to kill it for times it didn’t run. Indeed, it runs, but doesn’t always show. Apparently it is because I use a DrawingArea (when I don’t create the DrawingArea I can run/close/run again as many times as I want and it works). Do you have any hints, any thing that could help me find what I need to do ? I’m using DrawingArea on my application for a year now and as long as it was with a GtkNotebook it worked fine, but now I’m simply using it into my main window. I’m already in the process of rewriting this same application with other tools but I would like to know what I can do to have it run properly. I already put code into my previous post about this problem if you want to browse it.

gtk4pb

It’d be useful to see what the terminal show if you run it.

There’s nothing shown if I run it from the command line, I added feedback and it normally creates all the widgets and runs the command that shows the window but it simply doesn’t appear. Maybe do I need to add something instead of NULL as last parameter of gtk_drawing_area_Set_draw () but as I already said in my last post I didn’t find what to put here.

You may try that:

  1. Compile your application with debug symbols (-g)
  2. Run your application
  3. If the window doesn’t show up, open a terminal and launch the command: gdb -p <pid>, substituting <pid> with the PID of your program.
  4. From the gdb prompt insert the command thread apply all bt and press enter
  5. Post the output here

Thank you again for your help.

here is the output :
´´´
gilb-r@VIVOBOOK:~$ sudo gdb -p 47114
[sudo] Mot de passe de gilb-r :
GNU gdb (Ubuntu 12.1-3ubuntu2) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type “show copying” and “show warranty” for details.
This GDB was configured as “x86_64-linux-gnu”.
Type “show configuration” for configuration details.
For bug reporting instructions, please see:
https://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.

For help, type “help”.
Type “apropos word” to search for commands related to “word”.
Attaching to process 47114
[New LWP 47116]
[New LWP 47117]
[New LWP 47119]
[New LWP 47124]
[New LWP 47125]
[New LWP 47126]
[New LWP 47127]
[New LWP 47128]
[New LWP 47129]
[New LWP 47130]
[New LWP 47131]
[New LWP 47132]
[New LWP 47133]
[Thread debugging using libthread_db enabled]
Using host libthread_db library “/lib/x86_64-linux-gnu/libthread_db.so.1”.
0x00007ff1e9f32540 in ?? () from /lib/x86_64-linux-gnu/libcairo.so.2
(gdb) thread apply all bt

Thread 14 (Thread 0x7ff1a27fc6c0 (LWP 47133) “DeplieurBa:sh2”):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x56467c54a294) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x56467c54a294) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x56467c54a294, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ff1e8e8f338 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x56467c54a240, cond=0x56467c54a268) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=0x56467c54a268, mutex=0x56467c54a240) at ./nptl/pthread_cond_wait.c:627
#5 0x00007ff1c20c819b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#6 0x00007ff1c211191b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#7 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#8 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 13 (Thread 0x7ff1a2ffd6c0 (LWP 47132) “DeplieurBa:sh1”):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x56467c54a294) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x56467c54a294) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x56467c54a294, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ff1e8e8f338 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x56467c54a240, cond=0x56467c54a268) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=0x56467c54a268, mutex=0x56467c54a240) at ./nptl/pthread_cond_wait.c:627
#5 0x00007ff1c20c819b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#6 0x00007ff1c211191b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#7 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#8 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 12 (Thread 0x7ff1a37fe6c0 (LWP 47131) “DeplieurBa:gl0”):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff1ceb090d0) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x7ff1ceb090d0) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7ff1ceb090d0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ff1e8e8f338 in __pthread_cond_wait_common (abstime=0x0, clockid=0, m—Type–Type f–Type <R–Type <–Type <–Ty---------Type --Type for m–Type for mo–Type for --Type —Type for more, q to quit, c to continue without paging–c
utex=0x7ff1ceb09080, cond=0x7ff1ceb090a8) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=0x7ff1ceb090a8, mutex=0x7ff1ceb09080) at ./nptl/pthread_cond_wait.c:627
#5 0x00007ff1c20c819b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#6 0x00007ff1c211191b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#7 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#8 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 11 (Thread 0x7ff1a3fff6c0 (LWP 47130) “Deplieur:gdrv0”):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff1ceb4a588) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x7ff1ceb4a588) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7ff1ceb4a588, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ff1e8e8f338 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7ff1ceb4a538, cond=0x7ff1ceb4a560) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=0x7ff1ceb4a560, mutex=0x7ff1ceb4a538) at ./nptl/pthread_cond_wait.c:627
#5 0x00007ff1c20c819b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#6 0x00007ff1c211191b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#7 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#8 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 10 (Thread 0x7ff1b8dfb6c0 (LWP 47129) “DeplieurBa:gl0”):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff1ceb7f0d0) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x7ff1ceb7f0d0) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7ff1ceb7f0d0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ff1e8e8f338 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7ff1ceb7f080, cond=0x7ff1ceb7f0a8) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=0x7ff1ceb7f0a8, mutex=0x7ff1ceb7f080) at ./nptl/pthread_cond_wait.c:627
#5 0x00007ff1c20c819b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#6 0x00007ff1c211191b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#7 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#8 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 9 (Thread 0x7ff1b95fc6c0 (LWP 47128) “Deplieur:gdrv0”):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7ff1cebc0588) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x7ff1cebc0588) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7ff1cebc0588, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ff1e8e8f338 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7ff1cebc0538, cond=0x7ff1cebc0560) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=0x7ff1cebc0560, mutex=0x7ff1cebc0538) at ./nptl/pthread_cond_wait.c:627
#5 0x00007ff1c20c819b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#6 0x00007ff1c211191b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#7 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#8 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 8 (Thread 0x7ff1b9dfd6c0 (LWP 47127) “Deplieur:shlo0”):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x56467c54a800) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x56467c54a800) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x56467c54a800, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ff1e8e8f338 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x56467c54a7b0, cond=0x56467c54a7d8) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=0x56467c54a7d8, mutex=0x56467c54a7b0) at ./nptl/pthread_cond_wait.c:627
#5 0x00007ff1c20c819b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#6 0x00007ff1c211191b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#7 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#8 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 7 (Thread 0x7ff1ba5fe6c0 (LWP 47126) “DeplieurBa:sh0”):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x56467c54a294) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x56467c54a294) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x56467c54a294, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ff1e8e8f338 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x56467c54a240, cond=0x56467c54a268) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=0x56467c54a268, mutex=0x56467c54a240) at ./nptl/pthread_cond_wait.c:627
#5 0x00007ff1c20c819b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#6 0x00007ff1c211191b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#7 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#8 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 6 (Thread 0x7ff1badff6c0 (LWP 47125) “Deplieu:disk$0”):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x56467c459de8) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x56467c459de8) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x56467c459de8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ff1e8e8f338 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x56467c459d98, cond=0x56467c459dc0) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=0x56467c459dc0, mutex=0x56467c459d98) at ./nptl/pthread_cond_wait.c:627
#5 0x00007ff1c20c819b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#6 0x00007ff1c211191b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#7 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#8 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 5 (Thread 0x7ff1ccdff6c0 (LWP 47124) “DeplieurBa:cs0”):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x56467c5385f0) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x56467c5385f0) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x56467c5385f0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ff1e8e8f338 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x56467c5385a0, cond=0x56467c5385c8) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=0x56467c5385c8, mutex=0x56467c5385a0) at ./nptl/pthread_cond_wait.c:627
#5 0x00007ff1c20c819b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#6 0x00007ff1c211191b in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#7 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#8 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 4 (Thread 0x7ff1e5ffc6c0 (LWP 47119) “dconf worker”):
#0 0x00007ff1e8f1112f in __GI___poll (fds=0x56467c342840, nfds=1, timeout=-1) at …/sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007ff1e939933e in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ff1e9341d20 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ff1ea01f33d in () at /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4 0x00007ff1e93735c1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#6 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 3 (Thread 0x7ff1e6ffe6c0 (LWP 47117) “gdbus”):
#0 0x00007ff1e8f1112f in __GI___poll (fds=0x56467c31ccf0, nfds=3, timeout=-1) at …/sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007ff1e939933e in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ff1e9343aef in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ff1e953c49a in () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#4 0x00007ff1e93735c1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#6 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 2 (Thread 0x7ff1e77ff6c0 (LWP 47116) “gmain”):
#0 0x00007ff1e8f1112f in __GI___poll (fds=0x56467c306a90, nfds=1, timeout=-1) at …/sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007ff1e939933e in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ff1e9341d20 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ff1e9341d71 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007ff1e93735c1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ff1e8e90402 in start_thread (arg=) at ./nptl/pthread_create.c:442
#6 0x00007ff1e8f1f590 in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 1 (Thread 0x7ff1e8315a00 (LWP 47114) “DeplieurBase”):
#0 0x00007ff1e9f32540 in () at /lib/x86_64-linux-gnu/libcairo.so.2
#1 0x00007ff1e9f33209 in () at /lib/x86_64-linux-gnu/libcairo.so.2
#2 0x00007ff1e9f3380e in () at /lib/x86_64-linux-gnu/libcairo.so.2
#3 0x00007ff1e9f732fe in cairo_rectangle () at /lib/x86_64-linux-gnu/libcairo.so.2
#4 0x000056467c1b6713 in dessinePage (area=0x56467c4a2620, cr=0x7ff1dc08ed10, width=600, height=842, data=0x56467c2f4d70) at /home/gilb-r/Documents/PROJETS/DeplieurBase/main.c:1221
#5 0x00007ff1e972f0e0 in gtk_drawing_area_snapshot (widget=, snapshot=0x56467cdd30f0) at …/gtk/gtkdrawingarea.c:262
#6 0x00007ff1e98a13fa in gtk_widget_create_render_node (widget=widget@entry=0x56467c4a2620, snapshot=snapshot@entry=0x56467cdd30f0) at …/gtk/gtkwidget.c:11624
#7 0x00007ff1e98a4414 in gtk_widget_do_snapshot (widget=widget@entry=0x56467c4a2620, snapshot=snapshot@entry=0x56467cdd30f0) at …/gtk/gtkwidget.c:11659
#8 0x00007ff1e98b0c02 in gtk_widget_snapshot_child (widget=, child=0x56467c4a2620, snapshot=0x56467cdd30f0) at …/gtk/gtkwidget.c:12080
#9 0x00007ff1e98b0c8e in gtk_widget_real_snapshot (widget=0x56467c4af1b0, snapshot=0x56467cdd30f0) at …/gtk/gtkwidget.c:763
#10 0x00007ff1e98a17dc in gtk_widget_create_render_node (widget=widget@entry=0x56467c4af1b0, snapshot=snapshot@entry=0x56467cdd30f0) at …/gtk/gtkwidget.c:11619
#11 0x00007ff1e98a4414 in gtk_widget_do_snapshot (widget=widget@entry=0x56467c4af1b0, snapshot=snapshot@entry=0x56467cdd30f0) at …/gtk/gtkwidget.c:11659
#12 0x00007ff1e98b0c02 in gtk_widget_snapshot_child (widget=, child=0x56467c4af1b0, snapshot=0x56467cdd30f0) at …/gtk/gtkwidget.c:12080
#13 0x00007ff1e98b0c8e in gtk_widget_real_snapshot (widget=0x56467c44c910, snapshot=0x56467cdd30f0) at …/gtk/gtkwidget.c:763
#14 0x00007ff1e981822a in gtk_scrolled_window_snapshot (widget=0x56467c44c910, snapshot=0x56467cdd30f0) at …/gtk/gtkscrolledwindow.c:2817
#15 0x00007ff1e98a13fa in gtk_widget_create_render_node (widget=widget@entry=0x56467c44c910, snapshot=snapshot@entry=0x56467cdd30f0) at …/gtk/gtkwidget.c:11624
#16 0x00007ff1e98a4414 in gtk_widget_do_snapshot (widget=widget@entry=0x56467c44c910, snapshot=snapshot@entry=0x56467cdd30f0) at …/gtk/gtkwidget.c:11659
#17 0x00007ff1e98b0c02 in gtk_widget_snapshot_child (widget=, child=0x56467c44c910, snapshot=0x56467cdd30f0) at …/gtk/gtkwidget.c:12080
#18 0x00007ff1e98b0c8e in gtk_widget_real_snapshot (widget=0x56467c490d90, snapshot=0x56467cdd30f0) at …/gtk/gtkwidget.c:763
#19 0x00007ff1e98a13fa in gtk_widget_create_render_node (widget=widget@entry=0x56467c490d90, snapshot=snapshot@entry=0x56467cdd30f0) at …/gtk/gtkwidget.c:11624
#20 0x00007ff1e98a4414 in gtk_widget_do_snapshot (widget=widget@entry=0x56467c490d90, snapshot=snapshot@entry=0x56467cdd30f0) at …/gtk/gtkwidget.c:11659
#21 0x00007ff1e98b0c02 in gtk_widget_snapshot_child (widget=, child=0x56467c490d90, snapshot=0x56467cdd30f0) at …/gtk/gtkwidget.c:12080
#22 0x00007ff1e98b0c8e in gtk_widget_real_snapshot (widget=0x56467c47e2b0, snapshot=0x56467cdd30f0) at …/gtk/gtkwidget.c:763
#23 0x00007ff1e98a17dc in gtk_widget_create_render_node (widget=widget@entry=0x56467c47e2b0, snapshot=snapshot@entry=0x56467cdd30f0) at …/gtk/gtkwidget.c:11619
#24 0x00007ff1e98a4414 in gtk_widget_do_snapshot (widget=widget@entry=0x56467c47e2b0, snapshot=snapshot@entry=0x56467cdd30f0) at …/gtk/gtkwidget.c:11659
#25 0x00007ff1e98b043b in gtk_widget_snapshot (snapshot=0x56467cdd30f0, widget=0x56467c47e2b0) at …/gtk/gtkwidget.c:11681
#26 gtk_widget_render (widget=widget@entry=0x56467c47e2b0, surface=0x56467c44c950, region=region@entry=0x56467c3faa30) at …/gtk/gtkwidget.c:11713
#27 0x00007ff1e98b7ad9 in surface_render (surface=, region=region@entry=0x56467c3faa30, widget=widget@entry=0x56467c47e2b0) at …/gtk/gtkwindow.c:4719
#28 0x00007ff1e9a2ead8 in _gdk_marshal_BOOLEAN__BOXEDv (closure=0x56467cda6ba0, return_value=0x7ffe5031dc90, instance=, args=, marshal_data=, n_params=, param_types=0x56467c4c8dd0) at gdk/gdkmarshalers.c:130
#29 0x00007ff1e9ebe31c in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#30 0x00007ff1e9ebe403 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#31 0x00007ff1e9a5a613 in gdk_surface_process_updates_internal (surface=0x56467c44c950) at …/gdk/gdksurface.c:1334
#32 gdk_surface_paint_on_clock (clock=, data=) at …/gdk/gdksurface.c:1422
#33 0x00007ff1e9ebe31c in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#34 0x00007ff1e9ebe403 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#35 0x00007ff1e9a49d33 in _gdk_frame_clock_emit_paint (frame_clock=) at …/gdk/gdkframeclock.c:708
#36 0x00007ff1e9a4a868 in gdk_frame_clock_paint_idle (data=) at …/gdk/gdkframeclockidle.c:609
#37 0x00007ff1e9344b02 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007ff1e934443f in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007ff1e93993c8 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007ff1e9341d20 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#41 0x00007ff1e950845d in g_application_run () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#42 0x000056467c1b7438 in main (argc=1, argv=0x7ffe5031e3d8) at /home/gilb-r/Documents/PROJETS/DeplieurBase/main.c:1333
(gdb)
´´´

1 Like

It seems to deadlock in a call to Cairo (cairo_rectangle() at main.c:1221)

That’s strange, I’m gonna take a look at the Cairo source code

Can you install debug symbols for Cairo and take a backtrace again?

I’m afraid I don’t know how to do that. I tried to install a package called libcairo2-dbgsym, but it does not seem to install it and the snap store hangs.

I finally checked up my code, and I found out that I didn’t initialize everything into my main data structure that was used to build the only cairo_rectangle I’m using into the function used to draw the drawing_area. And now it works fine. Thank you again @lb90, your help was really appreciated.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.