Bug#598886: dahdi-source: vzaphfc does not work: "Unable to receive TEI from network"

Alex alex at massive.ch
Mon Oct 4 23:52:56 UTC 2010


karl156 wrote:
> Alex, can you test long calls?
> 
> On my side everything looks good too, but after approximately one minute
> of phoning (sometimes more sometimes less) my system freezes.

Same behaviour here. Kernel panic after calling for a few seconds.
In my case, disabling echo cancellation seems to prevent crashes.

I booted with a serial console after a few worthless crashes (no
capture). I didn't see any solid recurring pattern after 10 crashes.
However, hfc_interrupt is often in the loop (but not always) and oslec
is also often there. See below for one such report.

After looking at those panic calltraces, I disabled echo cancellation
(echocancel=no in /etc/asterisk/chan_dahdi.conf) and my system no longer
crashes during calls. Multiple successive calls of many minutes (tested
up to 10 minutes) can be conducted properly.

Testing other echo cancellers would be next logical step, but I wanted
to share this and see if it can reproduced by someone else.

Seeing quirk_piix4_acpi in the calltrace raises some interrogations
about whether this could be platform specific, maybe caused by pci or
interrupt handling bugs. I just don't know. My test system is an old P3
deskpro EN. Testing other slots in this machine and testing other
machines lying around is on my todo list...

Karl, can you make stable calls if you disable echo cancellation? What
about the hardware you are using? is it also having such "quirks"?

> I could not solve that problem yet, but I think I should file a separate
> bug for that.

I don't know if it's wise to file a debian bug for this, as we're not
using debian-only code to go "that far". Any advice, Tzafrir?

----------

Most crashes were very verbose, so I'll only include one that look
interesting:

[   42.793942] BUG: unable to handle kernel NULL pointer dereference at
000001ff
[   42.797247] IP: [<c1003ec4>] __math_state_restore+0x30/0x67
[   42.797247] *pde = 00000000
[   42.797247] Oops: 0000 [#1] SMP
[   42.797247] last sysfs file: /sys/devices/virtual/vc/vcs3/uevent
[   42.797247] Modules linked in: dahdi_echocan_oslec echo
dahdi_transcode nfsd lockd nfs_acl auth_rpcgss ]
[   42.797247]
[   42.797247] Pid: 1724, comm: check_load Not tainted (2.6.32-5-686 #1)
Deskpro
[   42.797247] EIP: 0060:[<c1003ec4>] EFLAGS: 00210046 CPU: 0
[   42.797247] EIP is at __math_state_restore+0x30/0x67
[   42.797247] EAX: de9d4000 EBX: de9d4000 ECX: de8c0440 EDX: ffffffff
[   42.797247] ESI: de8c0440 EDI: 00000000 EBP: de06a600 ESP: de9d5de4
[   42.797247]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[   42.797247] Process check_load (pid: 1724, ti=de9d4000 task=de8c0440
task.ti=de9d4000)
[   42.797247] Stack:
[   42.797247]  00000001 00000000 de9d5e10 00000007 c126d418 de06a600
c126d455 00000000
[   42.797247] <0> c13b323c de06a660 c126d123 de06a660 00000080 de06a700
00000007 00000000
[   42.797247] <0> de06a600 de91900e de9d007b de9d007b de0100d8 000000e0
ffffffff e125d029
[   42.797247] Call Trace:
[   42.797247]  [<c126d418>] ? do_device_not_available+0x0/0x4d
[   42.797247]  [<c126d455>] ? do_device_not_available+0x3d/0x4d
[   42.797247]  [<c126d123>] ? error_code+0x73/0x78
[   42.797247]  [<e125d029>] ? fir16+0x29/0x7c [echo]
[   42.797247]  [<e125d1dc>] ? oslec_update+0x105/0x3a4 [echo]
[   42.797247]  [<e1267025>] ? echo_can_process+0x1f/0x2f
[dahdi_echocan_oslec]
[   42.797247]  [<e0cb8764>] ? __dahdi_ec_chunk+0x181/0x2cb [dahdi]
[   42.797247]  [<e0cfeb12>] ? hfc_interrupt+0x46f/0x565 [zaphfc]
[   42.797247]  [<c106beb5>] ? handle_IRQ_event+0x4e/0x101
[   42.797247]  [<c106d35b>] ? handle_fasteoi_irq+0x66/0x97
[   42.797247]  [<c1004dd7>] ? handle_irq+0x17/0x1b
[   42.797247]  [<c1004659>] ? do_IRQ+0x38/0x89
[   42.797247]  [<c10037f0>] ? common_interrupt+0x30/0x38
[   42.797247]  [<c126007b>] ? quirk_piix4_acpi+0xe9/0x13c
[   42.797247]  [<c126eba2>] ? do_page_fault+0x2d3/0x307
[   42.797247]  [<c126e8cf>] ? do_page_fault+0x0/0x307
[   42.797247]  [<c126d123>] ? error_code+0x73/0x78
[   42.797247] Code: ec 08 89 e3 81 e3 00 e0 ff ff 8b 33 8b 46 04 8b be
94 02 00 00 f6 40 0c 10 74 10 83 c
[   42.797247] EIP: [<c1003ec4>] __math_state_restore+0x30/0x67 SS:ESP
0068:de9d5de4
[   42.797247] CR2: 00000000000001ff
[   42.797247] ---[ end trace 08d004051235b5ca ]---
[   42.797247] Kernel panic - not syncing: Fatal exception in interrupt
[   42.797247] Pid: 1724, comm: check_load Tainted: G      D
2.6.32-5-686 #1
[   42.797247] Call Trace:
[   42.797247]  [<c126b429>] ? panic+0x38/0xe4
[   42.797247]  [<c126da31>] ? oops_end+0x91/0x9d
[   42.797247]  [<c101b5db>] ? no_context+0x105/0x10e
[   42.797247]  [<c101b6f9>] ? __bad_area_nosemaphore+0x115/0x11d
[   42.797247]  [<c126e8cf>] ? do_page_fault+0x0/0x307
[   42.797247]  [<c101b70b>] ? bad_area_nosemaphore+0xa/0xc
[   42.797247]  [<c126d123>] ? error_code+0x73/0x78
[   42.797247]  [<c10800d8>] ? ftrace_format_power_frequency+0x21/0x51
[   42.797247]  [<c1003ec4>] ? __math_state_restore+0x30/0x67
[   42.797247]  [<c126d418>] ? do_device_not_available+0x0/0x4d
[   42.797247]  [<c126d455>] ? do_device_not_available+0x3d/0x4d
[   42.797247]  [<c126d123>] ? error_code+0x73/0x78
[   42.797247]  [<e125d029>] ? fir16+0x29/0x7c [echo]
[   42.797247]  [<e125d1dc>] ? oslec_update+0x105/0x3a4 [echo]
[   42.797247]  [<e1267025>] ? echo_can_process+0x1f/0x2f
[dahdi_echocan_oslec]
[   42.797247]  [<e0cb8764>] ? __dahdi_ec_chunk+0x181/0x2cb [dahdi]
[   42.797247]  [<e0cfeb12>] ? hfc_interrupt+0x46f/0x565 [zaphfc]
[   42.797247]  [<c106beb5>] ? handle_IRQ_event+0x4e/0x101
[   42.797247]  [<c106d35b>] ? handle_fasteoi_irq+0x66/0x97
[   42.797247]  [<c1004dd7>] ? handle_irq+0x17/0x1b
[   42.797247]  [<c1004659>] ? do_IRQ+0x38/0x89
[   42.797247]  [<c10037f0>] ? common_interrupt+0x30/0x38
[   42.797247]  [<c126007b>] ? quirk_piix4_acpi+0xe9/0x13c
[   42.797247]  [<c126eba2>] ? do_page_fault+0x2d3/0x307
[   42.797247]  [<c126e8cf>] ? do_page_fault+0x0/0x307
[   42.797247]  [<c126d123>] ? error_code+0x73/0x78

Two of the crashes had very terse output (single line!):
occurence 1)
BUG: scheduling while atomic: rs:main Q:Reg/1708/0x10010100
occurence 2)
BUG: scheduling while atomic: sh/2443/0x10010000






More information about the Pkg-voip-maintainers mailing list