openvortex-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Openvortex-dev] Quad segfault


From: Manuel Jander
Subject: Re: [Openvortex-dev] Quad segfault
Date: Thu, 03 Jun 2004 12:02:28 -0400

Hi,

I made a patch, which i uploaded to the ALSA bugtracker (acknowledging
Jeff Muizelaar). I couldn't send the bug reporter a note, because there
are some services down at ALSA at the moment.
Anyway, if anyone wants to try it out... attached here.

Thank you Jeff for your time teaching me :D

Best Regards

Manuel

On Thu, 2004-06-03 at 11:00 -0400, Jeff Muizelaar wrote:
> On Thu, Jun 03, 2004 at 10:32:38AM -0400, Manuel Jander wrote:
> > Hi Jeff,
> > 
> > I long time since i have heard from you. How are you doing by the way ?
> > Well, going back to the topic, i would ,like to now, how do you did that
> > conclusion. Did you translate the program pointer offset
> > "vortex_core_shutdown+0x3a/0xa0 [snd_au8810]" to the corresponding
> > program line ? And if so, how can that be done easily, since each
> > function call may have different length, and maybe be inlined...
> > I guess i have something to learn yet :D
> 
> I am doing pretty well,
> to translate the oops:
> 
> from the line:
> EIP is at vortex_connect_default+0x5e/0x1b0 [snd_au8810]
> I figured out that it was in vortex_connect_default.
> 
> the code at the bottom disassembles to:
>  0:   80 78 42 00             cmpb   $0x0,0x42(%eax)
>  4:   0f 88 f8 00 00 00       js     0x102
>  a:   8d 8b 66 05 00 00       lea    0x566(%ebx),%ecx
> 10:   89 f2                   mov    %esi,%edx
> 12:   89 d8                   mov    %ebx,%eax
> 
> and the only comparision in vortex_connect_default around 0x5e
> is the VORTEX_IS_QUAD stuff. So guessed that was it.
> 
> > 
> > Regarding the codec pointer, i remember having trouble with that before,
> > and having done something to fix it.
> > #define VORTEX_IS_QUAD(x) ((x->codec == NULL) ?  0 :
> > (x->codec->ext_id&0x80))
> > But as i see, the pointer is not null, because it was not ourselfs who
> > freed that struct ... shit!
> 
> If we really want to it looks like we can attach a callback to the codec
> free and we could set it to NULL...
> 
> > 
> > "...request at virtual address c47f6e3a" != 0.
> > 
> > AFAIK, the rc2 of linux-2.6.7 does not include any ALSA update... That
> > means that any machine around there could just segfault at the same
> > situation :-O
> 
> I think the reason it showed up for this bug report was because
> DEBUG_PAGEALLOC, so it is probably sort of rare to actually get it, but
> still not good.
> 
> > 
> > I guess, we should maybe cache the knowledge if the codec is quad or
> > not.
> 
> Yeah, that was the best idea I could come up with, without looking
> deeply into it. It doesn't seem like the most elegant thing to do, but
> ohwell. 
> 
> -Jeff
-- 
Manuel Jander <address@hidden>
UTFSM

Attachment: aureal-quadfix.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]