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-0600 | Date Closed: | 2009-12-29 16:55:08.000-0600 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | Applications/app_meetme |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
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). ****** ADDITIONAL INFORMATION ****** 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 Thanks. 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 JimVanM, 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. |