[asterisk-users] Kernel panic (asterisk 1.8.0-rc3, dahdi-linux-2.4)

Karsten Wemheuer kwem at gmx.de
Mon Oct 18 07:43:39 CDT 2010


Am Samstag, den 16.10.2010, 14:00 -0500 schrieb Shaun Ruffell:
> On 10/16/10 12:47 PM, Karsten Wemheuer wrote:
> > Hi,
> >
> > Am Freitag, den 15.10.2010, 14:34 -0500 schrieb Shaun Ruffell:
> >> On 10/15/2010 04:00 AM, Karsten Wemheuer wrote:
> >>
> >>> I setup an asterisk system (asterisk 1.8-rc3, dahdi-linux-2.4.0 with
> >>> dahdi-extra from Tzafrirs git, kernel 2.6.35.4). The hardware is an
> >>> older pc system with Celeron CPU (2.5 GHz) with a Beronet BN4S0 ISDN
> >>> card. The system starts without any errors.
> >>>
> >>> I discovered a severe issue. The kernel panics on a very small load. The
> >>> first call normally gets through. If I start the second or third call
> >>> and sometimes when I terminate the first call, the system panics (Oops
> >>> text on console).
> >>>
> >>> After solving some difficulties (the relevant part of the Oops text
> >>> scrolls out of the monitor, no serial interface), I get the text via
> >>> netconsole. It seems to me, that the panic occurred in oslec (function
> >>> "oslec_update"). But maybe I am wrong with this. In the oslec code there
> >>> is a patch to enable MMX. After switching this off, the problem
> >>> disappeared. AFAIK the cpu supports mmx.
> >>>
> >>> Where should I address this issue to? Is it a known issue?
> >>>
> >>
> >> Do you have CONFIG_DAHDI_MMX defined in include/dahdi/dahdi_config.h?
> >
> > No, I don't think so. (This is from memory, I currently have no access
> > to the test system). But there was a patch (I think from debian
> > packages, original from bug tracker (dahdi_mmx_auto.diff from
> > http://bugs.digium.com/view.php?id=13500)) which enables mmx at least
> > for the echo canceler oslec (I think). Disabling this patch let the
> > kernel panic disappear.
> >
> 
> Hmmm...I can't be certain since there are many parts coming from out of 
> the tree here (besides just olsec itself), but looking at 
> https://issues.asterisk.org/file_download.php?file_id=22366&type=bug 
> doesn't *seem* right.  It appears that DAHDI_USE_MMX is exported and 
> therefore the olsec in git://gitorious.org/dahdi-extra/dahdi-extra.git 
> uses the MMX instructions, but -DCONFIG_DAHDI_MMX is only added onto 
> CFLAGS_zaptel_base.o and not CFLAGS_dahdi_base.o.  Therefore, oslec most 
> likely is killing the FPU registers since it believes that dahdi-base.c 
> is taking care of saving and restoring them by hand.
> 
> I would recommend changing CFLAGS_zaptel_base.o to CFLAGS_dahdi_base.o, 
> or hand edit include/dahdi/dahdi_config.h to make sure CONFIG_DAHDI_MMX 
> is defined and see if you still get the crash.

I changed CFLAGS_zaptel_base.o to CFLAGS_dahdi_base.o as You recommended
and it seems to work now. No crash anymore.

Thanks,

Karsten





More information about the asterisk-users mailing list