-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Segmentation fault in fluidsynth.py and other problems on Ubuntu 22.04.1 LTS #63
Comments
I tried to replace Now the crash is gone, but I have lots of invisible GUI elements and error messages like
This seems to be an issue with wxWidgets and Python 3.10: wxWidgets/Phoenix#2038 |
By installing After this I noticed some missing libfluidsync API functions which were not defined in my modified version of Now I still get an error I could not track down: And some GTK assertion messages with a nonexistent line number: EasyABC is now working again. Edit:
and
and in 4 of the 6 tabs, the GUI elements are all in the top left corner. Might be another problem of wxWidgets with Python 3.10. I was able to fix this by modifying the file |
I have been using EasyABC on Arch Linux against libfluidsynth.so.3. Some of the changes that I needed to apply were:
Hope this helps |
I got v1.3.8.6 (from SF) to work on OpenSUSE 15.4 with: wxpython is 4.1.1 I used @bomm 's amended fluidsynth.py.txt from #issuecomment-1370203164 above. It generates these messages on starting
It always plays from the beginning, as it did with v1.3.7.7 under python 2. |
This hacked up version in a fork works for me on Ubuntu 22.04.2 LTS |
bump |
I've just tried this and it works. I'm not associated with @jwdj, but I'd be happy to review any PR to this repo. I can confirm that your branch works for me locally on Ubuntu 22.04. 😄 Now I've got some smallpipe variations to write... |
Give this a try: #72 |
I thought I had fluidsynth working with SUSE Linux - most recently on SuSE Leap 15.5 - see #76 I had included the code here which had got rid of the segfault: But I found that it never returns from this statement:
The fluid_audio_driver_register() now returns 0. But it segfaults when it hits I got rid of latin-1 in the encode() so it's utf-8 but that makes no difference. Has anybody got a recent version of EasyABC to work with Linux and fluidsynth and checked that it's actually using fluidsynth? I had assumed it was because it didn't give the warning that it wasn't, and I'd specified a soundfont in the settings. I had to put a different soundfont into timidity to discover what was being used. |
@bomm Also, I'd be grateful for your feedback as I have only been able to test the mods on 64bit Windows and Linux bookworm - it would be nice to know whether it also works on other Linux distros Mark |
I think the problem occurs since upgrading to Ubuntu 22.04.1 LTS from Ubuntu 20.04.5 LTS (I'm not sure if the last number was 5.)
Is there anyone using EasyABC on Ubuntu 22.04.1 LTS?
Or is there anyone using EasyABC with
libfluidsynth.so.3
on any Linux?When I start
easy_abc.py
, it is terminated withSegmentation fault
.Using
pdb
I traced it down to this Python call stack:F.fluid_settings_setnum(self.settings, c_char_p(b(name)), c_double(value))
influidsynth.py:85
self.setting_setnum('synth.gain', gain)
influidsynth.py:62
self.fs = F.Synth(gain=1.0, bsize=2048) # make a synth
influidsynthplayer.py:17
self.mc = FluidSynthPlayer(init_soundfont_path)
ineasy_abc.py:3976
On my system it uses
libfluidsynth.so.3
which isI don't know if this is a problem of
libfluidsynth
or the Python wrappers.In Ubuntu 20.04.5 LTS,
libfluidsynth.so.3
was not yet available, onlylibfluidsynth.so.2
, which is a link tolibfluidsynth.so.2.3.1
.There are incompatible changes between
libfluidsynth.so.3
andlibfluidsynth.so.2
. I don't know if they affect thy Python interface.See https://www.fluidsynth.org/api/RecentChanges.html#NewIn2_2_0
Additional research:
After installing
libfluidsynth2_2.1.1-2_amd64.deb
from the Ubuntu FocalFossa repository and changing the order of the library versions influidsynth.py
to preferlibfluidsynth.so.2
does not change the behavior. Withlibfluidsynth.so.2
I get a segmentation fault at the same Python code line.The
fluidsynth
command line program which useslibfluidsynth.so.3
is able to play a MIDI file without crash.The text was updated successfully, but these errors were encountered: