Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Nov 2008 06:47:11 +0100
From:      Ruben de Groot <mail25@bzerk.org>
To:        Marius Strobl <marius@alchemy.franken.de>
Cc:        Ruben de Groot <mail25@bzerk.org>, sparc64@freebsd.org
Subject:   Re: Panic in 7.1-PRERELEASE (was: Re: kgdb on sparc64)
Message-ID:  <20081120054711.GA11035@ei.bzerk.org>
In-Reply-To: <20081119220317.GP64456@alchemy.franken.de>
References:  <20081103120215.GA32257@ei.bzerk.org> <20081103221111.GA8256@alchemy.franken.de> <20081105195630.GA52831@ei.bzerk.org> <20081109183232.GC76319@alchemy.franken.de> <20081119080344.GA96293@ei.bzerk.org> <20081119220317.GP64456@alchemy.franken.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Nov 19, 2008 at 11:03:17PM +0100, Marius Strobl typed:
> On Wed, Nov 19, 2008 at 09:03:44AM +0100, Ruben de Groot wrote:
> > 
> > FreeBSD nostalgia4infinity.bzerk.org 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #5: Mon Nov 10 21:25:55 CET 2008     root@nostalgia4infinity.bzerk.org:/usr/obj/usr/src/sys/N4I  sparc64
> > 
> > panic: trap: data access error
> > cpuid = 0
> > KDB: stack backtrace:
> > panic() at panic+0x1c8
> > trap() at trap+0x4d0
> > -- data access error %o7=0xc00bac60 --
> > dc_mii_writebit() at dc_mii_writebit+0xd8
> > dc_miibus_writereg() at dc_miibus_writereg+0x2a0
> > miibus_writereg() at miibus_writereg+0x64
> > mii_phy_reset() at mii_phy_reset+0x7c
> > mii_phy_tick() at mii_phy_tick+0x154
> > amphy_service() at amphy_service+0x164
> > mii_tick() at mii_tick+0x1c
> > dc_tick() at dc_tick+0x1ec
> > softclock() at softclock+0x3c4
> > ithread_loop() at ithread_loop+0x21c
> > fork_exit() at fork_exit+0x88
> > fork_trampoline() at fork_trampoline+0x8
> > Uptime: 4d22h16m5s
> > Dumping 1024 MB (4 chunks)
> >   chunk at 0: 268435456 bytes ... ok
> >   chunk at 0x20000000: 268435456 bytes ... ok
> >   chunk at 0x40000000: 268435456 bytes ... ok
> >   chunk at 0x60000000: 268435456 bytes ... ok
> > 
> 
> Could you please run gdb on the corresponding kernel.debug
> and report the output of the following commands?
> l*(0xc00bac60)
> l*(dc_mii_writebit+0xd8)

(gdb) l*(0xc00bac60)
0xc00bac60 is in dc_mii_send (/usr/src/sys/dev/dc/if_dc.c:661).
656     dc_mii_send(struct dc_softc *sc, u_int32_t bits, int cnt)
657     {
658             int i;
659
660             for (i = (0x1 << (cnt - 1)); i; i >>= 1)
661                     dc_mii_writebit(sc, bits & i);
662     }
663
664     /*
665      * Read an PHY register through the MII.
(gdb) l*(dc_mii_writebit+0xd8)
0xc00baaf8 is in dc_mii_writebit (cpufunc.h:129).
124                         : : "r" (val), "r" (va), "r" (asi));                \
125             }
126
127     STNC_GEN(u_char, stba);
128     STNC_GEN(u_short, stha);
129     STNC_GEN(u_int, stwa);
130     STNC_GEN(u_long, stxa);
131
132     #define ST_GENERIC(va, asi, val, op)                                    \
133             __asm __volatile(#op " %0, [%1] %2"                             \

> If you need a quick workaround I think that locally reverting
> src/sys/dev/dc/if_dc.c r182461/1.192.2.5 will get you rid of
> this problem, this will also make dc(4) again no longer check
> the link state of this interface once it's up though, so this
> is no real solution.

Thanks. I've moved all websites away from this machine, so it's available for any
further tests to help find a solution. 

Ruben




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081120054711.GA11035>