hydrogen-music / hydrogen

The advanced drum machine for Linux, macOS, and Windows
http://www.hydrogen-music.org
GNU General Public License v2.0
1.04k stars 173 forks source link

Crashing when opning new file #1906

Closed lymber closed 9 months ago

lymber commented 10 months ago

Hydrogen version * : 1.2.0-beta, from Debian repositories. Operating system + version : Debian trixie/sid Audio driver + version : pipewire 1.0.0


Hydrogen plays normally the last used file, but asking for opening a new file it crashes. Here is the ouput:

Hydrogen 1.2.0-beta [Nov 27 2022]  [http://www.hydrogen-music.org]
Copyright 2002-2008 Alessandro Cominu
Copyright 2008-2022 The hydrogen development team
Hydrogen comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details.
(E) Filesystem::mkdir unable to create directory : /home/lymber/.hydrogen/data/drumkits/AVL-RedZep-5-1.1/drumkit.xml
(E) Drumkit::save Unable to export drumkit [AVL-RedZep-5-1.1] to [/home/lymber/.hydrogen/data/drumkits/AVL-RedZep-5-1.1/drumkit.xml]. Could not create drumkit folder.
(E) Filesystem::mkdir unable to create directory : /home/lymber/.hydrogen/data/drumkits/BrushKit/drumkit.xml
(E) Drumkit::save Unable to export drumkit [BrushKit] to [/home/lymber/.hydrogen/data/drumkits/BrushKit/drumkit.xml]. Could not create drumkit folder.
(E) Filesystem::mkdir unable to create directory : /home/lymber/.hydrogen/data/drumkits/ForzeeStereo/drumkit.xml
(E) Drumkit::save Unable to export drumkit [Forzee Stereo Drumkit] to [/home/lymber/.hydrogen/data/drumkits/ForzeeStereo/drumkit.xml]. Could not create drumkit folder.
(E) Filesystem::mkdir unable to create directory : /home/lymber/.hydrogen/data/drumkits/Gimme A Hand 1.0/drumkit.xml
(E) Drumkit::save Unable to export drumkit [Gimme A Hand 1.0] to [/home/lymber/.hydrogen/data/drumkits/Gimme A Hand 1.0/drumkit.xml]. Could not create drumkit folder.
(E) Filesystem::mkdir unable to create directory : /home/lymber/.hydrogen/data/drumkits/The Black Pearl 1.0/drumkit.xml
(E) Drumkit::save Unable to export drumkit [The Black Pearl 1.0] to [/home/lymber/.hydrogen/data/drumkits/The Black Pearl 1.0/drumkit.xml]. Could not create drumkit folder.
(E) ::void handleFatalSignal(int) Fatal signal 11
(E) ::void handleFatalSignal(int) /usr/bin/hydrogen(+0x24ae58) [0x55c472c82e58]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libc.so.6(+0x3c510) [0x7f627765a510]
(E) ::void handleFatalSignal(int) /usr/bin/hydrogen(+0x76c1a) [0x55c472aaec1a]
(E) ::void handleFatalSignal(int) /usr/bin/hydrogen(+0x20ecb7) [0x55c472c46cb7]
(E) ::void handleFatalSignal(int) /usr/bin/hydrogen(+0x20e9e0) [0x55c472c469e0]
(E) ::void handleFatalSignal(int) /usr/bin/hydrogen(+0x2109fb) [0x55c472c489fb]
(E) ::void handleFatalSignal(int) /usr/bin/hydrogen(+0xaa9c3) [0x55c472ae29c3]
(E) ::void handleFatalSignal(int) /usr/bin/hydrogen(+0x699ab) [0x55c472aa19ab]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libQt5Core.so.5(+0x305fcd) [0x7f6277f05fcd]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN6QTimer7timeoutENS_14QPrivateSignalE+0x3e) [0x7f6277f0a2ce]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x19b) [0x7f6277ef984b]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x82) [0x7f6278b62f32]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x128) [0x7f6277ecc748]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN14QTimerInfoList14activateTimersEv+0x449) [0x7f6277f270c9]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libQt5Core.so.5(+0x3279cc) [0x7f6277f279cc]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x571f4) [0x7f6276a831f4]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x5a317) [0x7f6276a86317]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x30) [0x7f6276a86930]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x6a) [0x7f6277f27d4a]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b) [0x7f6277ecb0fb]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x94) [0x7f6277ed38a4]
(E) ::void handleFatalSignal(int) /usr/bin/hydrogen(main+0x2fa0) [0x55c472c86648]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libc.so.6(+0x276ca) [0x7f62776456ca]
(E) ::void handleFatalSignal(int) /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x85) [0x7f6277645785]
(E) ::void handleFatalSignal(int) /usr/bin/hydrogen(+0x68891) [0x55c472aa0891]
theGreatWhiteShark commented 10 months ago

Hey @lymber ,

Thanks for the log!

Looks like Hydrogen does not have sufficient permissions to create a folder in its user drumkit directory. Strange.

Could you run

ls -la $HOME/.hydrogen/data

and try start up Hydrogen again after running

chown -R $USER $HOME/.hydrogen/data

Or is there by any chance no space left on your hard disk?

lymber commented 9 months ago

Hi there!

I checked permissions and they were reasonable, in the sense that chown suggested below produces no difference in those permissions.

Free disk space? Maybe... I have more than 7GB available on that partition. Is it enough?

Best, lymber

theGreatWhiteShark commented 9 months ago

Free disk space? Maybe... I have more than 7GB available on that partition. Is it enough?

Yes. More than enough.

Creating a folder is just requiring a very tiny amount of disk space. And it is not done by Hydrogen itself but the underlying Qt framework. If this fails occasionally, it might be a problem with the host OS.

I tried several things, like changing permissions, removing parent folders etc. But I couldn't reproduce the crash.

Could you check whether it occurs in the latest version as well?

gitterdude commented 9 months ago

This seems really weird mkdir unable to create directory : /home/lymber/.hydrogen/data/drumkits/AVL-RedZep-5-1.1/drumkit.xml

drumkit.xml is a (supposedly already existing) file so Hydrogen shouldn't try and create a directory with that name.

I would check if there's a newer Debian release of Hydrogen, unless you're comfortable compiling the 1.2.2 source from here https://github.com/hydrogen-music/hydrogen/releases

Chances are there's either a bug in 1.2.0 or in the patches Debian usually adds to their versions.

theGreatWhiteShark commented 9 months ago

drumkit.xml is a (supposedly already existing) file so Hydrogen shouldn't try and create a directory with that name.

Yeah. Back then the code was still in a more ... let's say diverse state with handling of paths to the folder and inluded XML file mixed up and sometimes even bearing the same variable names. I did encounter such errors as well. But it should be fixed in the latest release.

I would check if there's a newer Debian release of Hydrogen, unless you're comfortable compiling the 1.2.2 source from here

Since the 1.2.2 release we also ship AppImage files you can just download, mark them as executable, and run them without installation, compilation or whatsoever.

lymber commented 9 months ago

Hi, all.

The 1.2.2 AppImage runs perfectly here. Debian repos has this version only on experimental branch, which is something I'm not brave enough to try. ;)

I'll report the phenomena here as a bug in Debian system.

Thanks for all the support and kindness. Happy drumming!

Best, Alexandre.

On Dec 14 2023, theGreatWhiteShark wrote:

drumkit.xml is a (supposedly already existing) file so Hydrogen shouldn't try and create a directory with that name.

Yeah. Back then the code was still in a more ... let's say diverse state with handling of paths to the folder and inluded XML file mixed up and sometimes even bearing the same variable names. I did encounter such errors as well. But it should be fixed in the latest release.

I would check if there's a newer Debian release of Hydrogen, unless you're comfortable compiling the 1.2.2 source from here

Since the 1.2.2 release we also ship AppImage files you can just download, mark them as executable, and run them without installation, compilation or whatsoever.

-- Reply to this email directly or view it on GitHub: https://github.com/hydrogen-music/hydrogen/issues/1906#issuecomment-1856691038 You are receiving this because you were mentioned.

Message ID: @.***>

--

Alexandre Lymberopoulos - @. @.> - https://www.ime.usp.br/~lymber Instituto de Matemática e Estatística - Universidade de São Paulo

theGreatWhiteShark commented 9 months ago

The 1.2.2 AppImage runs perfectly here

Awesome!

Debian repos has this version only on experimental branch, which is something I'm not brave enough to try. ;)

IIRC next version update in the Debian repos will happen somewhere early next year. This should hopefully bring the latest Hydrogen release via your repos.