NetBSD Problem Report #32191
From www@netbsd.org Tue Nov 29 15:01:24 2005
Return-Path: <www@netbsd.org>
Received: by narn.netbsd.org (Postfix, from userid 31301)
id 5322363B8CC; Tue, 29 Nov 2005 15:01:24 +0000 (UTC)
Message-Id: <20051129150124.5322363B8CC@narn.netbsd.org>
Date: Tue, 29 Nov 2005 15:01:24 +0000 (UTC)
From: matthias.christian@tiscali.de
Reply-To: matthias.christian@tiscali.de
To: gnats-bugs@netbsd.org
Subject: integer divide fault trap caused by the ata driver
X-Send-Pr-Version: www-1.0
>Number: 32191
>Category: kern
>Synopsis: integer divide fault trap caused by the ata driver
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Nov 29 15:02:00 +0000 2005
>Last-Modified: Wed Nov 30 14:24:01 +0000 2005
>Originator: Matthias-Christian Ott
>Release: netbsd-3
>Organization:
>Environment:
>Description:
I get an "integer divide fault trap" caused by the ata driver when booting my computer [0] [1]. See the screenshots for more details.
[0] http://metawire.org/~matthias-christian-ott/pub/netbsd/netbsd-3/integer-divide-fault-trap-0.jpg
[1] http://metawire.org/~matthias-christian-ott/pub/netbsd/netbsd-3/integer-divide-fault-trap-1.jpg
>How-To-Repeat:
>Fix:
>Audit-Trail:
From: Manuel Bouyer <bouyer@antioche.eu.org>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@NetBSD.org, gnats-admin@NetBSD.org,
netbsd-bugs@NetBSD.org
Subject: Re: kern/32191: integer divide fault trap caused by the ata driver
Date: Tue, 29 Nov 2005 21:18:41 +0100
On Tue, Nov 29, 2005 at 03:02:01PM +0000, matthias.christian@tiscali.de wrote:
> >Number: 32191
> >Category: kern
> >Synopsis: integer divide fault trap caused by the ata driver
> >Confidential: no
> >Severity: serious
> >Priority: high
> >Responsible: kern-bug-people
> >State: open
> >Class: sw-bug
> >Submitter-Id: net
> >Arrival-Date: Tue Nov 29 15:02:00 +0000 2005
> >Originator: Matthias-Christian Ott
> >Release: netbsd-3
> >Organization:
> >Environment:
> >Description:
> I get an "integer divide fault trap" caused by the ata driver when booting my computer [0] [1]. See the screenshots for more details.
>
> [0] http://metawire.org/~matthias-christian-ott/pub/netbsd/netbsd-3/integer-divide-fault-trap-0.jpg
> [1] http://metawire.org/~matthias-christian-ott/pub/netbsd/netbsd-3/integer-divide-fault-trap-1.jpg
Basically wdcprobe1 calls i8254_delay which calls gettick.
The fault is at gettick+0x1c. From gdb this would be write_eflags(ef).
I can't see how this can cause a integer divide fault trap.
Even in i8254_delay I can't see how we could get a divide by 0 here.
--
Manuel Bouyer <bouyer@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
From: "Matthias-Christian Ott" <matthias.christian@tiscali.de>
To: "Manuel Bouyer" <bouyer@antioche.eu.org>, gnats-bugs@NetBSD.org
Cc: kern-bug-people@NetBSD.org, gnats-admin@NetBSD.org,
netbsd-bugs@NetBSD.org
Subject: AW: Re: kern/32191: integer divide fault trap caused by the ata driver
Date: Wed, 30 Nov 2005 15:02:07 +0100
>Basically wdcprobe1 calls i8254_delay which calls gettick.
>The fault is at gettick+0x1c. From gdb this would be write_eflags(ef).
Well, it looks like everything is ok:
0xc054964c <gettick+28>: movzx eax,al
I really don't know why this can cause a trap.
Matthias-Christian Ott
--
(gdb) disassemble gettick+0x1c
Dump of assembler code for function gettick:
0xc0549630 <gettick>: push ebp
0xc0549631 <gettick+1>: mov edx,ds:0xc07d7108
0xc0549637 <gettick+7>: test edx,edx
0xc0549639 <gettick+9>: mov ebp,esp
0xc054963b <gettick+11>: jne 0xc054965c <gettick+44>
0xc054963d <gettick+13>: pushf
0xc054963e <gettick+14>: pop edx
0xc054963f <gettick+15>: cli
0xc0549640 <gettick+16>: xor eax,eax
0xc0549642 <gettick+18>: out 0x43,al
0xc0549644 <gettick+20>: in al,0x40
0xc0549646 <gettick+22>: mov cl,al
0xc0549648 <gettick+24>: in al,0x40
0xc054964a <gettick+26>: push edx
0xc054964b <gettick+27>: popf
0xc054964c <gettick+28>: movzx eax,al
0xc054964f <gettick+31>: shl eax,0x8
0xc0549652 <gettick+34>: movzx edx,cl
0xc0549655 <gettick+37>: or eax,edx
0xc0549657 <gettick+39>: leave
0xc0549658 <gettick+40>: ret
0xc0549659 <gettick+41>: lea esi,[esi]
0xc054965c <gettick+44>: leave
0xc054965d <gettick+45>: jmp 0xc0549ec8 <gettick_broken_latch>
0xc0549662 <gettick+50>: mov esi,esi
_______________________________________________________________________
Weihnachten bei Tiscali! Geschenke gibt's schon jetzt.
DSL City Flat f=FCr sensationelle 3.90 Euro im Monat*. Alle DSL-Tarife
3 Monate lang ohne Grundgeb=FChr! Gleich zugreifen!
http://www.tiscali.de/webmail/dsl.php
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.