[DragonFlyBSD - Bug #2823] Intel Q9400 PC fails to boot waiting for the following device xpt interrupt routing is probably hosed
bugtracker-admin at leaf.dragonflybsd.org
bugtracker-admin at leaf.dragonflybsd.org
Mon Jul 13 01:28:17 PDT 2015
Issue #2823 has been updated by sepherosa.
Only zeroing counted_to_config is committed.
The LOCK_INITIALIZER is not necessary, since it will be initialized by
the sysctl reg function.
And I think the only rest of the bug is the 'sysctl reuse leaf'. Did
you configure any disk schedulers? However, I don't think the code
path generating the warning will cause any harm, e.g. prevent your
machine from booting.
Thanks,
sephe
On Sun, Jun 21, 2015 at 4:17 PM,
<bugtracker-admin at leaf.dragonflybsd.org> wrote:
> Issue #2823 has been updated by davshao.
>
> File camsysctlfix.diff added
>
> Attached is a partial fix. There are two initializations that seem to be missing, a M_ZERO for a kmalloc for a cam_eb struct in cam_xpt.c and a LOCK_INITIALIZER for the new lock field in struct sysctl_oid in the macro SYSCTL_OID. The attached patch allows the Core 2 Intel Q9400 to boot in ordinary but not in bootverbose mode. When booting with bootverbose there is an error message about "can't re-use a leaf (WD_WMATV5981256)" where that is apparently part of the configuration of da0:
>
> da0 at ahci0 bus 1 target 0 lun 0
> da0: <SATA WDC WD1002FBYS-0 03.0> Fixed Direct Access SCSI-4 device
> da0: Serial Number WD-WMATV5981256
> da0: 300.000MB/s transfers
>
> The missing M_ZERO for allocating a new struct cam_eb appears to make the initial value of the counted_to_config field random. I have included additional debugging information in the bootverbose sections of cam_xpt.c that allowed me to see that 6 busses ahci0.0 through ahci0.5 were being asked to configured by function xptconfigfunc() in cam_xpt.c, but only 5 were being counted by xptconfigbuscountfunc(), with ahci0.0 missing.
>
> I can only conjecture as to the necessity of LOCK_INITIALIZER for the lock field of struct sysctl_oid, but it appears to me that macro SYSCTL_OID from sysctl.h in sys/dev/raid/hptmv/hptproc.c is used to initialize a node hptmv.status in the sysctl tree whose root hptmv is somewhat an outlier. This may also be related to why I have only seen this difficulty booting one one older machine.
>
> ----------------------------------------
> Bug #2823: Intel Q9400 PC fails to boot waiting for the following device xpt interrupt routing is probably hosed
> http://bugs.dragonflybsd.org/issues/2823#change-12678
>
> * Author: davshao
> * Status: New
> * Priority: Normal
> * Assignee:
> * Category:
> * Target version:
> ----------------------------------------
> For one Intel Core 2 Q9400 machine, booting fails with console output listed below. The same problem has not been observed on a couple of newer generation Intel-based PCs. Bisection seems to indicate the problem began between, inclusive, master commit
>
> commit 6f1a15dc79a822710cc37e99f6a8bd9910e5e3f1
> Date: Sat Jun 6 16:17:41 2015 -0700
>
> sysctl - SMP performance work
>
> and
>
> commit bb06d795144b04574aa0b5fdb94e95ab77360a1a
> Date: Sun Jun 7 04:16:12 2015 +0200
>
> <sys/sysctl.h>: Include <sys/lock.h> only for the kernel (unbreaks world).
>
> Attached is a full verbose dmesg from a successful boot with a previous kernel.
>
> Console output for unsuccessful boot:
>
> CAM: finished configuring all busses
> **WARNING** waiting for the following device to finish configuring:
> xpt: func=0xffffffff8029ea32 arg=0
> **WARNING** waiting for the following device to finish configuring:
> xpt: func=0xffffffff8029ea32 arg=0
> **WARNING** waiting for the following device to finish configuring:
> xpt: func=0xffffffff8029ea32 arg=0
> **WARNING** waiting for the following device to finish configuring:
> xpt: func=0xffffffff8029ea32 arg=0
> **WARNING** waiting for the following device to finish configuring:
> xpt: func=0xffffffff8029ea32 arg=0
> Giving up, interrupt routing is probably hosed
> no B_DEVMAGIC (bootdev=0)
> ATA PseudoRAID loaded
> Mounting root from hammer:serno/WD-WMATV8216330.s1d
> no disk named 'serno/WD-WMATV8216330.s1d'
> hammer_mountroot: can't find devvp
> kthread 0xffffffe056318c80 syncer3 has exited
> Root mount failed:6
>
> Manual root filesystem specification
> <fstype>:<device> Specify root (e.g. ufs:da0s1a)
> ? List valid disk boot devices
> panic Just panic
> abort Abort manual input
>
> mountroot>
>
> Dmesg output for earlier kernel, successful boot:
>
> sl0: bpf attached
> hpt27xx: no controller detected.
> hptrr: no controller detected.
> CAM: Configuring bus: ahci0
> CAM: Configuring bus: ahci0
> CAM: Configuring bus: ahci0
> CAM: Configuring bus: ahci0
> CAM: Configuring bus: ahci0
> CAM: Configuring bus: ahci0
> CAM: Configuring 6 busses
> CAM: Finished configuring bus: ahci0
> CAM: Finished configuring bus: ahci0
> CAM: Finished configuring bus: ahci0
> CAM: Finished configuring bus: ahci0
> CAM: Finished configuring bus: ahci0
> CAM: Finished configuring bus: ahci0
> CAM: finished configuring all busses
> pass0 at ahci0 bus 1 target 0 lun 0
> pass0: <SATA WDC WD1002FBYS-0 03.0> Fixed Direct Access SCSI-4 device
> pass0: Serial Number WD-WMATV5981256
> pass0: 300.000MB/s transfers
> pass1 at ahci0 bus 2 target 0 lun 0
> pass1: <SATA WDC WD1002FBYS-0 03.0> Fixed Direct Access SCSI-4 device
> pass1: Serial Number WD-WMATV8216330
> pass1: 300.000MB/s transfers
>
>
>
>
> ---Files--------------------------------
> q9400_dmesg_20150607.txt (53.3 KB)
> revertsysctlsmp.diff (2.9 KB)
> camsysctlfix.diff (2.36 KB)
>
>
> --
> You have received this notification because you have either subscribed to it, or are involved in it.
> To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account
--
Tomorrow Will Never Die
----------------------------------------
Bug #2823: Intel Q9400 PC fails to boot waiting for the following device xpt interrupt routing is probably hosed
http://bugs.dragonflybsd.org/issues/2823#change-12689
* Author: davshao
* Status: New
* Priority: Normal
* Assignee:
* Category:
* Target version:
----------------------------------------
For one Intel Core 2 Q9400 machine, booting fails with console output listed below. The same problem has not been observed on a couple of newer generation Intel-based PCs. Bisection seems to indicate the problem began between, inclusive, master commit
commit 6f1a15dc79a822710cc37e99f6a8bd9910e5e3f1
Date: Sat Jun 6 16:17:41 2015 -0700
sysctl - SMP performance work
and
commit bb06d795144b04574aa0b5fdb94e95ab77360a1a
Date: Sun Jun 7 04:16:12 2015 +0200
<sys/sysctl.h>: Include <sys/lock.h> only for the kernel (unbreaks world).
Attached is a full verbose dmesg from a successful boot with a previous kernel.
Console output for unsuccessful boot:
CAM: finished configuring all busses
**WARNING** waiting for the following device to finish configuring:
xpt: func=0xffffffff8029ea32 arg=0
**WARNING** waiting for the following device to finish configuring:
xpt: func=0xffffffff8029ea32 arg=0
**WARNING** waiting for the following device to finish configuring:
xpt: func=0xffffffff8029ea32 arg=0
**WARNING** waiting for the following device to finish configuring:
xpt: func=0xffffffff8029ea32 arg=0
**WARNING** waiting for the following device to finish configuring:
xpt: func=0xffffffff8029ea32 arg=0
Giving up, interrupt routing is probably hosed
no B_DEVMAGIC (bootdev=0)
ATA PseudoRAID loaded
Mounting root from hammer:serno/WD-WMATV8216330.s1d
no disk named 'serno/WD-WMATV8216330.s1d'
hammer_mountroot: can't find devvp
kthread 0xffffffe056318c80 syncer3 has exited
Root mount failed:6
Manual root filesystem specification
<fstype>:<device> Specify root (e.g. ufs:da0s1a)
? List valid disk boot devices
panic Just panic
abort Abort manual input
mountroot>
Dmesg output for earlier kernel, successful boot:
sl0: bpf attached
hpt27xx: no controller detected.
hptrr: no controller detected.
CAM: Configuring bus: ahci0
CAM: Configuring bus: ahci0
CAM: Configuring bus: ahci0
CAM: Configuring bus: ahci0
CAM: Configuring bus: ahci0
CAM: Configuring bus: ahci0
CAM: Configuring 6 busses
CAM: Finished configuring bus: ahci0
CAM: Finished configuring bus: ahci0
CAM: Finished configuring bus: ahci0
CAM: Finished configuring bus: ahci0
CAM: Finished configuring bus: ahci0
CAM: Finished configuring bus: ahci0
CAM: finished configuring all busses
pass0 at ahci0 bus 1 target 0 lun 0
pass0: <SATA WDC WD1002FBYS-0 03.0> Fixed Direct Access SCSI-4 device
pass0: Serial Number WD-WMATV5981256
pass0: 300.000MB/s transfers
pass1 at ahci0 bus 2 target 0 lun 0
pass1: <SATA WDC WD1002FBYS-0 03.0> Fixed Direct Access SCSI-4 device
pass1: Serial Number WD-WMATV8216330
pass1: 300.000MB/s transfers
---Files--------------------------------
q9400_dmesg_20150607.txt (53.3 KB)
revertsysctlsmp.diff (2.9 KB)
camsysctlfix.diff (2.36 KB)
--
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account
More information about the Bugs
mailing list