[asterisk-dev] A question of "sound_thread: select failed: Interrupted system call"

andy wang ypwangreg at gmail.com
Sun Dec 24 23:02:49 MST 2006


Dear Developer:

I understand that now 1.4.0 has not supposed to support the cygwin but
it's to me just fun so I ask this question here.

I tried to run asterisk 1.4.0 in cygwin. now the problem is (compared
to linux) I registered sip client and dial 500 which will first handle
by chan_sip (till now everything is ok) then by chan_iax2, after the
iax2 channel is established I met 2 problems: the one is as title.
every  10 seconds, it seems a signal woke up chan_oss::sound_thread's
select but I can't find where is the signal? and why it is always 10s
period.

[Dec 24 23:22:22] WARNING[804]: chan_iax2.c:8096 network_thread:
chan_iax2:network_thread 1023DD64 [Dec 24 23:22:43] W
NING[804]: chan_oss.c:634 sound_thread: select failed: Interrupted system call
[Dec 24 23:22:43] WARNING[804]: chan_oss.c:634 sound_thread: select
failed: Interrupted system call
[Dec 24 23:22:43] WARNING[804]: chan_oss.c:634 sound_thread: select
failed: Interrupted system call
[Dec 24 23:22:43] WARNING[804]: chan_oss.c:634 sound_thread: select
failed: Interrupted system call
[Dec 24 23:22:43] WARNING[804]: chan_oss.c:634 sound_thread: select
failed: Interrupted system call
[Dec 24 23:22:43] WARNING[804]: chan_oss.c:634 sound_thread: select
failed: Interrupted system call
[Dec 24 23:22:53] WARNING[804]: chan_oss.c:634 sound_thread: select
failed: Interrupted system call
[Dec 24 23:22:53] WARNING[804]: chan_oss.c:634 sound_thread: select
failed: Interrupted system call
[Dec 24 23:22:53] WARNING[804]: chan_oss.c:634 sound_thread: select
failed: Interrupted system call
[Dec 24 23:22:53] WARNING[804]: chan_oss.c:634 sound_thread: select
failed: Interrupted system call

The second question is: sometimes (1 in 2 calls, I mean 50%
possibility) it will lead to a coredump which I think it may be
threading lock problems but since the thread stack was corrupt so I
can't find it right now but still trying ....

Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 804.0xb84]
0x00458072 in ast_io_wait (ioc=0x10, howlong=90689392) at io.c:271
271                     origcnt = ioc->fdcnt;
(gdb) bt
#0  0x00458072 in ast_io_wait (ioc=0x10, howlong=90689392) at io.c:271
#1  0x61092b95 in _sigbe () from /usr/bin/cygwin1.dll
#2  0x00000000 in ?? ()
(gdb) up 1
#1  0x61092b95 in _sigbe () from /usr/bin/cygwin1.dll
(gdb) bt
#0  0x00458072 in ast_io_wait (ioc=0x10, howlong=90689392) at io.c:271
#1  0x61092b95 in _sigbe () from /usr/bin/cygwin1.dll
#2  0x00000000 in ?? ()
(gdb) up 1
#2  0x00000000 in ?? ()
(gdb) down 1
#1  0x61092b95 in _sigbe () from /usr/bin/cygwin1.dll
(gdb) l
266             res = poll(ioc->fds, ioc->fdcnt, howlong);
267             if (res > 0) {
268                     /*
269                      * At least one event
270                      */
271                     origcnt = ioc->fdcnt;
272                     for(x = 0; x < origcnt; x++) {
273                             /* Yes, it is possible for an entry to
be deleted and still have an
274                                event waiting if it occurs after
the original calling id */
275                             if (ioc->fds[x].revents && ioc->ior[x].id) {
(gdb) info threads
  40 thread 804.0xa7c  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  39 thread 804.0x948  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  36 thread 804.0x108  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  35 thread 804.0x6a4  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
* 34 thread 804.0xb84  0x00458072 in ast_io_wait (ioc=0x10,
howlong=90689392) at io.c:271
  33 thread 804.0xde0  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  32 thread 804.0x7c4  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  31 thread 804.0x830  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  30 thread 804.0xedc  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  29 thread 804.0xefc  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  28 thread 804.0x9fc  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  27 thread 804.0x858  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  26 thread 804.0x2e4  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  25 thread 804.0x850  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  24 thread 804.0xc80  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  23 thread 804.0xa24  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  22 thread 804.0xf50  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  21 thread 804.0x45c  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  20 thread 804.0x424  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  19 thread 804.0xb18  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  18 thread 804.0x2cc  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  17 thread 804.0xba4  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  16 thread 804.0x8d4  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  15 thread 804.0x6b4  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  14 thread 804.0xfc0  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  13 thread 804.0x5d8  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  12 thread 804.0xd78  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  11 thread 804.0xaa0  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  10 thread 804.0x880  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  9 thread 804.0x814  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  8 thread 804.0x90c  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  7 thread 804.0x4e0  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  6 thread 804.0x7d4  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  4 thread 804.0x3d4  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  3 thread 804.0x950  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  2 thread 804.0x284  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
  1 thread 804.0xf2c  0x7c92eb94 in ntdll!LdrAccessResource () from
/cygdrive/c/WINDOWS/system32/ntdll.dll
(gdb)
(gdb) bt
#0  0x00458072 in ast_io_wait (ioc=0x10, howlong=90689392) at io.c:271
#1  0x61092b95 in _sigbe () from /usr/bin/cygwin1.dll
#2  0x00000000 in ?? ()
(gdb) info reg
eax            0x10     16
ecx            0xf      15
edx            0x415401 4281345
ebx            0x10     16
esp            0x567cc6c        0x567cc6c
ebp            0x567cc9c        0x567cc9c
esi            0x4154cb 4281547
edi            0x567ce64        90689124
eip            0x61092b95       0x61092b95
eflags         0x10202  66050
cs             0x1b     27
ss             0x23     35
ds             0x23     35
es             0x23     35
fs             0x3b     59
gs             0x0      0
(gdb) x/64x 0x567cc50
0x567cc50:      0x004154cb      0x05680000      0x004154cb      0x00000010
0x567cc60:      0x004154cb      0x0567cc9c      0x61092b95      0x00000010
0x567cc70:      0x0567cf70      0x00000000      0x00000000      0x00000004
0x567cc80:      0xffffffff      0x1026f32c      0x61106b24      0xffffffff
0x567cc90:      0x0567ce64      0x1024f9b8      0x00000246      0x0567ccc8
0x567cca0:      0x1023ddec      0x00000001      0xffffffff      0x10065e54
0x567ccb0:      0x006fd2d3      0x458f5227      0xfffffff7      0x00000000
0x567ccc0:      0x1026f32c      0x1024f9b8      0x0567cd18      0x0056b864
0x567ccd0:      0x1023dd64      0xffffffff      0x007016c2      0x006fdc1f
0x567cce0:      0x00676c38      0x1023dd64      0x0567ccf8      0x00000000
0x567ccf0:      0x00000000      0x0567cd40      0x00000000      0x00000000
0x567cd00:      0x00000000      0x00000000      0xffffffff      0x00000000
0x567cd10:      0x00000001      0x1024fa10      0x0567cd78      0x004ad006
0x567cd20:      0x00000000      0x006c25e3      0x0000021e      0x006c2925
0x567cd30:      0x00412f87      0x1024f9b8      0x00000000      0x77dadb0d
0x567cd40:      0x00412f87      0x1024f9b8      0x00000000      0x1024fa10
(gdb)

Regards,
Andy


More information about the asterisk-dev mailing list