Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Jul 2011 13:15:12 -0700
From:      maestro something <maestro82@gmail.com>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-stable@freebsd.org, Andriy Gapon <avg@freebsd.org>
Subject:   Re: dtrace ustack kernel panic
Message-ID:  <CAJ_JOqtofEjt-jiZBiLKW--fY0sdiHvF36baS3Qxc8ubmQMazg@mail.gmail.com>
In-Reply-To: <20110730192646.GC17489@deviant.kiev.zoral.com.ua>
References:  <CAJ_JOqvEmXBTBABhUcJ66=bh9%2B8S%2BC9v30hXxVZiCXuEpGPJ1A@mail.gmail.com> <4E2E9F60.1060808@FreeBSD.org> <CAJ_JOqszViwLi6TeQxAxeX2Mte5eBPsGJpjQPVOQs2BOwAq9JQ@mail.gmail.com> <4E33B7CF.90200@FreeBSD.org> <CAJ_JOqt4VdgJm3NnB1KUf1RFuk75nu6-Rh=Bqb53h5TAEzB0%2BA@mail.gmail.com> <4E344D15.1040508@FreeBSD.org> <CAJ_JOqvCDE1Zcv4jz14rtZu5_NmqfY04tz91uy76WnaW2trO7Q@mail.gmail.com> <CAJ_JOqu2SR2n1Cm__3x3rfcJpYY=ihnoE9oyuKeNmKGuUGgnGA@mail.gmail.com> <20110730192646.GC17489@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

This is i386, right ?
> I think the cause is that assembler routine panic_trigger does not
> establish the standard i386 frame. Basically, you need either this,
> or dwarf annotations, for gdb to be able to walk over the frame.
>
> You need to add the standard prologue
>        pushl   %ebp
>        movl    %esp,%ebp
> and standard epilogue
>        leave
> to the function. No idea whether it will continue to operate correctly
> after.
>

my panic_trigger looks like this now:

/*
int
panic_trigger(int *tp)
*/
        ENTRY(panic_trigger)
        pushl   %ebp
        movl    %esp,%ebp
        xorl    %eax, %eax
        movl    $0xdefacedd, %edx
        lock
          xchgl %edx, (%edi)
        cmpl    $0, %edx
        je      0f
        movl    $0, %eax
        leave
        ret
0:      movl    $1, %eax
        leave
        ret
        END(panic_trigger)

same result, (actually too same as the address in the stack trace is still
the same, is that possible?)

cheers
--m



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