Re: 8.0-BETA1 Fatal trap 12 during boot

From: Henri Hennebert <hlh_at_restart.be>
Date: Thu, 16 Jul 2009 17:54:58 +0200
Henri Hennebert wrote:
> Henri Hennebert wrote:
>> Kostik Belousov wrote:
>>> On Thu, Jul 16, 2009 at 10:39:43AM +0200, Henri Hennebert wrote:
>>>> Hello,
>>>>
>>>> On one of my computer I get at the end of the boot:
>>>>
>>>> cd0 at ata1 bus 0 target 0 lun 0
>>>> cd0: <LITE-ON DVDRW SHM-165P6S MS0F> Removable CD-ROM SCSI-0 device
>>>> cd0: 33.000MB/s transfers
>>>> cd0: Attempt to query device size failed: NOT READY, Medium not present
>>>> flowtable clean(cd1:ata1:0:1:0): error 6
>>>> (cd1:ata1:0:1:0): Unretryable Error
>>>> cd1 at ata1 bus 0 target 1 lun 0
>>>> cd1: <HP CD-Writer+ 8200 1.0f> Removable CD-ROM SCSI-0 device
>>>> cd1: 16.000MB/s transfers
>>>> cd1: Attempt to query device size failed: NOT READY, Medium not present
>>>> er started
>>>> GEOM: new disk cd0
>>>> GEOM: new disk cd1
>>>> (cd0:ata1:0:0:0): error 6
>>>> (cd0:ata1:0:0:0): Unretryable Error
>>>> (cd0:ata1:0:0:0): error 6
>>>> (cd0:ata1:0:0:0): Unretryable Error
>>>> (cd1:ata1:0:1:0): error 6
>>>> (cd1:ata1:0:1:0): Unretryable Error
>>>> (cd1:ata1:0:1:0): error 6
>>>> (cd1:ata1:0:1:0): Unretryable Error
>>>>
>>>>
>>>> Fatal trap 12: page fault while in kernel mode
>>>> cpuid = 0; apic id = 00
>>>> fault virtual address   = 0x0
>>>> fault code              = supervisor write, page not present
>>>> instruction pointer     = 0x20:0xc057ecb1
>>>> stack pointer           = 0x28:0xc2e918fc
>>>> frame pointer           = 0x28:0xc2e91930
>>>> code segment            = base 0x0, limit 0xfffff, type 0x1b
>>>>                         = DPL 0, pres 1, def32 1, gran 1
>>>> processor eflags        = interrupt enabled, resume, IOPL = 0
>>>> current process         = 1 (kernel)
>>>> [thread pid 1 tid 100002 ]
>>>> Stopped at      devfs_populate_loop+0x201:      movl    %edi,0(%eax)
>>>> db> bt
>>>> Tracing pid 1 tid 100002 td 0xc3150d80
>>>> devfs_populate_loop(0,c2e91a10,c0582d57,c347da40,c2e919a8,...) at 
>>>> devfs_populate_loop+0x201
>>>> devfs_populate(c347da40,c2e919a8,61,c148a08c,c2e91978,...) at 
>>>> devfs_populate+0x1b
>>>> devfs_lookup(c2e91a84,c3351d9c,80400,c08e779c,1ec,...) at 
>>>> devfs_lookup+0x2c7
>>>> VOP_LOOKUP_APV(c0923980,c2e91a84,c2e91be0,1ec,c3350060,...) at 
>>>> VOP_LOOKUP_APV+0x53
>>>> lookup(c2e91bb4,c3486000,400,c2e91bd4,0,...) at lookup+0x3fe
>>>> namei(c2e91bb4,c3351e10,0,0,0,...) at namei+0x642
>>>> kern_symlinkat(c3150d80,c08d9d99,ffffff9c,c08e7ab4,1,...) at 
>>>> kern_symlinkat+0xe6
>>>> kern_symlink(c3150d80,c08d9d99,c08e7ab4,1,c068ef10,...) at 
>>>> kern_symlink+0x2e
>>>> vfs_mountroot(c098c510,c3150d80,0,0,0,...) at vfs_mountroot+0x5dd
>>>> start_init(0,c2e91d38,0,0,0,...) at start_init+0x3c
>>>> fork_exit(c05b6340,0,c2e91d38) at fork_exit+0x88
>>>> fork_trampoline() at fork_trampoline+0x8
>>>> --- trap 0, eip = 0, esp = 0xc2e91d70, ebp = 0 ---
>>>> db>
>>>>
>>>> Is it a hardware problem ?
>>>>
>>>> I boot it with a 6.1 CD without problem.
>>>
>>> No, this seems to be a driver problem. The panic in 
>>> devfs_populate_loop()
>>> is usually caused by driver mistakes with cdev ref counting.
>>>
>>> Can you look up source line for devfs_populate_loop+0x201 ?
>>> (Load kernel.debug into gdb and do
>>>     list *devfs_populate_loop+0x201
>>> ; you do not need vmcore for this, only kernel.debug).
>>
>> I try to debug it... but ...
>>
>> First of all, the root partition is only 128MB (yes I know, but it
>> was a old config that I want to upgrade...) so my kernel was without
>> symbols. I try to boot with a fresh burned 7.2 LiveFS which come up with
>> just the same error! Strangly enough, I was sure that a 7.2 kernel was
>> booting this thing without problem...
>>
>> So I remember that I was doing some glabel under 8.0-BETA1 on ad0s2[a-h]
>> when I encounter a crash... The bsdlabel being in bad shape under
>> 8.0-BETA1, I have make my ad0s2[a-h] `bsdlabel' with gpart. Anyway,
>> I was suspicious of this glabel...
>>
>> I boot with my 6.1 disk. Scratch the bsdlabel on ad0s2, and the glabel
>> with it.
>>
>> I reboot, and bingo, all is back to normal.
>>
>> Just for the record.
> I just try to redo what I was doing, ie gpart + glabel
> [root_at_norquay ~]# gpart show
> =>      63  78165297  ad0  MBR  (37G)
>         63  40949622    1  freebsd  [active]  (20G)
>   40949685  37206540    2  freebsd  (18G)
>   78156225      9135       - free -  (4.5M)
> 
> =>       0  40949622  ad0s1  BSD  (20G)
>          0    262144      1  freebsd-ufs  (128M)
>     262144  10485760      5  freebsd-ufs  (5.0G)
>   10747904   2097152      2  freebsd-swap  (1.0G)
>   12845056   1048576      6  freebsd-ufs  (512M)
>   13893632   2097152      7  freebsd-ufs  (1.0G)
>   15990784   4194304      8  freebsd-ufs  (2.0G)
>   20185088  20764534      4  freebsd-ufs  (9.9G)
> 
> =>       0  37206540  ad0s2  BSD  (18G)
>          0  37206540      4  freebsd-ufs  (18G)
> 
> =>       0  37206540  ufsid/4a5f2ee2eddf66d3  BSD  (18G)
>          0  37206540                       4  freebsd-ufs  (18G)
> 
> [root_at_norquay ~]# gpart delete -i 4 ad0s2
> ad0s2d deleted
> [root_at_norquay ~]# gpart show
> =>      63  78165297  ad0  MBR  (37G)
>         63  40949622    1  freebsd  [active]  (20G)
>   40949685  37206540    2  freebsd  (18G)
>   78156225      9135       - free -  (4.5M)
> 
> =>       0  40949622  ad0s1  BSD  (20G)
>          0    262144      1  freebsd-ufs  (128M)
>     262144  10485760      5  freebsd-ufs  (5.0G)
>   10747904   2097152      2  freebsd-swap  (1.0G)
>   12845056   1048576      6  freebsd-ufs  (512M)
>   13893632   2097152      7  freebsd-ufs  (1.0G)
>   15990784   4194304      8  freebsd-ufs  (2.0G)
>   20185088  20764534      4  freebsd-ufs  (9.9G)
> 
> =>       0  37206540  ad0s2  BSD  (18G)
>          0  37206540         - free -  (18G)
> 
> [root_at_norquay ~]# gpart add -s 2097152 -t freebsd-ufs -i 1 ad0s2
> ad0s2a added
> [root_at_norquay ~]# gpart add -s 2097152 -t freebsd-swap -i 2 ad0s2
> ad0s2b added
> [root_at_norquay ~]# gpart add -s 12582912 -t freebsd-ufs -i 4 ad0s2
> ad0s2d added
> [root_at_norquay ~]# gpart add -s 2097152 -t freebsd-ufs -i 5 ad0s2
> 
> <same crash here>
> 
> at devfs_populate_loop(0,c2e91a10,c0582d57,c347da40,c2e919a8,...) at
> devfs_populate_loop+0x201
> 
Yes previously this occurt uiring the `glabel label' of ad0s2[e-h].
(I am not sure of the partition letter, I was taken by surprise).

> As I say previously, I have no debugging at hand.
> 
> I will try to create the bsdlabel under 6.1...

As expected all is running fine now.

So I think that gpart is not useful to make a bsdlabel and only
6.1 is able to untangle the mess.

Henri
> 
> Henri
>>
>> Henri
>>
>> _______________________________________________
>> freebsd-current_at_freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to 
>> "freebsd-current-unsubscribe_at_freebsd.org"
> 
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
Received on Thu Jul 16 2009 - 13:55:04 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:52 UTC