It always hangs somewhere during the loading of modules. Unfortunately, even verbose logging isn’t very verbose as far as program status goes. It is helpful for call status information though.
Here’s what I see when I call with -c:
root@jupiter:/etc/asterisk# asterisk -c
Asterisk 188.8.131.52-2ubuntu2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <firstname.lastname@example.org>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
[ Reading Master Configuration ]
[ Initializing Custom Configuration Options ]
[May 16 13:53:07] NOTICE: cdr.c:1471 do_reload: CDR simple logging enabled.
[May 16 13:53:07] NOTICE: loader.c:1064 load_modules: 201 modules will be loaded.
[May 16 13:53:07] WARNING: loader.c:393 load_dynamic_module: Error loading module 'chan_gtalk.so': /usr/lib/asterisk/modules/chan_gtalk.so: undefined symbol: ast_aji_get_client
The issue here isn’t necessarily ‘why is the program hanging’, but more so ‘the program isn’t telling me what it’s doing’. I can manually enable each module until I find the culprit. It would be nice, and if modules are easily able to hang the whole program, expected, that certain critical points in the program be logged.