Summary: | ASTERISK-17174: [patch] On Darwin, pbx_spool stops looking for work after 20-30 minutes of idle time | ||
Reporter: | John Covert (jcovert) | Labels: | patch |
Date Opened: | 2010-12-28 11:57:25.000-0600 | Date Closed: | |
Priority: | Major | Regression? | No |
Status: | Open/New | Components: | PBX/pbx_spool |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) 20101228__issue18544.diff.txt ( 1) show-2010-12-28-1254.txt | |
Description: | after a while, call files sit unprocessed in the outgoing spool directory. upon restart, they are processed, and new files are processed for a while. this problem seems to be suppressed by having a call file execute once a minute core show threads attached, but it doesn't look any different before or after the failure. | ||
Comments: | By: Tilghman Lesher (tilghman) 2010-12-28 12:59:36.000-0600 See if this patch solves the problem. From your description, I would think that the kqueue() API is having trouble with a spectacularly long timeout, so this patch shortens the timeout to 60 seconds (whereupon it should note the timeout, then try again). By: John Covert (jcovert) 2010-12-28 13:14:51.000-0600 Posted the workaround below before seeing that you had provided a patch. I'm trying your patch now, which -- if it works -- would presumably be better. ------ Another workaround seems to be to undef HAVE_KQUEUE in pbx_spool.c (which creates the worry that other consumers of kqueue may run into similar issues) By: John Covert (jcovert) 2010-12-28 16:22:30.000-0600 Unfortunately the patch doesn't solve the problem; it makes it worse -- no processing at all, and possibly increased instability throughout. I've gone back to the "undef HAVE_KQUEUE" workaround. By: waltermoeller (waltermoeller) 2011-01-15 11:53:08.000-0600 hello, same problem. undef have_kqueue workaround , on which file set undef statment ? By: John Covert (jcovert) 2011-01-15 12:39:04.000-0600 As I said, in pbx_spool.c I don't consider it a real fix; just a temporary workaround. Did you also try tilghman's proposed patch (which didn't work for me)? Since it isn't a fix, just a workaround, I'm not going to upload it, but you can grab it from http://www6.covert.org/asterisk/ Walter, please stick around and help out with Darwin testing. We need a lot more of it. IAX especially seems to be a problem now. By: waltermoeller (waltermoeller) 2011-01-16 04:31:24.000-0600 ok , thank you. but testet it, but no change , dead after 20-40 mins. try it again, only in pbx_spool.c By: waltermoeller (waltermoeller) 2011-01-16 06:45:49.000-0600 ok, testet. dont work at my installation. set #undef HAVE_KQUEUE same soupe ! By: waltermoeller (waltermoeller) 2011-01-17 07:19:48.000-0600 Info for iax, we use iax for internal phone on three asterisk server. we have no problems. By: John Covert (jcovert) 2011-03-22 22:37:19 waltermoeller, what version of Darwin, what CPU architecture (ppc/intel), and what cpu speed? BTW, the IAX problems seem minor for IAX phones, but major for IAX trunks when transcoding is going on. But that's a separate problem report. |