[Bug 219857] panic in scsi_cd code

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Jul 21 18:39:09 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219857

--- Comment #18 from Kenneth D. Merry <ken at FreeBSD.org> ---
Ok, there is likely a bug in the patch, we'll just have to track it down.

Here are a few things to try that may help get to the bottom of it.

First, make sure you're running with WITNESS and INVARIANTS enabled, since
those may catch locking or other issues that are causing problems.

1.  In the situation that hangs (Windows Server 2012, UP, no ISO in the drive),
when the OS hangs, break into the debugger and run "ps" and "alltrace" and send
the output. You can break into the debugger normally by sending a "break", but
you can also configure ALT_BREAK_TO_DEBUGGER in the kernel config file.  Here
is what sys/conf/NOTES says about triggering the debugger:

# Solaris implements a new BREAK which is initiated by a character
# sequence CR ~ ^b which is similar to a familiar pattern used on
# Sun servers by the Remote Console.  There are FreeBSD extensions:
# CR ~ ^p requests force panic and CR ~ ^r requests a clean reboot.

2.  Run the VM under Windows Server 2012 in SMP mode with no ISO in the drive,
run these commands and send the output:

camcontrol cmd cd0 -v -c "1e 0 0 0 1 0"

camcontrol readcap cd0 -v

camcontrol cmd cd0 -v -t 60 -c "28 0 0 0 0 0 0 0 1 0" -i 2048 - | hd

The first is Prevent Media Removal, the second is Read Capacity, the third is a
standard 10 byte read of one sector only.

My assumption is that there should be no difference in the behavior of the
emulated CD device between SMP and UP mode, and we're just avoiding the problem
in SMP mode due to timing.

I have tested in UP and SMP, and haven't seen this particular problem, but it
could be that the emulated CD driver on Windows Server 2012 is responding in a
way I didn't expect or the timing is just right in UP mode to trigger the bug.

Let me know what you figure out.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-scsi mailing list