Summary:ASTERISK-15214: segfault if too many rooms in meetme.conf
Reporter:Jim Van Meggelen (jimvanm)Labels:
Date Opened:2009-11-25 12:21:30.000-0600Date Closed:2009-12-29 16:55:08.000-0600
Versions:Frequency of
Environment:Attachments:( 0) backtrace.txt.gz
( 1) meetme.conf
Description:I have an app that uses potentially thousands of meetme rooms. I had them declared in meetme.conf, and all worked well, but I started having a problem recently where asterisk would segfault.

I had meetme rooms defined in the range from 550000 to 570000, and then from 520000 to 5499999

The issue turned out to be that when I attempted to join a meetme that was several thousand lines into the conf file, asterisk would segfault.

I have resolved my problem by using dynamic meetme in the dialplan, and I don't expect that this is a problem many people would face, but I ran it by Leif and he figured I might as well put in a report so it gets fixed.

****** STEPS TO REPRODUCE ******

Create a meetme.conf with about 25000 rooms. Try and start a conference with one of the higher numbered rooms. (the lowered numbered rooms will not have a problem).


The backtrace is pretty big.
Comments:By: Matthias Nick (mnick) 2009-11-25 13:17:14.000-0600

Did you use: bt and bt full in your backtrage ??

If not:
Please see the doc/backtrace.txt file in your Asterisk source directory.

Also, be sure you have DONT_OPTIMIZE enabled in menuselect within the Compiler Flags section, then \'make install\' after enabling, reproduce the crash, and then execute the instructions in doc/backtrace.txt.

When complete, attach that file to this issue report. Thanks!

By: Jim Van Meggelen (jimvanm) 2009-11-25 14:24:11.000-0600

That file was already attached at 12:25. It's called backtrace.txt.gz


By: Matthias Nick (mnick) 2009-11-25 14:29:27.000-0600

I guess you made 'gdb asterisk core' and posted the output, right ??

Could you please run 'gdb asterisk core', type 'bt' and 'bt full' and post the result

By: Jim Van Meggelen (jimvanm) 2009-11-25 14:59:49.000-0600

No sir, I ran bt and bt full. That was the output. I swear.

I'll do it again, though, since the output is obviously not much use.

Let me see what I can do.

By: Jim Van Meggelen (jimvanm) 2009-11-25 15:01:02.000-0600

I did it again and that was the output from bt and bt full

By: Clod Patry (junky) 2009-12-20 23:20:19.000-0600

JimVanM: that backtrace is not usable.
Which options are you using when calling MeetMe() ?
Is is segfaulting each time or "random" ?

By: Jim Van Meggelen (jimvanm) 2009-12-21 09:00:14.000-0600

The problem always happens when the "steps to reproduce" are followed. I suspect that on different systems this may happen at different times; the key is that there have to be a lot of rooms defined in meetme.conf (tens of thousands of them), and you have to try and access a higher-numbered room.

Smells a bit like a race condition, to me.

By: Clod Patry (junky) 2009-12-21 09:20:13.000-0600

can you attach your meetme.conf, since "tens of thousands" can vary a lot?
Also, paste me the output from the CLI.

By: Jim Van Meggelen (jimvanm) 2009-12-29 09:16:41.000-0600

I've uploaded the meetme.conf file.

There is no console output because asterisk just dies without so much as a whimper.

By: Ronald Chan (loloski) 2009-12-29 10:36:55.000-0600


Sorry i'm just courious, can i ask why do you need such a big conference room allocation? just asking nothing else... don't feed the troll :)

By: Sean Bright (seanbright) 2009-12-29 16:55:07.000-0600

I fixed and closed a related issue the other day and hadn't seen this one.  This should be resolved in all release branches.  See issue ASTERISK-15362 for details.