FLTK logo

Re: [fltk.coredev] Draw to X11 windows using only Cairo

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.coredev  ]
 
Previous Message ]New Message | Reply ]Next Message ]

Re: Draw to X11 windows using only Cairo wcout Apr 22, 2022  
 
Am 15.03.22 um 09:28 schrieb Manolo:
> For easier testing, I've put this code variant in a new branch called display-cairo
> of my FLTK fork at https://github.com/ManoloFLTK/fltk
>

Observing some rare and completely random crashes just clicking around with the demo program.
Luckily I could finally catch one under a debugging session. Seems to have something to do with tooltips:

demo: ../../../../src/cairo.c:524: cairo_destroy: Assertion `CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&cr->ref_count)' failed.

Program received signal SIGABRT, Aborted.

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff7522859 in __GI_abort () at abort.c:79
#2  0x00007ffff7522729 in __assert_fail_base
    (fmt=0x7ffff76b8588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7ffff7c7a700 "CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&cr->ref_count)", file=0x7ffff7c7a697 "../../../../src/cairo.c", line=524, function=<optimized out>) at assert.c:92
#3  0x00007ffff7534006 in __GI___assert_fail
    (assertion=0x7ffff7c7a700 "CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&cr->ref_count)", file=0x7ffff7c7a697 "../../../../src/cairo.c", line=524, function=0x7ffff7c7a758 "cairo_destroy") at assert.c:101
#4  0x00007ffff7c14fe9 in  () at /usr/lib/x86_64-linux-gnu/libcairo.so.2
#5  0x00005555555bc263 in Fl_X11_Window_Driver::hide() (this=0x555555805e30)
    at drivers/X11/Fl_X11_Window_Driver.cxx:434
#6  0x00005555555a3e84 in Fl_Window::hide() (this=0x55555580bdf0) at Fl_Window.cxx:555
#7  0x00005555555a12b0 in Fl_Tooltip::exit_(Fl_Widget*) (w=0x0) at Fl_Tooltip.cxx:251
#8  0x00005555555a1107 in Fl_Tooltip::enter_(Fl_Widget*) (w=0x55555572cf20) at Fl_Tooltip.cxx:207
#9  0x0000555555572f71 in Fl::handle_(int, Fl_Window*) (e=11, window=0x5555556745e0) at Fl.cxx:1244
#10 0x0000555555572cab in Fl::handle(int, Fl_Window*) (e=11, window=0x5555556745e0) at Fl.cxx:1157
#11 0x00005555555c2730 in fl_handle(_XEvent const&) (thisevent=...) at Fl_x.cxx:2064
#12 0x00005555555bcfa8 in do_queued_events() () at Fl_x.cxx:116
#13 0x00005555555bd32f in fd_callback(int, void*) () at Fl_x.cxx:312
#14 0x00005555555e5f87 in Fl_Unix_System_Driver::poll_or_select_with_delay(double) (this=
    0x55555565e250, time_to_wait=11.970500999999993) at drivers/Unix/Fl_Unix_System_Driver.cxx:814
#15 0x00005555555bd047 in Fl_X11_System_Driver::poll_or_select_with_delay(double)
    (this=0x55555565e250, time_to_wait=11.970500999999993) at Fl_x.cxx:138
#16 0x00005555555e638e in Fl_Unix_System_Driver::wait(double)
    (this=0x55555565e250, time_to_wait=11.970500999999993)
    at drivers/Unix/Fl_Unix_System_Driver.cxx:855
#17 0x0000555555571d99 in Fl::wait(double) (time_to_wait=1e+20) at Fl.cxx:482
#18 0x0000555555571dc1 in Fl::run() () at Fl.cxx:502
#19 0x0000555555571482 in main(int, char**) (argc=1, argv=0x7fffffffdf38) at demo.cxx:613


Just tried again with this assumption and now I can replicate:

Start any program using tooltips and wait for a tooltip to appear. At the second time the crash occurs.

-- 
You received this message because you are subscribed to the Google Groups "fltk.coredev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fltkcoredev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkcoredev/255b285a-f592-3c1b-dc84-ef4a2168a3a3%40gmx.net.
Direct Link to Message ]
 
     
Previous Message ]New Message | Reply ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.