Bug#690848: usbutils: lsusb is frozen solid, after a general protection fault in a ttyACM0 access

2012-10-18 Thread Albert van der Horst
Package: usbutils
Version: 0.87-5squeeze1
Severity: grave
Justification: renders package unusable


A Texas Instruments Launcpad is connected as the sole
USB device, resulting in device /dev/ttyACM0 showing up.
No TI drivers were installed, or any specific usb-drivers.

A simple program in Forth does some direct read and write on ttyACM0,
while the device is responding. It functions properly, except for
situation where an output stream of the device is interrupted from the
terminal.
It is possible that the device and the program were writing simultaneously.

This message appeared on the console:

,   2 Oct 18 14:50 ptmx
albert@cherry:~/PROJECT/nometa$
Message from syslogd@cherry at Oct 18 14:50:37 ...
 kernel:[15594.923330] general protection fault:  [#1] SMP

Message from syslogd@cherry at Oct 18 14:50:37 ...
 kernel:[15594.923334] last sysfs file: 
/sys/devices/pci:00/:00:02.0/usb2/idVendor

Message from syslogd@cherry at Oct 18 14:50:37 ...
 kernel:[15594.923415] Stack:

Message from syslogd@cherry at Oct 18 14:50:37 ...
 kernel:[15594.923426] Call Trace:

Message from syslogd@cherry at Oct 18 14:50:37 ...
 kernel:[15594.923490] Code: 85 c0 75 15 65 48 8b 04 25 c8 cb 00 00 48 2d d8 1f 
00 00 48
89 43 18 31 c0 5b c3 53 48 89 fb 48 83 ec 10 e8 31 f8 ff ff 48 89 df f0 ff 0f 
79 05 e8
48 ff ff ff 65 48 8b 04 25 c8 cb 00 00 48 2d



This is the program that provoked the problem:

   \ $Id: com-4e5.frt,v 1.1 2012/10/17 13:21:34 albert Exp albert $
   \ Copyright (2012): Albert van der Horst {by GNU Public License}

   WANT R/W WANT NEW-IF  WANT $-PREFIX
   WANT ls
   WANT CASE-SENSITIVE  CASE-INSENSITIVE

   NAMESPACE MSP-NAMESPACE
   MSP-NAMESPACE DEFINITIONS

   : NEW-OKCR com TYPE ;
   'NEW-OK 'OK 3 CELLS MOVE

   : INTRO Type HELP for help. TYPE CR ;

   VARIABLE (msp)
   \ Return the FILEDESCRIPTOR of the MSP board.
   : msp (msp) @ ;

   : ?ERR   ( ior -- ) -1 SWAP ?ERROR ;

   : open-connection /dev/ttyACM0 R/W OPEN-FILE ?ERR (msp) ! ;
   : close-connection msp CLOSE-FILE ?ERR ;

   \ Return a CHARACTER or 0 if non present.
   : ?get?   0 DSP@ 1 msp READ-FILE ?ERR DROP ;

   \ If a key is present, pass that character to the msp,
   : ?put?KEY? IF KEY DSP@ 1 msp WRITE-FILE ?ERR DROP THEN ;

   \ Get all data from msp, up till XON.
   : handshake  10 MS BEGIN ?put? ?get? DUP $11  WHILE EMIT REPEAT DROP ;

   : line  msp WRITE-FILE ?ERR ^M DSP@ 1 msp WRITE-FILE ?ERR DROP ;

   : uploaded
 GET-FILE  open-connection
 BEGIN   OVER WHILE^J $/ -TRAILING line handshake REPEAT 2DROP
 close-connection ;
   : upload NAME uploaded ;

   : communicate open-connection  line handshake
 BEGIN !CSP (ACCEPT) -TRAILING DUP WHILE line handshake ?CSP REPEAT 2DROP
 close-connection ;

   'communicate ALIAS c
   'upload ALIAS u
   'ls ALIAS l

   : HELP C(ommunicate) U(pload $1) L(ist dir $1) BYE TYPE CR ;

   : doit INTRO OK 'ERROR RESTORED MSP-NAMESPACE QUIT ;

OPEN-FILE, READ-FILE and WRITE-FILE  are mapped to system calls, no dynamic
libraries involved.

The program above was no longer able communicate.
After the message lsusb was types:
It gave no output and could not be terminated by ^C or ^\.

-- System Information:
Debian Release: 6.0.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=ANSI_X3.4-1968) (ignored: 
LC_ALL set to C)
Shell: /bin/sh linked to /bin/dash

Versions of packages usbutils depends on:
ii  libc6   2.11.3-4 Embedded GNU C Library: Shared lib
ii  libusb-0.1-42:0.1.12-16  userspace USB programming library
ii  zlib1g  1:1.2.3.4.dfsg-3 compression library - runtime

usbutils recommends no packages.

Versions of packages usbutils suggests:
ii  wget  1.12-2.1   retrieves files from the web

-- no debconf information


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



Bug#690848: usbutils: lsusb is frozen solid, after a general protection fault in a ttyACM0 access

2012-10-18 Thread Aurelien Jarno
reassign 690848 linux-2.6
thanks

On Thu, Oct 18, 2012 at 04:21:05PM +0200, Albert van der Horst wrote:
 Package: usbutils
 Version: 0.87-5squeeze1
 Severity: grave
 Justification: renders package unusable
 
 
 A Texas Instruments Launcpad is connected as the sole
 USB device, resulting in device /dev/ttyACM0 showing up.
 No TI drivers were installed, or any specific usb-drivers.
 
 A simple program in Forth does some direct read and write on ttyACM0,
 while the device is responding. It functions properly, except for
 situation where an output stream of the device is interrupted from the
 terminal.
 It is possible that the device and the program were writing simultaneously.
 
 This message appeared on the console:
 
 ,   2 Oct 18 14:50 ptmx
 albert@cherry:~/PROJECT/nometa$
 Message from syslogd@cherry at Oct 18 14:50:37 ...
  kernel:[15594.923330] general protection fault:  [#1] SMP
 
 Message from syslogd@cherry at Oct 18 14:50:37 ...
  kernel:[15594.923334] last sysfs file: 
 /sys/devices/pci:00/:00:02.0/usb2/idVendor
 
 Message from syslogd@cherry at Oct 18 14:50:37 ...
  kernel:[15594.923415] Stack:
 
 Message from syslogd@cherry at Oct 18 14:50:37 ...
  kernel:[15594.923426] Call Trace:
 
 Message from syslogd@cherry at Oct 18 14:50:37 ...
  kernel:[15594.923490] Code: 85 c0 75 15 65 48 8b 04 25 c8 cb 00 00 48 2d d8 
 1f 00 00 48
 89 43 18 31 c0 5b c3 53 48 89 fb 48 83 ec 10 e8 31 f8 ff ff 48 89 df f0 ff 
 0f 79 05 e8
 48 ff ff ff 65 48 8b 04 25 c8 cb 00 00 48 2d
 
 
 
 This is the program that provoked the problem:
 
\ $Id: com-4e5.frt,v 1.1 2012/10/17 13:21:34 albert Exp albert $
\ Copyright (2012): Albert van der Horst {by GNU Public License}
 
WANT R/W WANT NEW-IF  WANT $-PREFIX
WANT ls
WANT CASE-SENSITIVE  CASE-INSENSITIVE
 
NAMESPACE MSP-NAMESPACE
MSP-NAMESPACE DEFINITIONS
 
: NEW-OKCR com TYPE ;
'NEW-OK 'OK 3 CELLS MOVE
 
: INTRO Type HELP for help. TYPE CR ;
 
VARIABLE (msp)
\ Return the FILEDESCRIPTOR of the MSP board.
: msp (msp) @ ;
 
: ?ERR   ( ior -- ) -1 SWAP ?ERROR ;
 
: open-connection /dev/ttyACM0 R/W OPEN-FILE ?ERR (msp) ! ;
: close-connection msp CLOSE-FILE ?ERR ;
 
\ Return a CHARACTER or 0 if non present.
: ?get?   0 DSP@ 1 msp READ-FILE ?ERR DROP ;
 
\ If a key is present, pass that character to the msp,
: ?put?KEY? IF KEY DSP@ 1 msp WRITE-FILE ?ERR DROP THEN ;
 
\ Get all data from msp, up till XON.
: handshake  10 MS BEGIN ?put? ?get? DUP $11  WHILE EMIT REPEAT DROP ;
 
: line  msp WRITE-FILE ?ERR ^M DSP@ 1 msp WRITE-FILE ?ERR DROP ;
 
: uploaded
  GET-FILE  open-connection
  BEGIN   OVER WHILE^J $/ -TRAILING line handshake REPEAT 2DROP
  close-connection ;
: upload NAME uploaded ;
 
: communicate open-connection  line handshake
  BEGIN !CSP (ACCEPT) -TRAILING DUP WHILE line handshake ?CSP REPEAT 2DROP
  close-connection ;
 
'communicate ALIAS c
'upload ALIAS u
'ls ALIAS l
 
: HELP C(ommunicate) U(pload $1) L(ist dir $1) BYE TYPE CR ;
 
: doit INTRO OK 'ERROR RESTORED MSP-NAMESPACE QUIT ;
 
 OPEN-FILE, READ-FILE and WRITE-FILE  are mapped to system calls, no dynamic
 libraries involved.
 
 The program above was no longer able communicate.
 After the message lsusb was types:
 It gave no output and could not be terminated by ^C or ^\.
 

If the USB subsystem is completely broken by the original issue (the 
general protection fault), it's perfectly normal to have this kind of
issue with lsusb, or any program trying to access the USB entries in
/sys.

I am therefore reassigning this bug to the linux kernel package.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


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