Bug#547186: g15daemon: Random crashes

2016-11-05 Thread David Smith
Nov  5 08:55:20 Skuld g15daemon: Process died - removing pidfile
Nov  5 08:55:21 Skuld g15daemon[4326]: Booting plugin "Clock"
Nov  5 08:55:21 Skuld g15daemon[4326]: Plugin "Clock" boot successful.
Nov  5 08:55:21 Skuld g15daemon[4326]: Booting plugin "Linux UINPUT
Keyboard Output"
Nov  5 08:55:21 Skuld g15daemon[4326]: Plugin "Linux UINPUT Keyboard
Output" boot successful.
Nov  5 08:55:21 Skuld g15daemon[4326]: Booting plugin "LCDServer"
Nov  5 08:55:21 Skuld g15daemon[4326]: Plugin "LCDServer" boot successful.
Nov  5 09:03:39 Skuld g15daemon[452]: Booting plugin "Clock"
Nov  5 09:03:39 Skuld g15daemon[452]: Plugin "Clock" boot successful.
Nov  5 09:03:39 Skuld g15daemon[452]: Booting plugin "Linux UINPUT
Keyboard Output"
Nov  5 09:03:39 Skuld g15daemon[452]: Plugin "Linux UINPUT Keyboard
Output" boot successful.
Nov  5 09:03:39 Skuld g15daemon[452]: Booting plugin "LCDServer"
Nov  5 09:03:39 Skuld g15daemon[452]: Plugin "LCDServer" boot successful.
Nov  5 09:03:39 Skuld g15daemon[666]: Starting g15daemon:
Nov  5 09:03:39 Skuld systemd[1]: g15daemon.service: control process
exited, code=exited status=1
Nov  5 09:03:39 Skuld systemd[1]: Unit g15daemon.service entered failed state.
Nov  5 09:05:22 Skuld g15daemon: Process died - removing pidfile
Nov  5 09:05:22 Skuld g15daemon[1724]: Starting g15daemon: g15daemon.
Nov  5 09:05:22 Skuld g15daemon[1726]: Booting plugin "Clock"
Nov  5 09:05:22 Skuld g15daemon[1726]: Plugin "Clock" boot successful.
Nov  5 09:05:23 Skuld g15daemon[1726]: Booting plugin "Linux UINPUT
Keyboard Output"
Nov  5 09:05:23 Skuld g15daemon[1726]: Plugin "Linux UINPUT Keyboard
Output" boot successful.
Nov  5 09:05:23 Skuld g15daemon[1726]: Booting plugin "LCDServer"




root@Skuld:/home/david# dmesg | grep G15
[3.141971] usb 3-2: Product: G15 Keyboard Hub
[3.859959] usb 3-2.1: Product: G15 Gaming Keyboard
[3.871812] input: G15 Gaming Keyboard as
/devices/pci:00/:00:02.0/usb3/3-2/3-2.1/3-2.1:1.0/0003:046D:C226.0008/input/input17
[3.944498] hid-generic 0003:046D:C226.0008: input,hidraw7: USB HID
v1.10 Keyboard [G15 Gaming Keyboard] on usb-:00:02.0-2.1/input0
[3.959826] input: G15 Gaming Keyboard as
/devices/pci:00/:00:02.0/usb3/3-2/3-2.1/3-2.1:1.1/0003:046D:C226.0009/input/input18
[4.015946] hid-generic 0003:046D:C226.0009: input,hiddev0,hidraw8:
USB HID v1.10 Device [G15 Gaming Keyboard] on
usb-:00:02.0-2.1/input1
[4.214942] usb 3-2.4: Product: G15 GamePanel LCD
[4.242145] input: G15 GamePanel LCD as
/devices/pci:00/:00:02.0/usb3/3-2/3-2.4/3-2.4:1.0/0003:046D:C227.000A/input/input26
[4.296217] hid-generic 0003:046D:C227.000A: input,hiddev0,hidraw9:
USB HID v1.11 Keypad [G15 GamePanel LCD] on
usb-:00:02.0-2.4/input0
[5.236808] input: G15 Extra Keys as /devices/virtual/input/input27
[  109.722558] input: G15 Extra Keys as /devices/virtual/input/input28



Bug#547186: g15daemon: Random crashes

2009-09-23 Thread Johann Glaser
The crashes are not so random any more. They happen every time when
music stops playing. This was not simple to find, because I use ALSA
with the dmix plugin (but without any sound daemon like ESD or
PulseAudio). Usually I pause my music (XMMS) and sometimes my browser
has some Flash applets running which also occupy the audio output. So
audio is not always stopped, when I hear it to stop.

So, I found out that when I start music (e.g. with a simple aplay
xyz.wav) without any other program doing sound output, g15daemon is
automagically started by udevd. As soon as the music stops (^C to aplay)
g15daemon is stopped by udevd. I've set the 
  G15DEBUG=on
in /etc/default/g15daemon and activated moderate debug output by udev
with
  udevadm control --log-priority info
The output as observed in /var/log/syslog is attached in the two files
syslog-aplay-{start,stop}.txt.

It seems that every time aplay (or any other sound output) is running,
the device file /dev/usbdev2.3_ep01 is created. Endpoint 1 (OUT) is the
AudioStreaming isochronous endpoint. It seems that this magically
turns up upon audio output and vanishes afterwards. OTOH, according to
lsusb, the USB descriptor doesn't change at all in these two conditions
(see attached files lsusb-z10-{playing,silent}.txt), the only difference
is the Report Descriptor which seems cannot be queried during audio
output.

So, the first question is: Why does udev send add and remove events
just because an USB device is used although no endpoints are added or
removed?

The second question is: Why do the G15 scripts start and stop the
g15daemon for each of these events?

I've now added some more debug output on the udev environment variables
and found the following information when starting and stopping playing
audio output:
  Sep 23 21:40:16 hansi g15: calling g15 udev; action: add, product , 
devtype , devname /dev/usbdev2.6_ep01, subsystem usb_endpoint
  Sep 23 21:40:17 hansi g15: calling g15 udev; action: remove, product , 
devtype , devname /dev/usbdev2.6_ep01, subsystem usb_endpoint

It should be possible to add conditions to /etc/init.d/g15daemon to
avoid these problems. Additionally I think the additional shared-udev
parameter can be removed.

When the G15 speakers are plugged in and removed from the USB bus, the
debug output by /etc/init.d/g15daemon is as shown in the attached files
usb-{plugin,remove}-z10.txt (note that usb-plugin-z10.txt is partly
cluttered by a concurrently playing sound).

The unique removal event is 
  action: remove, product 46d/a07/1e, devtype usb_interface, devname , 
subsystem usb
while for the plugin of the speakers the devtype usb_interface event
is twice. So I suggest to use the following event:
  action: add, product 46d/a07/1e, devtype usb_device, devname 
/dev/bus/usb/002/006, subsystem usb
Unfortunately a little delay is necessary because g15daemon wants to
open /dev/uinputX (or so) which will be populated shortly after this
event.

I've added these additional conditions to the script, see attached patch
etc-init.d-g15daemon.patch. With these changes g15daemon is not killed
any more and works flawlessly. But please check with other supported
devices. As already mentioned, I think that then the special
shared-udev parameter of the script can be removed.

Bye
  Hansi

Sep 23 21:04:01 hansi udevd[1103]: seq 2995 queued, 'add' 'usb_endpoint' 
Sep 23 21:04:01 hansi udevd[1103]: seq 2995 forked, pid [31305], 'add' 
'usb_endpoint', 0 seconds old 
Sep 23 21:04:01 hansi udevd-event[31305]: device 0x96510b0 has devpath 
'/devices/pci:00/:00:1d.0/usb2/2-2/2-2:1.1/usb_endpoint/usbdev2.3_ep01' 
Sep 23 21:04:01 hansi udevd-event[31305]: LINK 'char/251:17' 
/lib/udev/rules.d/50-udev.rules:2 
Sep 23 21:04:01 hansi udevd-event[31305]: device 0x967b270 has devpath 
'/devices/pci:00/:00:1d.0/usb2/2-2/2-2:1.1' 
Sep 23 21:04:01 hansi udevd-event[31305]: device 0x96801c8 has devpath 
'/devices/pci:00/:00:1d.0/usb2/2-2' 
Sep 23 21:04:01 hansi udevd-event[31305]: device 0x96809a8 has devpath 
'/devices/pci:00/:00:1d.0/usb2' 
Sep 23 21:04:01 hansi udevd-event[31305]: device 0x9680890 has devpath 
'/devices/pci:00/:00:1d.0' 
Sep 23 21:04:01 hansi udevd-event[31305]: device 0x9680c10 has devpath 
'/devices/pci:00' 
Sep 23 21:04:01 hansi udevd-event[31305]: RUN 
'socket:@/org/freedesktop/hal/udev_event' /lib/udev/rules.d/90-hal.rules:2 
Sep 23 21:04:01 hansi udevd-event[31305]: RUN '/etc/init.d/g15daemon udev' 
/etc/udev/rules.d/z60_g15daemon.rules:16 
Sep 23 21:04:01 hansi udevd-event[31305]: no node name set, will use kernel 
name 'usbdev2.3_ep01' 
Sep 23 21:04:01 hansi udevd-event[31305]: create db link (usbdev2.3_ep01 
char/251:17) 
Sep 23 21:04:01 hansi udevd-event[31305]: creating device node 
'/dev/usbdev2.3_ep01', devnum=251:17, mode=0660, uid=0, gid=0 
Sep 23 21:04:01 hansi udevd-event[31305]: mknod(/dev/usbdev2.3_ep01, 020660, 
(251,17)) 
Sep 23 21:04:01 hansi udevd-event[31305]: chmod(/dev/usbdev2.3_ep01, 

Bug#547186: g15daemon: Random crashes

2009-09-19 Thread Johann Glaser
Am Freitag, den 18.09.2009, 12:55 +0200 schrieb Giacomo A. Catenazzi:
 Could you check in /var/log/syslog, if at the time of the crash
 there is some additional information?
 
 The daemon is terminated with SIGKILL, and this signal should
 not be caused by the daemon itself (SEGSEGV, SIGILL, SIGBUS, etc.
 are delivered for internal errors).
 
 So I think an external program/setting will send such signals,
 on passing some limits or with invalid permissions.
 So I expect ulimits, acct, selinux, etc to send the signal.

No, there is no additional info in syslog, not from g15daemon and not
from any other program or setting, except the announcement of the new
keyboard

kernel: [  175.245228] input: G15 Extra Keys as /devices/virtual/input/input7

but this comes directly after the start of g15daemon, not before its
crash.

I don't have selinux or acct running, neither do I set special ulimits
for any program.

Bye
  Hansi





-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#547186: g15daemon: Random crashes

2009-09-18 Thread Giacomo A. Catenazzi

Could you check in /var/log/syslog, if at the time of the crash
there is some additional information?

The daemon is terminated with SIGKILL, and this signal should
not be caused by the daemon itself (SEGSEGV, SIGILL, SIGBUS, etc.
are delivered for internal errors).

So I think an external program/setting will send such signals,
on passing some limits or with invalid permissions.
So I expect ulimits, acct, selinux, etc to send the signal.

ciao
cate




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#547186: g15daemon: Random crashes

2009-09-17 Thread Johann Glaser
Package: g15daemon
Version: 1.9.5.3-6
Severity: grave
Justification: renders package unusable

g15daemon crashes after a few minutes when used with the Z-10 speakers. Not
tested with G15 keyboard.

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing-proposed-updates
  APT policy: (500, 'testing-proposed-updates'), (500, 'proposed-updates'), 
(500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.30-1-686 (SMP w/2 CPU cores)
Locale: LANG=de_AT.UTF-8, LC_CTYPE=de_AT.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages g15daemon depends on:
ii  libc6  2.9-26GNU C Library: Shared libraries
ii  libfreetype6   2.3.9-5   FreeType 2 font engine, shared lib
ii  libg15-1   1.2.7-2   Library for interfacing with the L
ii  libg15daemon-client1   1.9.5.3-6 Development packages for libg15dae
ii  libg15render1  1.3.0~svn316-2Library for interfacing with the L
ii  libusb-0.1-4   2:0.1.12-13   userspace USB programming library
ii  zlib1g 1:1.2.3.3.dfsg-15 compression library - runtime

Versions of packages g15daemon recommends:
ii  xkb-data  1.6-1  X Keyboard Extension (XKB) configu

g15daemon suggests no packages.

-- no debconf information


g15daemon.strace.gz
Description: GNU Zip compressed data


Bug#547186: g15daemon: Random crashes

2009-09-17 Thread Giacomo A. Catenazzi

Could you send also the output of

grep g15daemon /var/log/syslog

thanks
cate



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#547186: g15daemon: Random crashes

2009-09-17 Thread Johann Glaser
It just says things like:

Sep 17 19:23:37 hansi g15daemon: Process died - removing pidfile
Sep 17 19:23:37 hansi g15daemon[26352]: Booting plugin Linux UINPUT Keyboard 
Output
Sep 17 19:23:37 hansi g15daemon[26352]: Plugin Linux UINPUT Keyboard Output 
boot successful.
Sep 17 19:23:37 hansi g15daemon[26352]: Booting plugin Clock
Sep 17 19:23:37 hansi g15daemon[26352]: Plugin Clock boot successful.
Sep 17 19:23:37 hansi g15daemon[26352]: Booting plugin LCDServer
Sep 17 19:23:38 hansi g15daemon[26352]: Plugin LCDServer boot successful.

There is no additional information.





-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org