Summary:ASTERISK-10121: pbx_ael crashs asterisk when unloading/loading
Reporter:Caio Begotti (caio1982)Labels:
Date Opened:2007-08-20 08:03:34Date Closed:2011-06-07 14:08:24
Versions:Frequency of
Description:Found that a couple of minutes ago, after updating trunk:

[Aug 20 10:02:42] NOTICE[17531]: pbx_ael.c:1680 pbx_load_module: Starting AEL load process.
[Aug 20 10:02:42] NOTICE[17531]: pbx_ael.c:1687 pbx_load_module: AEL load process: calculated config file name '/etc/asterisk/extensions.ael'.
/usr/sbin/asterisk: symbol lookup error: /usr/lib/asterisk/modules/pbx_ael.so: undefined symbol: ael2_parse

Program exited with code 0177.
Comments:By: Russell Bryant (russell) 2007-08-20 08:13:22

If your modules.conf explicitly lists modules to load, then you need to add res_ael_share.so

By: Caio Begotti (caio1982) 2007-08-20 08:27:42

Russell, I have autoloading enabled and no explicit load/noload. It should take care of the modules order, right?

By: Russell Bryant (russell) 2007-08-20 08:29:45

Yeah, it should.  Did res_ael_share get built and installed?

By: Caio Begotti (caio1982) 2007-08-20 08:54:51

Yep, it did.

Also, if I load both of them in the correct dependency order manually then try to unload res_ael_share.so before pbx_ael nothing happens, but unloading pbx_ael first leads to the crash as stated (I don't know if that was for real, but the folks from #asterisk-bugs asked about it).

By: Steve Murphy (murf) 2007-08-22 09:32:16

caio1982-- You are going to have to help me here. I cannot reproduce this on my test machine. the AEL stuff loads up fine and even reloads (via 'ael reload') just fine.

If others are having this problem also, it will be good to fix this! As far as I've experienced, the res_* stuff gets loaded first; and the AEL module should come after that. Is there anything about your compute environment that might be a factor here?

By: Joshua C. Colp (jcolp) 2007-08-22 10:47:42

The only time I was able to make this happen was with loading pbx_ael without loading res_ael_share... all other attempts worked fine.

By: Caio Begotti (caio1982) 2007-08-23 12:42:44

Murf, although an "undefined symbol" that crashes Asterisk as the log shows is really weird, I coult not reproduce it with the latest trunk code. Maybe somebody commited something days ago while on IRC talking about it?

By: Joshua C. Colp (jcolp) 2007-08-27 07:30:03

Great to hear!

As for the symbol stuff... the loader takes care of making sure that on a system with autoload=yes the modules that export global symbols get loaded first, and everything that uses them gets loaded after so you should never run into it... it's when you start selectively loading modules on your system that you can run into dependecy issues.