Forums Neueste Beiträge
 

Audio-CDs legen System lahm

16/02/2011 - 21:56 von Marcel Müller | Report spam
Hallo,

ich habe hier ein Ubuntu 10.04 mit SCSI-CD-ROM (HP9200 series), was
Audio-CDs nur sehr ungerne mag.

Jedesmal, wenn eine solche eingelegt wird, oder beim booten eingelegt
ist, laufen die Logs mit Bazillionen von I/O-Errors voll. Die
Erzeugungsrate ist derart hoch, dass die am selben Bus hàngende
Systemplatte hàufig mit dem loggen nicht mehr hinterher kommt und das
System bald irreversibel einfriert, wenn man nicht binnen Sekunden die
CD wieder entfernt. Weiter geht es dann mit einem Hardware-Reset.

Das ist außerordentlich unschön.
Falls man das Glück hat, und er die DOS-Attacke auf das CD-ROM überlebt,
kann man dieselbe Audio-CD ganz normal benutzen (Abspielen, Rippen,
etc.) Die Mortalitàt ist beim booten 100% und sonst ca. 60%.

Gibt es eine Möglichkeit, den Kernel dazu zu bringen, dass Prozesse, die
derart viele Fehler produzieren einfach gekillt werden? Ich meine, ich
habe ja faktisch keine Möglichkeit, herauszufinden, wer der Verbrecher
ist, zumal das System in dem Zustand nicht reagiert.

Oder kann man alternativ unterbinden, dass sich irgendwelche Programme
an Audio-CDs vergehen? Den Autostart in Nautilus habe ich schon komplett
deaktiviert. Der war es offenbar nicht. Da scheint schon irgend etwas
grundlegenderes Amok zu laufen.


/var/log/messages
[...]
Feb 16 21:30:12 WS1U kernel: [ 1551.482289] sr 2:0:6:0: [sr0] Result:
hostbyte=DID_OK driverbyte=DRIVER_SENSE
Feb 16 21:30:12 WS1U kernel: [ 1551.482297] sr 2:0:6:0: [sr0] Sense Key
: Illegal Request [current]
Feb 16 21:30:12 WS1U kernel: [ 1551.482303] sr 2:0:6:0: [sr0] Add.
Sense: Illegal mode for this track
Feb 16 21:30:12 WS1U kernel: [ 1551.482313] sr 2:0:6:0: [sr0] CDB:
Read(10): 28 00 00 00 00 00 00 00 02 00
Feb 16 21:30:12 WS1U kernel: [ 1551.492332] sr 2:0:6:0: [sr0] Result:
hostbyte=DID_OK driverbyte=DRIVER_SENSE
Feb 16 21:30:12 WS1U kernel: [ 1551.492341] sr 2:0:6:0: [sr0] Sense Key
: Illegal Request [current]
Feb 16 21:30:12 WS1U kernel: [ 1551.492347] sr 2:0:6:0: [sr0] Add.
Sense: Illegal mode for this track
Feb 16 21:30:12 WS1U kernel: [ 1551.492357] sr 2:0:6:0: [sr0] CDB:
Read(10): 28 00 00 00 00 00 00 00 02 00
Feb 16 21:30:39 WS1U kernel: [ 1578.202752] sr 2:0:6:0: [sr0] Result:
hostbyte=DID_OK driverbyte=DRIVER_SENSE
Feb 16 21:30:39 WS1U kernel: [ 1578.202761] sr 2:0:6:0: [sr0] Sense Key
: Illegal Request [current]
Feb 16 21:30:39 WS1U kernel: [ 1578.202767] sr 2:0:6:0: [sr0] Add.
Sense: Illegal mode for this track
Feb 16 21:30:39 WS1U kernel: [ 1578.202777] sr 2:0:6:0: [sr0] CDB:
Read(10): 28 00 00 00 00 00 00 00 02 00
Feb 16 21:30:39 WS1U kernel: [ 1578.202792] __ratelimit: 242 callbacks
suppressed
Feb 16 21:30:39 WS1U kernel: [ 1578.214771] sr 2:0:6:0: [sr0] Result:
hostbyte=DID_OK driverbyte=DRIVER_SENSE
Feb 16 21:30:39 WS1U kernel: [ 1578.214779] sr 2:0:6:0: [sr0] Sense Key
: Illegal Request [current]
Feb 16 21:30:39 WS1U kernel: [ 1578.214785] sr 2:0:6:0: [sr0] Add.
Sense: Illegal mode for this track
Feb 16 21:30:39 WS1U kernel: [ 1578.214795] sr 2:0:6:0: [sr0] CDB:
Read(10): 28 00 00 00 00 00 00 00 02 00
Feb 16 21:30:39 WS1U kernel: [ 1578.222758] sr 2:0:6:0: [sr0] Result:
hostbyte=DID_OK driverbyte=DRIVER_SENSE
Feb 16 21:30:39 WS1U kernel: [ 1578.222765] sr 2:0:6:0: [sr0] Sense Key
: Illegal Request [current]
Feb 16 21:30:39 WS1U kernel: [ 1578.222770] sr 2:0:6:0: [sr0] Add.
Sense: Illegal mode for this track
[... zwischendurch auch mal ...]
Feb 16 21:11:24 WS1U kernel: [ 422.999239] CDB: 0x28 0x0 0x1 0x3f 0xa6
0x0 0x0 0x0 0x20 0x0
Feb 16 21:11:24 WS1U kernel: [ 422.999262] scsi2: At time of recovery,
card was not paused
Feb 16 21:11:24 WS1U kernel: [ 422.999271] >>>>>>>>>>>>>>>>>> Dump Card
State Begins <<<<<<<<<<<<<<<<<
Feb 16 21:11:24 WS1U kernel: [ 422.999273] scsi2: Dumping Card State in
Command phase, at SEQADDR 0xb7
Feb 16 21:11:24 WS1U kernel: [ 422.999276] Card was paused
Feb 16 21:11:24 WS1U kernel: [ 422.999283] ACCUM = 0x80, SINDEX = 0xa0,
DINDEX = 0xe4, ARG_2 = 0x0
Feb 16 21:11:24 WS1U kernel: [ 422.999287] HCNT = 0xc SCBPTR = 0x6
Feb 16 21:11:24 WS1U kernel: [ 422.999291] SCSISIGI[0x44]:(BSYI|IOI)
ERROR[0x0]
Feb 16 21:11:24 WS1U kernel: [ 422.999299] SCSIBUSL[0x20]
LASTPHASE[0x80]:(CDI)
Feb 16 21:11:24 WS1U kernel: [ 422.999306]
SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI)
Feb 16 21:11:24 WS1U kernel: [ 422.999312]
SBLKCTL[0x6]:(SELWIDE|ENAB20) SCSIRATE[0x18]:(SINGLE_EDGE)
Feb 16 21:11:24 WS1U kernel: [ 422.999321] SEQCTL[0x10]:(FASTMODE)
SEQ_FLAGS[0x0]
Feb 16 21:11:24 WS1U kernel: [ 422.999328] SSTAT0[0x0]
SSTAT1[0x3]:(REQINIT|PHASECHG)
Feb 16 21:11:24 WS1U kernel: [ 422.999335]
SSTAT2[0x50]:(EXP_ACTIVE|SHVALID)
Feb 16 21:11:24 WS1U kernel: [ 422.999340] SSTAT3[0xf]:(OFFCNT)
SIMODE0[0x8]:(ENSWRAP)
Feb 16 21:11:24 WS1U kernel: [ 422.999348]
SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO)
Feb 16 21:11:24 WS1U kernel: [ 422.999355] SXFRCTL0[0x80]:(DFON)
DFCNTRL[0x24]:(DIRECTION|SCSIEN)
Feb 16 21:11:24 WS1U kernel: [ 422.999363] DFSTATUS[0x80]:(PRELOAD_AVAIL)
Feb 16 21:11:24 WS1U kernel: [ 422.999367] STACK: 0x0 0x167 0x17d 0x35
Feb 16 21:11:24 WS1U kernel: [ 422.999380] SCB count = 16
Feb 16 21:11:24 WS1U kernel: [ 422.999382] Kernel NEXTQSCB = 15
Feb 16 21:11:24 WS1U kernel: [ 422.999385] Card NEXTQSCB = 5
Feb 16 21:11:24 WS1U kernel: [ 422.999387] QINFIFO entries: 5 11
Feb 16 21:11:24 WS1U kernel: [ 422.999391] Waiting Queue entries:
Feb 16 21:11:24 WS1U kernel: [ 422.999395] Disconnected Queue entries:
Feb 16 21:11:24 WS1U kernel: [ 422.999398] QOUTFIFO entries:
Feb 16 21:11:24 WS1U kernel: [ 422.999400] Sequencer Free SCB List: 0 9
8 5 4 3 10 11 2 7 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
29 30 31
Feb 16 21:11:24 WS1U kernel: [ 422.999455] Sequencer SCB Info:
Feb 16 21:11:24 WS1U kernel: [ 422.999457] 0
SCB_CONTROL[0xe0]:(TAG_ENB|DISCENB|TARGET_SCB)
Feb 16 21:11:24 WS1U kernel: [ 422.999465]
SCB_SCSIID[0x97]:(TWIN_CHNLB) SCB_LUN[0x0]
Feb 16 21:11:24 WS1U kernel: [ 422.999472] SCB_TAG[0xff]
[...]

/var/log/kern.log
[...]
Feb 16 21:30:40 WS1U kernel: [ 1579.446986] sr 2:0:6:0: [sr0] CDB:
Read(10): 28 00 00 00 00 02 00 00 02 00
Feb 16 21:30:40 WS1U kernel: [ 1579.446995] end_request: I/O error, dev
sr0, sector 8
Feb 16 21:30:40 WS1U kernel: [ 1579.456953] sr 2:0:6:0: [sr0] Result:
hostbyte=DID_OK driverbyte=DRIVER_SENSE
Feb 16 21:30:40 WS1U kernel: [ 1579.456962] sr 2:0:6:0: [sr0] Sense Key
: Illegal Request [current]
Feb 16 21:30:40 WS1U kernel: [ 1579.456968] sr 2:0:6:0: [sr0] Add.
Sense: Illegal mode for this track
Feb 16 21:30:40 WS1U kernel: [ 1579.456978] sr 2:0:6:0: [sr0] CDB:
Read(10): 28 00 00 00 00 20 00 00 02 00
Feb 16 21:30:40 WS1U kernel: [ 1579.456988] end_request: I/O error, dev
sr0, sector 128
Feb 16 21:30:40 WS1U kernel: [ 1579.466989] sr 2:0:6:0: [sr0] Result:
hostbyte=DID_OK driverbyte=DRIVER_SENSE
Feb 16 21:30:40 WS1U kernel: [ 1579.466998] sr 2:0:6:0: [sr0] Sense Key
: Illegal Request [current]
Feb 16 21:30:40 WS1U kernel: [ 1579.467004] sr 2:0:6:0: [sr0] Add.
Sense: Illegal mode for this track
Feb 16 21:30:40 WS1U kernel: [ 1579.467013] sr 2:0:6:0: [sr0] CDB:
Read(10): 28 00 00 00 00 00 00 00 02 00
Feb 16 21:30:40 WS1U kernel: [ 1579.467024] end_request: I/O error, dev
sr0, sector 0
Feb 16 21:30:40 WS1U kernel: [ 1579.476979] sr 2:0:6:0: [sr0] Result:
hostbyte=DID_OK driverbyte=DRIVER_SENSE
Feb 16 21:30:40 WS1U kernel: [ 1579.476988] sr 2:0:6:0: [sr0] Sense Key
: Illegal Request [current]
Feb 16 21:30:40 WS1U kernel: [ 1579.476993] sr 2:0:6:0: [sr0] Add.
Sense: Illegal mode for this track
Feb 16 21:30:40 WS1U kernel: [ 1579.477003] sr 2:0:6:0: [sr0] CDB:
Read(10): 28 00 00 00 00 00 00 00 02 00
Feb 16 21:30:40 WS1U kernel: [ 1579.477013] end_request: I/O error, dev
sr0, sector 0
[...]
 

Lesen sie die antworten

#1 Michael Baeuerle
17/02/2011 - 11:13 | Warnen spam
Marcel Müller wrote:

Gibt es eine Möglichkeit, den Kernel dazu zu bringen, dass Prozesse, die
derart viele Fehler produzieren einfach gekillt werden?



Ich wuesste jetzt keine.

Ich meine, ich
habe ja faktisch keine Möglichkeit, herauszufinden, wer der Verbrecher
ist, zumal das System in dem Zustand nicht reagiert.



Du koenntest versuchen die Nachrichtenkette zu verfolgen. Was kann
passieren wenn du die CD einlegst:
1) Das CDROM schickt eine AER message an den HA
Wenn das unterstuetzt wird, dann wird der Kernel das Ereignis via udev
in den Userspace posaunen.
2) Gar nichts
Ich gehe mal davon aus, dass dein CDROM so funktioniert. In diesem Fall
muss irgendjemand periodisch pollen ob sich am Status was geaendert hat.
Vielleicht solltest du mal bei HAL (oder was auch immer da bei deinem
System fuer diesen Job zustaendig ist) anfangen zu suchen.

Oder kann man alternativ unterbinden, dass sich irgendwelche Programme
an Audio-CDs vergehen? Den Autostart in Nautilus habe ich schon komplett
deaktiviert. Der war es offenbar nicht. Da scheint schon irgend etwas
grundlegenderes Amok zu laufen.
[Tonnenweise "Illegal Request" errors]



Testen kannst du ja mit einer Daten-CD wo es keine Fehler gibt: CD
einlegen und schauen was fuer eine (Dbus-)Message das erzeugt. Danach
dann rausfinden welche Programme sich fuer diese Message interessieren.


Micha

Ähnliche fragen