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. Cheers, Shaun -- Shaun Ruffell Digium, Inc. | Linux Kernel Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at: www.digium.com & www.asterisk.org -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
