Summary: | ASTERISK-09021: Zaptel crash in hpec_channel_update | ||
Reporter: | Dmitry Dudkin (ddv2005) | Labels: | |
Date Opened: | 2007-03-15 11:54:39 | Date Closed: | 2007-03-30 14:02:09 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) echo_free_patch.patch ( 1) log.txt | |
Description: | System randomly crash after 20 min-1 hour of work in Zaptel (hpec_channel_update+0x48) with shipped HPEC x86. ------------------------------------------------------------------ Unable to handle kernel paging request at virtual address 00080020 printing eip: df284578 *pde = 1a330001 EIP is at hpec_channel_update+0x48/0x435e [zaptel] eax: 00000000 ebx: db1c0a18 ecx: 16002000 edx: ddfbdc00 esi: ddfbdc10 edi: db1c0ab4 ebp: c03eff00 esp: c03efb68 ds: 007b es: 007b ss: 0068 Process swapper (pid: 0, threadinfo=c03ef000 task=c15510b0) Stack: 00000008 c03efec0 df288b90 00000000 00000108 00000000 000025e0 00060000 ffffffff ffffffff 00000001 00000000 c03eff8c c03eff8c df288af0 00000002 d3ad69c8 da6d8118 d3ad7dcc d3ad61c6 0016aee5 00000000 d85507a0 da6d95d8 ------------------------------------------------------------------ edx+4 is array of 'struct echo_can_state': ddfbdc00: d3df4000 d3ad6000 da6d8000 d5cf0000 .@...`....m..... ddfbdc10: 16002000 80794b76 a1f61000 00080018 . ..vKy......... ddfbdc20: c800b845 00000001 ce6311f9 1b679743 E.........c.C.g. ddfbdc30: 8971633f 9e2c284e 0000b400 e9700080 ?cq.N(,.......p. ddfbdc40: 09c3c400 6c19e508 7b7c7dfd fbfcfdff .......l.}|{.... ddfbdc50: 7e7d7cff 797dfefd 7d7c7e7b fefeff7e .|}~..}y{~|}~... ddfbdc60: fefdfeff fffffffe 7e7c7dfd fdff7e7d .........}|~}~.. ddfbdc70: fffffffd 7c7b7eff 7cff7e7e fefefe7d .....~{|~~.|}... ddfbdc80: fdfd7dfe 7eff7e7c fffefe7c fcfffffe .}..|~.~|....... ddfbdc90: 7efffdfb 7b7a7b7a fefffffe 7dfefefe ...~z{z{.......} ddfbdca0: 7e7c7c7e fcfdfc7e 7efffffd 7d7d7d7e ~||~~......~~}}} ddfbdcb0: 7e7e7c7a fefeffff fefdfbfe 7efcff7c z|~~........|..~ ddfbdcc0: 7d7efe7e 7e7e7d7d 7eff7e7e 7cffff7e ~.~}}}~~~~.~~..| ddfbdcd0: 7c7e7e7d fdfcfefe 7e7e7e7c fffd7e7e }~~|....|~~~~~.. ddfbdce0: 7d7b7e7e 7cff7eff feffffff fffffffe ~~{}.~.|........ ddfbdcf0: fdff7e7d fdfdfdfd fffefdfd 7efffeff }~.............~ ddfbdd00: 7e7eff7e fdfdff7e fe7e7dff fffefffe ~.~~~....}~..... ddfbdd10: fffefdfe fefefffe 7e7eff7e ff7e7e7e ........~.~~~~~. ddfbdd20: ffffffff fffeff7e 00000000 00000000 ....~........... ddfbdd30: 00000000 00000000 00000000 00000000 ................ ddfbdd40: 00000000 00000000 00000000 00000000 ................ ddfbdd50: 00000000 00000000 00000000 00000000 ................ you see that data after ddfbdc10 is corrupted and i think that is audio data. But i don't known who is do it. I have crash dump and i can give you additional information by request. ****** ADDITIONAL INFORMATION ****** Linux version 2.6.9-42.0.10.ELsmp (CentOS 4.4) Hardware: Pentium 4 Dual Core 3.4 Ghz | ||
Comments: | By: Jason Parker (jparker) 2007-03-15 12:19:43 Please contact Digium support. This product cannot be dealt with here. By: Dmitry Dudkin (ddv2005) 2007-03-29 11:56:27 I found that Zaptel free echo canceller on tone detection by calling kfree(ms->ec). But it is absolutly wrong because Zaptel must call echo_can_free to do it in any case. zaptel-base.c:4795 /* Check for echo cancel disabling tone */ if (echo_can_disable_detector_update(&ms->txecdis, getlin[x])) { printk("zaptel Disabled echo canceller because of tone (tx) on channel %d\n", ss->channo); ms->echocancel = 0; ms->echostate = ECHO_STATE_IDLE; ms->echolastupdate = 0; ms->echotimer = 0; kfree(ms->ec); ms->ec = NULL; break; } By: Jason Parker (jparker) 2007-03-30 14:02:08 Fixed in 1.2, 1.4, and trunk in revisions 2353, 2354, and 2355. Thanks! |