Opened 15 years ago

Closed 6 years ago

Last modified 6 years ago

#4573 closed bug (invalid)

Haiku CD Fails to Boot: "PANIC: I/O operation would need to be cut."

Reported by: tmmagee Owned by: nobody
Priority: normal Milestone: R1
Component: System/Kernel Version: R1/alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: x86

Description

I tried to boot the Haiku CD on my former BeBox with the following results were:

1) Haiku splash screen appeared 2) Kernel panic occurred after the fourth icon on the splash screen lit up 3) The following message appeared on my screen:

"PANIC: I/O operation would need to be cut. Welcome to Kernel Debugging Land... Thread 30 "scsi scheduler" running on CPU 0 #debug>"

My machine is a Dell Dimension XPS T450. I looked up the specs on Dell's website and I have attached them to this ticket.

Attachments (1)

specs.html (46.6 KB ) - added by tmmagee 15 years ago.
Specs for my Dell Dimension XPS T450

Download all attachments as: .zip

Change History (13)

by tmmagee, 15 years ago

Attachment: specs.html added

Specs for my Dell Dimension XPS T450

comment:1 by richienyhus, 15 years ago

After kdebug> can you type in the command bt, use the command cont if needed.

comment:2 by tmmagee, 15 years ago

cont didn't do anything for me, the kernel panic just kept reoccurring, but bt was a bit more informative. It told me that the panic appears to occur in <scsi_periph>. I don't have a digital camera with which I can take a picture of the screenshot unfortunately, but if you have any specific questions let me know.

comment:3 by tmmagee, 15 years ago

Okay, it has been a while since I have looked at a kernel stack trace, but I think these are the important bits from the stack trace:

<kernel_x86> panic() ...
<scsi_periph> periph_io ...
<scsi_cd> do_io
...

So from what i am reading it appears that do_io (from scsi_cd) somehow calls periph_io and then periph_io panics.

Don't know if this helped. Again, let me know if you have any specific questions, and I apologize for the lack of camera.

comment:4 by justeco, 15 years ago

I am also having this issue with a Panasonic CF-47 Toughbook laptop.

This was the snapshot dated 2010-01-10

Here's the debug info:

PANIC: I/O operation would need to be cut.
Welcome to Kernel Debugging Land...
Thread 28 "scsi scheduler 2" running on CPU0
kdebug> bt
stack trace for thread 28 "scsi scheduler 2"
    kernel stack: 0x80d4d000 to 0x80d51000
frame               caller     <image>:function + offset
 0 80d50a8c (+  48) 8006cf04   <kernel_x86> invoke_command_trampoline__FPv() + 0x001c
 1 80d50abc (+  12) 800ef180   <kernel_x86> arch_debug_call_with_fault_handler() + 0x001b
 2 80d50ac8 (+  48) 8006c0d0   <kernel_x86> debug_call_with_fault_handler() + 0x0060
 3 80d50af8 (+  64) 8006d15d   <kernel_x86> invoke_debugger_command() + 0x00b9
 4 80d50b38 (+  64) 8006cf89   <kernel_x86> invoke_pipe_segment__FP21debugger_command_pipe1Pc() + 0x0079
 5 80d50b78 (+  64) 8006d2c8   <kernel_x86> invoke_debugger_command_pipe() + 0x00b9
 6 80d50bb8 (+  48) 8006ecc4   <kernel_x86> _ParseCommandPipe__16ExpressParserRi() + 0x0234
 7 80d50be8 (+  64) 8006e0fe   <kernel_x86> EvaluateCommand__16ExpressionParserPCcRi() + 0x02ba
 8 80d50c28 (+ 224) 800700d8   <kernel_x86> evaluate_debug_command() + 0x0080
 9 80d50d08 (+  64) 8006abce   <kernel_x86> kernel_debugger_loop__FPCcl() + 0x0296
10 80d50d48 (+  48) 8006ae22   <kernel_x86> kernel_debugger_internal_FPCcl() + 0x0042
11 80d50d78 (+  48) 8006c29b   <kernel_x86> kernel_debugger() + 0x0023
12 80d50da8 (+ 192) 8006c26d   <kernel_x86> panic() + 0x0029
13 80d50e68 (+  96) 806a352e   <scsi_periph> periph_io__FP23scsi_periph_device_infoP11IOOperationPU1() + 0x0122
14 80d50ec8 (+  48) 8069a6b6   <scsi_cd> do_io__FPvP11IOOperation() + 0x0032
15 80d50ef8 (+ 192) 800851fe   <kernel_x86> _Scheduler__11IOSchedulerPv() + 0x0012
16 80d50fb8 (+  32) 8008543e   <kernel_x86> _SchedulerThread__11IOSchedulerPv() + 0x0012
17 80d50fd8 (+  32) 8005e07f   <kernel_x86> _create_kernel_thread_kentry__Fv() + 0x001b
18 80d50ff8 (+2133520392) 8005e01c   <kernel_x86> thread_kthread_exit__Fv() + 0x0000

I typed it out, so hopefully it is all correct.

Also, if in case it may help identify hardware, here is an OpenBSD dmesg of the machine:

OpenBSD 4.6 (GENERIC) #58: Thu Jul  9 21:24:42 MDT 2009
    deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel Celeron ("GenuineIntel" 686-class, 256KB L2 cache) 365 MHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR
real mem  = 200830976 (191MB)
avail mem = 185257984 (176MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 06/10/99, BIOS32 rev. 0 @ 0xfd8c0, SMBIOS rev. 2.2 @ 0xdc010 (37 entries)
bios0: vendor Phoenix Technologies K.K. version "V1.00L11" date 06/10/1999
bios0: Matsushita Electric Industrial Co.,Ltd. CF47
apm0 at bios0: Power Management spec V1.2
apm0: battery life expectancy 100%
apm0: AC on, battery charge high
acpi at bios0 function 0x0 not configured
pcibios0 at bios0: rev 2.1 @ 0xfd8c0/0x740
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdf70/112 (5 entries)
pcibios0: PCI Interrupt Router at 000:07:0 ("Intel 82371FB ISA" rev 0x00)
pcibios0: PCI bus #2 is the last bus
WARNING: can't reserve area for I/O APIC.
bios0: ROM list: 0xc0000/0xc000 0xdc000/0x4000! 0xe0000/0x10000!
cpu0 at mainbus0: (uniprocessor)
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82443BX" rev 0x03
vga1 at pci0 dev 2 function 0 "Neomagic Magicgraph NM2200" rev 0x20
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
piixpcib0 at pci0 dev 7 function 0 "Intel 82371AB PIIX4 ISA" rev 0x02
pciide0 at pci0 dev 7 function 1 "Intel 82371AB IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: <TOSHIBA MK8113MAT>
wd0: 16-sector PIO, LBA, 7815MB, 16006410 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <TEAC, CD-224E, 1.5A> ATAPI 5/cdrom removable
cd0(pciide0:1:0): using PIO mode 4, DMA mode 2
uhci0 at pci0 dev 7 function 2 "Intel 82371AB USB" rev 0x01: irq 11
piixpm0 at pci0 dev 7 function 3 "Intel 82371AB Power" rev 0x02: SMI
iic0 at piixpm0
spdmem0 at iic0 addr 0x50: 128MB SDRAM non-parity PC66CL2
yds0 at pci0 dev 10 function 0 "Yamaha 744" rev 0x01: irq 11
cbb0 at pci0 dev 12 function 0 "TI PCI1251B CardBus" rev 0x00: irq 11
cbb1 at pci0 dev 12 function 1 "TI PCI1251B CardBus" rev 0x00: irq 11
isa0 at piixpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
usb0 at uhci0: USB revision 1.0
uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 1 device 0 cacheline 0x0, lattimer 0x20
pcmcia0 at cardslot0
cardslot1 at cbb1 slot 1 flags 0
cardbus1 at cardslot1: bus 2 device 0 cacheline 0x0, lattimer 0x20
pcmcia1 at cardslot1
biomask ef65 netmask ef65 ttymask ffff
mtrr: Pentium Pro MTRR support
fxp0 at cardbus0 dev 0 function 0 "Intel 8255x" rev 0x09: irq 11, address 00:d0:b7:01:f4:82
inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4
umass0 at uhub0 port 1 configuration 1 interface 0 "SanDisk U3 Cruzer Micro" rev 2.00/2.00 addr 2
umass0: using SCSI over Bulk-Only
scsibus1 at umass0: 2 targets, initiator 0
sd0 at scsibus1 targ 1 lun 0: <SanDisk, Cruzer, 7.01> SCSI0 0/direct removable
sd0: 3835MB, 512 bytes/sec, 7856127 sec total
cd1 at scsibus1 targ 1 lun 1: <SanDisk, Cruzer, 7.01> SCSI0 5/cdrom removable
softraid0 at root
root on wd0a swap on wd0b dump on wd0b
ac97: codec id 0x414b4d01 (Asahi Kasei AK4540 rev 1)
ac97: codec features headphone, AKM 3D
audio0 at yds0
opl0 at yds0: model OPL3
midi1 at opl0: <DS-1 integrated Yamaha OPL3>
mpu at yds0 not configured
mpu at yds0 not configured
mpu at yds0 not configured
mpu at yds0 not configured

comment:5 by tonestone57, 14 years ago

Seems this error occurs in file: src/add-ons/kernel/generic/scsi_periph/io.cpp

150 		if (numBlocks != originalNumBlocks)
151 			panic("I/O operation would need to be cut.");

On older CD-ROM drives, numBlocks value is changed under this if statement:

131 		// make sure we avoid 10 byte commands if they aren't supported
132 		if (!device->rw10_enabled || device->preferred_ccb_size == 6) {

This ticket is caused by changing numBlocks value in one of these, making it no longer equal to originalNumBlocks and triggering the panic:

135 			if (numBlocks > 0x100)
136 				numBlocks = 0x100;

Or

145 			if (pos < 0x100000)
146 				numBlocks = min_c(numBlocks, 0x100000 - pos);

comment:6 by el zurdo, 14 years ago

I also have this problem. I think my Haiku liveCD is OK because it boots with no problems on a different laptop.

My hardware:

HP Omnibook XE2-DB notebook

Pentium II 333MHz CPU

256MB RAM

4.6GB Hard Drive

Teac 24X CD RO drive on ATAPI bus

800x600x24 LCD display

Silicon Motion SM811 LynxE video card

Hope the link to the pic of kernel debug screen is legible and helpful. You'll probably have to zoom to a higher magnification to read it.

http://www.flickr.com/photos/49799743@N06/4824100384/

in reply to:  5 comment:7 by jackburton, 14 years ago

Replying to tonestone57:

Either the panic shouldn't be there, or the comment near that code is wrong, IMHO. restricting transfer is OK - the block manager will take care of transferring the rest

if (numBlocks > 0x100)

numBlocks = 0x100;

But then originalNumBlocks is checked against numBlocks.

comment:8 by scottmc, 13 years ago

I hope by BeBox you are referring to a PC that you had that you used to run BeOS on, and not a BeBox that was built by Be Inc in the 1990s, as Haiku won't work on those. ;)

Can you recheck this with a recent Haiku build?

comment:9 by scottmc, 13 years ago

Blocking: 7665 added

comment:10 by axeld, 8 years ago

Owner: changed from axeld to nobody
Status: newassigned

comment:11 by waddlesplash, 6 years ago

Resolution: invalid
Status: assignedclosed

comment:12 by waddlesplash, 6 years ago

Blocking: 7665 removed
Note: See TracTickets for help on using tickets.