roccateventhandler crashes in gaminggear_audio_notification_new
Provides functionality for gaming input devices
Brought to you by:
erazor_de
I have noticed that roccateventhandler keeps crashing on start. It used to work before it started using libgaminggear, I guess.
If I start it manually, I get the following crash:
#0 0x00007ffff694e9ce in gaminggear_audio_notification_new () from /usr/lib/gaminggear-0/libgaminggear.so.0
#1 0x00007ffff7bd4790 in roccat_notification_profile_new () from /usr/lib/roccat/libroccat.so.2
#2 0x00007ffff2fece57 in ?? () from /usr/lib/roccat/libiskueventhandler.so
#3 0x00007ffff76833d8 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#4 0x00007ffff7694d5d in ?? () from /usr/lib/libgobject-2.0.so.0
#5 0x00007ffff769ca49 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#6 0x00007ffff769cd02 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#7 0x00007ffff7bd6369 in ?? () from /usr/lib/roccat/libroccat.so.2
#8 0x00007ffff2fec940 in ?? () from /usr/lib/roccat/libiskueventhandler.so
#9 0x00007ffff7688304 in ?? () from /usr/lib/libgobject-2.0.so.0
#10 0x00007ffff768a4e4 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0
#11 0x00007ffff768a8c4 in g_object_new () from /usr/lib/libgobject-2.0.so.0
#12 0x00007ffff2fedb92 in roccat_eventhandler_plugin_new () from /usr/lib/roccat/libiskueventhandler.so
#13 0x0000000000403b53 in _start ()
I am not sure how to build libgaminggear in debug mode though.
Best regards,
AnAkkk
Sorry for the huge text. No idea why it did that, the size was normal before sending the message.
I also get the following error before it crashes, this might be interesting:
GamingGear-WARNING **: Error connecting canberra context: No such driver
Diff:
Are you starting roccateventhandler as normal user or root?
Have a look if and what the file ~/.config/roccat/roccat.ini has configured as SoundDriver. Is it pulse or alsa?
I guess it auto starts as root (with /etc/xdg/autostart), but I've tried manually as user and root, and it crashes in both cases.
There's no roccat.ini:
$ ls -l .config/roccat/
total 28
-rw-r--r-- 1 user users 4124 15 févr. 16:34 roccat_macros.ini
-rw-r--r-- 1 user users 15 25 déc. 2013 roccat_timers.ini
-rw-r--r-- 1 user users 43 25 déc. 2013 savu.ini
If it's started from /etc/xdg/autostart it's started as the logged in user.
What if you create ~/.config/roccat/roccat.ini with the following content:
Pulse should have been the default, you can try alternatively alsa if this doesn't work.
Needless to say: I can't reproduce this here, whatever I try.
I have created the file, but it doesn't make any difference.
I'm guessing the crash is related to the warning I get though (Error connecting canberra context: No such driver). It looks like some cleanup is done after that, but gaminggear_audio_notification_new is still called and it doesn't know that the init failed?
Another question: Have you actually used audio notifications in the past?
That the new code fails to cope with the error has been introduced with the move from roccat-tools to libgaminggear, but I don't see why audio notifications should have worked back then and not now.
No, I have never used audio notifications, I thought they were only available on Windows.
I just pushed a commit to the development branch of the repo that makes canberra notifications failsafe.
If you want to find out why canberra doesn't work altogether or just in combination with libgaminggear on your system, I can't help you. Never had such an issue on one of my test systems.
Thanks for the fix :)
Well, now it's crashing in another place.
(roccateventhandler:3130): GamingGear-WARNING **: Error connecting canberra context: No such driver
(roccateventhandler:3130): IskuEventhandler-WARNING **: Error reading actual profile: Error opening /dev/hidraw1: Permission denied
(roccateventhandler:3130): IskuEventhandler-WARNING **: Error starting chardev eventhandler: Permission denied
(roccateventhandler:3130): SavuEventhandler-WARNING **: Error reading actual profile: Error opening /dev/hidraw2: Permission denied
I am getting this when I run roccateventhandler as a normal user. If I run it as root, it doesn't crash and everything works fine.
I have these /dev/hidraw1 and /dev/hidraw2 errors when I open savu/isku configs as well, I thought they were just related to roccateventhandler not running, but it seems not, I still have them.
Last edit: AnAkkk 2014-07-11
I've actually fixed the permission errors, the problem was that my user was no longer in the roccat group for some reason :)
(but I still have the canberra one)
I'm leaving this open, you might want to fix the crash anyway or show an error message it the current user isn't in the roccat group.
Last edit: AnAkkk 2014-07-11
I'm closing this as the topic problem is solved and fault tolerance is a general problem in libgaminggear/roccat-tools. I sometimes hardly have the time to implement new features, not to mention error handling.