On Tue, 4 Nov 2025 16:27:57 +0100
ichthyo <[email protected]> wrote:

>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
>

I'll start a new branch with as much disabled as possible, but not actually
deleted so bits can be re-enabled one at at time.

-- 
Will J Godfrey




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

Reply via email to