Menu

#2 roccateventhandler crashes in gaminggear_audio_notification_new

closed
None
2014-07-12
2014-07-11
AnAkkk
No

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

Discussion

  • AnAkkk

    AnAkkk - 2014-07-11

    Sorry for the huge text. No idea why it did that, the size was normal before sending the message.

     
  • AnAkkk

    AnAkkk - 2014-07-11

    I also get the following error before it crashes, this might be interesting:
    GamingGear-WARNING **: Error connecting canberra context: No such driver

     
  • Stefan Achatz

    Stefan Achatz - 2014-07-11
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,20 +1,20 @@
     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 ()
    
    +    #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.
    
     
  • Stefan Achatz

    Stefan Achatz - 2014-07-11

    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?

     
  • AnAkkk

    AnAkkk - 2014-07-11

    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

     
  • Stefan Achatz

    Stefan Achatz - 2014-07-11

    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:

    [Eventhandler]
    SoundDriver=pulse
    

    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.

     
  • AnAkkk

    AnAkkk - 2014-07-11

    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?

     
  • Stefan Achatz

    Stefan Achatz - 2014-07-11

    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.

     
  • AnAkkk

    AnAkkk - 2014-07-11

    No, I have never used audio notifications, I thought they were only available on Windows.

     
  • Stefan Achatz

    Stefan Achatz - 2014-07-11

    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.

     
  • AnAkkk

    AnAkkk - 2014-07-11

    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

    #0  0x00007fffeef0f692 in savu_rmp_update_with_general () from /usr/lib/roccat/libsavu.so.2
    #1  0x00007fffeef12d06 in savu_rmp_update_from_device () from /usr/lib/roccat/libsavu.so.2
    #2  0x00007fffeef12d69 in savu_rmp_load () from /usr/lib/roccat/libsavu.so.2
    #3  0x00007fffef129109 in ?? () from /usr/lib/roccat/libsavueventhandler.so
    #4  0x00007ffff76833d8 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #5  0x00007ffff7694d5d in ?? () from /usr/lib/libgobject-2.0.so.0
    #6  0x00007ffff769ca49 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #7  0x00007ffff769cd02 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #8  0x00007ffff7bd6369 in ?? () from /usr/lib/roccat/libroccat.so.2
    #9  0x00007fffef128db0 in ?? () from /usr/lib/roccat/libsavueventhandler.so
    #10 0x00007ffff7688304 in ?? () from /usr/lib/libgobject-2.0.so.0
    #11 0x00007ffff768a4e4 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0
    #12 0x00007ffff768a8c4 in g_object_new () from /usr/lib/libgobject-2.0.so.0
    #13 0x00007fffef129a62 in roccat_eventhandler_plugin_new () from /usr/lib/roccat/libsavueventhandler.so
    #14 0x0000000000403b53 in _start ()
    

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

    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
  • Stefan Achatz

    Stefan Achatz - 2014-07-12

    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.

     
  • Stefan Achatz

    Stefan Achatz - 2014-07-12
    • status: open --> closed
     

Log in to post a comment.