[Home]

Summary:ASTERISK-20979: Asterisk fails to start, crashes with Assertion error
Reporter:Alisher (licedey)Labels:
Date Opened:2013-01-23 17:26:03.000-0600Date Closed:2013-02-20 23:52:36.000-0600
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Resources/res_rtp_asterisk
Versions:11.2.1 Frequency of
Occurrence
Constant
Related
Issues:
Environment:CentOS 6.3 32 bit (2.6.32-279.19.1.el6.i686)Attachments:( 0) core_dump_full.txt
( 1) core_dump.txt
( 2) pjproject_config_log.txt
( 3) rtp.conf
( 4) sip.conf
Description:I downloaded and compiled Asterisk 11. No issues with compilation, but asterisk fails to start. It crashes with Assert error:

res_config_curl.so => (Realtime Curl configuration)
res_timing_dahdi.so => (DAHDI Timing Interface)
res_timing_timerfd.so => (Timerfd Timing Interface)
res_timing_pthread.so => (pthread Timing Interface)
asterisk: ../src/pj/sock_select.c:46: PJ_FD_ZERO: Assertion `sizeof(pj_fd_set_t)-sizeof(pj_sock_t) >= sizeof(fd_set)' failed.
Aborted (core dumped)
Comments:By: Alisher (licedey) 2013-01-23 17:29:47.375-0600

Core dump

By: Alisher (licedey) 2013-01-23 17:32:38.915-0600

res/pjproject/config.log File

By: Alisher (licedey) 2013-01-23 17:38:44.630-0600

Core dump full

By: Matt Jordan (mjordan) 2013-01-28 12:05:49.509-0600

Can you please attach your rtp.conf and sip.conf as well?

By: Alisher (licedey) 2013-01-28 16:06:53.938-0600

rtp.conf file

By: Alisher (licedey) 2013-01-28 16:13:07.524-0600

SIP configuration

By: Alisher (licedey) 2013-01-28 16:15:03.247-0600

I uploaded rtp and sip config files.

By: Mike Myhre (mikemyhre) 2013-02-10 09:38:18.538-0600

I am getting this error also. I am using Centos 6.3 as well.
Do we know enough about this issue to find a work around or are we out of luck for using asterisk 11 at all?
I have asterisk 11.0.0 running on another Centos 5.x machine. Is it an OS related problem?
Is this expected to be fixed in the next minor release?

By: Matt Jordan (mjordan) 2013-02-10 10:02:48.414-0600

# It may be an OS issue, but we run extensively on CentOS 6 and haven't encountered this yet, so there may be more factors at work.
# In looking at the backtraces again, this may be occurring due to module load order. For people experiencing this issue - are you specifying a particular module load order in {{modules.conf}}?

Please keep in mind that issues are addressed as resources are available. Developers from the Asterisk community also often take on issues. However, until a patch is available, there is no 'assignment' of issues to releases. If you'd like to get this issue addressed faster, you can always contact developers in #asterisk-dev or on the mailing list and recruit their assistance.

By: Mike Myhre (mikemyhre) 2013-02-10 10:21:47.493-0600

I should add that my installation was a clean machine with make samples for config files. No special make menuselect options. Straight out of the box compile and install.

By: Alisher (licedey) 2013-02-11 06:02:02.017-0600

The bug is not related to module load order. I turned autoload=no in modules.conf, and tried to load res_rtp_asterisk.so module first, but asterisk crashed. I also tried to load res_rtp_asterisk.so at the end after all modules are loaded, but this asterisk crashes. The issue is related to pjsip library.

I tried to remove pjproject folder, but than asterisk doesn't compile. It would be great to have an option to disable pjproject module.


By: Alisher (licedey) 2013-02-20 23:52:36.190-0600

To solve this bug, you need to reduce the __FD_SETSIZE value to 1024.
/usr/include/bits/typesizes.h

By: Mike Myhre (mikemyhre) 2013-02-21 14:46:51.095-0600

My value is already at 1024 and it get the error.
This fix doesn't solve my issue.


By: Mike Myhre (mikemyhre) 2013-02-21 15:49:00.075-0600

I should add that I added a print statement before the assert line to find the values:
pj_fd_set=544 pj_sock=8 fd_set=128
If FD_SET comes from the __FD_SETSIZE define, it looks like it isn't using it or gets overridden in my environment.

By: Alisher (licedey) 2013-02-21 17:00:32.886-0600

Hi Make, 1024 is a size of array of FD_SET, not the actual value. Try to reduce the FD_SETSIZE value, do distclean and recompile asterisk (./configure && make && make install).

By: Mike Myhre (mikemyhre) 2013-02-22 10:21:26.825-0600

I cut it in half (512) and it compiled and ran without a problem.
Thanks!