Summary:ASTERISK-00620: [patch] crash from select()
Reporter:jcs (jcs)Labels:
Date Opened:2003-12-04 15:25:00.000-0600Date Closed:2004-09-25 02:49:15
Versions:Frequency of
Environment:Attachments:( 0) patch-include_asterisk_channel_h
Description:when using external features like agi or the email extension to voicemail, select() returns EINTR and asterisk exits.

WARNING[1007048192]: File chan_modem.c, Line 617 (do_monitor): select return -1: Interrupted system call
WARNING[1006793728]: File asterisk.c, Line 234 (listener): Select retured error: Interrupted system call

Program exited normally.

this is asterisk from cvs, updated an hour ago, on openbsd 3.4 (i386).
Comments:By: Brian West (bkw918) 2003-12-04 16:07:16.000-0600

Message tholo on IRC he might be able to help you with this.

By: Brian West (bkw918) 2003-12-06 11:44:23.000-0600

Have you talked to tholo yet?  Its a threading issue with OpenBSD you need a patch or get the latest from what he said.  Also noload => all the modules in modules.conf that you can't use such as chan_modem.so and others.


By: jcs (jcs) 2003-12-08 17:55:30.000-0600

the last ast_select in asterisk.c is returning, which causes the program to exit.  the patch i just attached fixed the problem for us, but i'm not sure how correct it is.

By: Mark Spencer (markster) 2003-12-09 16:06:27.000-0600

select is not supposed to be restarted blindly on a signal because sometimes we send (For example) SIGURG in order to wake up a sleeping thread.

By: Mark Spencer (markster) 2003-12-27 17:55:06.000-0600

Fixed by ignoring EINTR / EAGAIN.