Hello Yoshimi-devs,

starting a new topic for the problems first detected by Derek Hall on Ubuntu

Original Bug report: https://sourceforge.net/p/yoshimi/bugs/40/




Facts established thus far:

- FLTK 1.4 is the first Version with Wayland support.
  They use a hybrid approach, so that the FLTK toolkit switches
  to the graphics backend appropriate for the given setup.

- the crash happens under Wayland / Gnome, immediately at the point
  when the main UI is created (the splash screen still displays)

- the audio engine is irrelevant.

  yoshimi --null   # crashes

  yoshimi -i       # no GUI, no crash


- *WORKAROUND* the selection of the FLTK backend is configurable
  https://www.fltk.org/doc-1.4/osissues.html#osissues_wl_x11_hybrid

  it can be controlled with an environment variable.
  In theory it can be controlled even from within the program
  before starting the UI.

  FLTK_BACKEND=x11 yoshimi  # works under Ubnuntu 25.10

  FLTK_BACKEND=wayland yoshimi  # crashes under Ubuntu, also with --null


  However, Wayland is not going away, so we should *resolve* this issue!


- we have several stacktraces with v2.3.4.1 (previous release, Ubuntu package)
  and v2.3.5.1 (latest release, my PPA)
  https://launchpad.net/~ichthyo/+archive/ubuntu/music

- the stacktrace is always similar. It happens when FLTK flushes some
  redraw events. *No yoshimi code* is involved in the actual stacktrace,
  but obviously, Yoshimi somehow triggered the problem by a combination
  of features not so commonly used.

====== Stacktrace from Yoshimi 2.3.5.1  ========

#0  0x0000557ac9197a27 in ?? ()
#1 0x00007853314c9bfd in Fl_Group::draw_child(Fl_Widget&) const () from /lib/x86_64-linux-gnu/libfltk.so.1.4 #2 0x00007853314c9e52 in Fl_Group::draw_children() () from /lib/x86_64-linux-gnu/libfltk.so.1.4 #3 0x00007853314c9bfd in Fl_Group::draw_child(Fl_Widget&) const () from /lib/x86_64-linux-gnu/libfltk.so.1.4 #4 0x00007853314c9e52 in Fl_Group::draw_children() () from /lib/x86_64-linux-gnu/libfltk.so.1.4 #5 0x000078533151e20b in Fl_Window::draw() () from /lib/x86_64-linux-gnu/libfltk.so.1.4 #6 0x00007853315497ee in Fl_Wayland_Window_Driver::flush() () from /lib/x86_64-linux-gnu/libfltk.so.1.4
#7  0x0000785331547b09 in ?? () from /lib/x86_64-linux-gnu/libfltk.so.1.4
#8 0x000078533038e88c in xdg_surface_configure (user_data=0x78530443d4d0, xdg_surface=<optimized out>, serial=263) at ../src/libdecor.c:357
#9  0x000078532f981ed6 in ?? () from /lib/x86_64-linux-gnu/libffi.so.8
#10 0x000078532f97eba6 in ?? () from /lib/x86_64-linux-gnu/libffi.so.8
#11 0x000078532f9814ae in ffi_call () from /lib/x86_64-linux-gnu/libffi.so.8
#12 0x00007853303a198b in ?? () from 
/lib/x86_64-linux-gnu/libwayland-client.so.0
#13 0x00007853303a27c9 in ?? () from 
/lib/x86_64-linux-gnu/libwayland-client.so.0
#14 0x00007853303a2bc3 in wl_display_dispatch_queue_pending () from /lib/x86_64-linux-gnu/libwayland-client.so.0 #15 0x00007853303a633a in wl_display_dispatch_queue_timeout () from /lib/x86_64-linux-gnu/libwayland-client.so.0 #16 0x00007853303a640f in wl_display_dispatch_queue () from /lib/x86_64-linux-gnu/libwayland-client.so.0
#17 0x000078533153fe5b in ?? () from /lib/x86_64-linux-gnu/libfltk.so.1.4
#18 0x000078533153e9d0 in Fl_Unix_Screen_Driver::poll_or_select_with_delay(double) () from /lib/x86_64-linux-gnu/libfltk.so.1.4 #19 0x000078533154a9a1 in Fl_Unix_System_Driver::wait(double) () from /lib/x86_64-linux-gnu/libfltk.so.1.4
#20 0x0000557ac91ad8dc in ?? ()
#21 0x00007853306a3d64 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:448 #22 0x00007853307373bc in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78



What can we do?

Will and myself just discussed some options per mail.
We both agree that we should try to narrow down the surface of the problem.
So the first idea would be to create a striped-down variant of Yoshimi.
Seemingly we do not need the synth engine running.
Is there a way to launch only a single window and not to define the
other sub windows at all?

Another thing worth trying would be if we can reproduce the crash
with a Debian? Because, I'd guess the Debian people would be very
interested to know about this kind of integration problems with
Wayland. While Ubuntu basically just consumes and packages Debian.

Thus it seems relevant to know if this happens only on Ubuntu
or on any Gnome desktop using Wayland. (Maybe even on KDE / Plasma?)


-- Hermann





_______________________________________________
Yoshimi-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel

Reply via email to