[Home]

Summary:ASTERISK-11153: module unload <tab> doesnt work
Reporter:Clod Patry (junky)Labels:
Date Opened:2008-01-04 19:21:53.000-0600Date Closed:2011-06-07 14:08:14
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/PBX
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) module_load2.diff
( 1) module_load2-1.4.diff
Description:rabbit*CLI> module unload <tab>
cdr        dnsmgr     enum       extconfig  http       manager    rtp        logger    
which is the wrong output, since it should be the modules list.

I also note:
module load <tab> doesnt work.

But if you type just the first char, then it works:
rabbit*CLI> module load r<tab>
res_adsi.so          res_ael_share.so     res_agi.so           res_clioriginate.so  res_convert.so       res_crypto.so        res_features.so      
res_indications.so   res_limit.so         res_monitor.so       res_realtime.so      res_smdi.so          res_speech.so        res_musiconhold.so  
rabbit*CLI> module load a<tab>
app_adsiprog.so         app_alarmreceiver.so    app_amd.so              app_cdr.so              app_chanisavail.so      app_channelredirect.so  
app_chanspy.so          app_controlplayback.so  app_db.so               app_dial.so             app_dictate.so          app_directed_pickup.so  
app_directory.so        app_disa.so             app_dumpchan.so         app_echo.so             app_exec.so             app_externalivr.so      
app_festival.so         app_flash.so            app_followme.so         app_forkcdr.so          app_getcpeid.so         app_ices.so            
app_image.so            app_macro.so            app_meetme.so           app_milliwatt.so        app_minivm.so           app_mixmonitor.so      
app_morsecode.so        app_mp3.so              app_nbscat.so           app_page.so             app_parkandannounce.so  app_pickupchan.so      
app_playback.so         app_privacy.so          app_queue.so            app_read.so             app_readexten.so        app_readfile.so        
app_record.so           app_sayunixtime.so      app_senddtmf.so         app_sendtext.so         app_setcallerid.so      app_sms.so              
app_softhangup.so       app_speech_utils.so     app_stack.so            app_system.so           app_talkdetect.so       app_test.so            
app_transfer.so         app_url.so              app_userevent.so        app_verbose.so          app_voicemail.so        app_waitforring.so      
app_waitforsilence.so   app_waituntil.so        app_while.so            app_zapateller.so       app_zapbarge.so         app_zapras.so          
app_zapscan.so          app_authenticate.so    
rabbit*CLI> module load app_

which is okay after only the 1st char.
Comments:By: Clod Patry (junky) 2008-01-04 20:30:16.000-0600

module unload works perfectly in trunk-93163.
same problem (1st character) is present in that version for module load.

By: Caio Begotti (caio1982) 2008-01-04 20:42:36.000-0600

The attached patch solved for me on trunk 96621 :)

By: Clod Patry (junky) 2008-01-04 20:52:25.000-0600

i was watching from another patched system, my bad.

this patch fixed the issue with module load with Rev 96576.
good job caio.

The same problem is present in 1.4.17 too.



By: Caio Begotti (caio1982) 2008-01-04 21:07:23.000-0600

Tested patch for 1.4 attached.

By: Caio Begotti (caio1982) 2008-01-04 21:14:25.000-0600

Patch updated, removing the unused function. My module_load-1.4.diff can be deleted.



By: Clod Patry (junky) 2008-01-05 06:20:58.000-0600

Since this was tested by me, if we could get feedback before submitting this to both branch.

By: Joshua C. Colp (jcolp) 2008-01-08 15:40:11.000-0600

This patch is quite incorrect. ast_module_helper completes based on loaded modules, and in the case of module load you can't use it since you actually want a list of modules in the directory.

By: Caio Begotti (caio1982) 2008-01-08 17:02:52.000-0600

Uh, sorry, you're right! I'll try study the code a little more, let's see if I can discover the real problem :(

By: Digium Subversion (svnbot) 2008-01-08 18:41:59.000-0600

Repository: asterisk
Revision: 97350

U   branches/1.4/main/cli.c
U   branches/1.4/main/editline/readline.c

------------------------------------------------------------------------
r97350 | tilghman | 2008-01-08 18:41:58 -0600 (Tue, 08 Jan 2008) | 5 lines

Allow filename completion on zero-length modules, remove a memory leak, remove
a file descriptor leak, and make filename completion thread-safe.
Patched and tested by tilghman.
(Closes issue ASTERISK-11153)

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=97350

By: Digium Subversion (svnbot) 2008-01-08 18:48:29.000-0600

Repository: asterisk
Revision: 97364

_U  trunk/
U   trunk/main/cli.c
U   trunk/main/editline/readline.c

------------------------------------------------------------------------
r97364 | tilghman | 2008-01-08 18:48:28 -0600 (Tue, 08 Jan 2008) | 13 lines

Merged revisions 97350 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97350 | tilghman | 2008-01-08 18:44:14 -0600 (Tue, 08 Jan 2008) | 5 lines

Allow filename completion on zero-length modules, remove a memory leak, remove
a file descriptor leak, and make filename completion thread-safe.
Patched and tested by tilghman.
(Closes issue ASTERISK-11153)

........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=97364

By: Digium Subversion (svnbot) 2008-01-09 12:30:22.000-0600

Repository: asterisk
Revision: 97556

_U  team/murf/bug11210/
U   team/murf/bug11210/apps/app_meetme.c
U   team/murf/bug11210/apps/app_queue.c
U   team/murf/bug11210/apps/app_voicemail.c
U   team/murf/bug11210/channels/Makefile
U   team/murf/bug11210/channels/chan_gtalk.c
U   team/murf/bug11210/channels/chan_oss.c
U   team/murf/bug11210/channels/chan_zap.c
A   team/murf/bug11210/channels/console_board.c
U   team/murf/bug11210/channels/console_gui.c
U   team/murf/bug11210/channels/console_video.c
U   team/murf/bug11210/channels/console_video.h
U   team/murf/bug11210/codecs/codec_zap.c
A   team/murf/bug11210/images/font.png
U   team/murf/bug11210/images/kpad2.jpg
U   team/murf/bug11210/main/asterisk.c
U   team/murf/bug11210/main/cli.c
U   team/murf/bug11210/main/editline/readline.c
U   team/murf/bug11210/res/res_features.c

------------------------------------------------------------------------
r97556 | murf | 2008-01-09 12:30:19 -0600 (Wed, 09 Jan 2008) | 245 lines

Merged revisions 97280-97282,97303,97305,97307,97309,97364-97365,97389-97390,97421,97449,97451,97488,97490,97495,97530-97533 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r97280 | rizzo | 2008-01-08 16:09:44 -0700 (Tue, 08 Jan 2008) | 11 lines

add support for textareas, used for various dialog windows on the gui.
The main code to implement the textarea is in console_board.c,
and uses a simple png image with the font, blitting characters
on the designated areas of the main screen.
Additionally we provide some annotations in the image used
as a skin to indicate which areas are used for text messages.
(images will be committed separately).
At the moment the dialog area is only used to display a running
counter, just as a proof of concept.


................
r97281 | rizzo | 2008-01-08 16:11:25 -0700 (Tue, 08 Jan 2008) | 5 lines

add a font suitable for use with the console GUI.
The background of this particular image is transparent so we
can preserve the original background when we draw strings.


................
r97282 | rizzo | 2008-01-08 16:14:48 -0700 (Tue, 08 Jan 2008) | 6 lines

Add the annotation for the textarea used for messages,
and also change the background from white to something
different to show that we can make use of fonts with transparent
background.


................
r97303 | rizzo | 2008-01-08 16:35:05 -0700 (Tue, 08 Jan 2008) | 4 lines

add copyright (most of this code was written by Marta Carbone),
remove some unused code, add/clarify some comments.


................
r97305 | tilghman | 2008-01-08 16:51:51 -0700 (Tue, 08 Jan 2008) | 6 lines

Add a new flag 'd' (with optional context) permitting any extension within
that context to be entered as a new extension during the playback of a
voicemail greeting.
Patch inspired by bluecrow76, by tilghman.
(Closes issue ASTERISK-6878)

................
r97307 | mmichelson | 2008-01-08 16:56:24 -0700 (Tue, 08 Jan 2008) | 13 lines

Merged revisions 97304 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97304 | mmichelson | 2008-01-08 17:49:11 -0600 (Tue, 08 Jan 2008) | 5 lines

Part 1 of N of adding doxygen comments to app_queue. I picked some of the most common functions
used (which also happen to be some the biggest/ugliest functions too) to document first. I'm pretty
new to doxygen so criticism is welcome.


........

................
r97309 | mmichelson | 2008-01-08 17:18:15 -0700 (Tue, 08 Jan 2008) | 11 lines

Merged revisions 97308 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97308 | mmichelson | 2008-01-08 18:17:40 -0600 (Tue, 08 Jan 2008) | 3 lines

use the
etval doxygen command properly


........

................
r97364 | tilghman | 2008-01-08 17:51:59 -0700 (Tue, 08 Jan 2008) | 13 lines

Merged revisions 97350 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97350 | tilghman | 2008-01-08 18:44:14 -0600 (Tue, 08 Jan 2008) | 5 lines

Allow filename completion on zero-length modules, remove a memory leak, remove
a file descriptor leak, and make filename completion thread-safe.
Patched and tested by tilghman.
(Closes issue ASTERISK-11153)

........

................
r97365 | tilghman | 2008-01-08 17:58:22 -0700 (Tue, 08 Jan 2008) | 2 lines

New option in trunk, needs strdupa to be safe, too

................
r97389 | rizzo | 2008-01-09 05:13:32 -0700 (Wed, 09 Jan 2008) | 4 lines

make get_video_desc() return the active console if
passed a null argument (channel).


................
r97390 | rizzo | 2008-01-09 05:23:18 -0700 (Wed, 09 Jan 2008) | 7 lines

implement the "console startgui" and "console stopgui"
commands so you can start and stop the gui even outside
of a call. This is convenient for testing, and also for
using the keypad to pick up a call, and to dial a number
(the latter not yet implemented, but should be close).


................
r97421 | kpfleming | 2008-01-09 08:31:56 -0700 (Wed, 09 Jan 2008) | 10 lines

Merged revisions 97410 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97410 | kpfleming | 2008-01-09 09:26:23 -0600 (Wed, 09 Jan 2008) | 2 lines

add error number output to ioctl failure messages to help with debugging

........

................
r97449 | kpfleming | 2008-01-09 08:45:34 -0700 (Wed, 09 Jan 2008) | 10 lines

Merged revisions 97448 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97448 | kpfleming | 2008-01-09 09:43:19 -0600 (Wed, 09 Jan 2008) | 2 lines

pass the right variable to get an error string... oops

........

................
r97451 | file | 2008-01-09 09:13:24 -0700 (Wed, 09 Jan 2008) | 14 lines

Merged revisions 97450 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97450 | file | 2008-01-09 12:11:17 -0400 (Wed, 09 Jan 2008) | 6 lines

Don't do conferencing totally in Zaptel if Monitor is running on the channel.
(closes issue ASTERISK-11179)
Reported by: BigJimmy
Patches:
     patch-meetmerec uploaded by BigJimmy (license 371)

........

................
r97488 | rizzo | 2008-01-09 09:44:20 -0700 (Wed, 09 Jan 2008) | 8 lines

Implement keyboard handling, and use it to enter
a number to dial in the 'message' area under the
keypad.

Now you can make calls using the keypad as a regular phone
(or the keyboard for chars not present on the keypad)


................
r97490 | phsultan | 2008-01-09 09:59:09 -0700 (Wed, 09 Jan 2008) | 15 lines

Merged revisions 97489 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97489 | phsultan | 2008-01-09 17:44:24 +0100 (Wed, 09 Jan 2008) | 7 lines

Set the caller id within the gtalk_alloc function.

As underlined in issue ASTERISK-10070 by Josh, we need to prevent a possible
memory leak. We only set the name part of the caller id, the number
part is not relevant when dealing with JIDs.

Closes issue ASTERISK-11037.
........

................
r97495 | kpfleming | 2008-01-09 10:30:13 -0700 (Wed, 09 Jan 2008) | 10 lines

Merged revisions 97491 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97491 | kpfleming | 2008-01-09 11:21:14 -0600 (Wed, 09 Jan 2008) | 2 lines

report the same message whether Zaptel does not have transcoder support loaded or no transcoders were found

........

................
r97530 | rizzo | 2008-01-09 11:03:40 -0700 (Wed, 09 Jan 2008) | 11 lines

Two changes:
- support scrolling of message window;
- simplify the code for creating a message window,
 and try it using a second one in the top of
 the keypad (where we echo the dialed number).

The 'skin' that supports these two windows will be
committed separately.



................
r97531 | russell | 2008-01-09 11:04:14 -0700 (Wed, 09 Jan 2008) | 10 lines

Merged revisions 97529 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97529 | russell | 2008-01-09 12:02:08 -0600 (Wed, 09 Jan 2008) | 2 lines

Fix saying the parking space number to the caller doing the parking ...

........

................
r97532 | rizzo | 2008-01-09 11:04:17 -0700 (Wed, 09 Jan 2008) | 4 lines

add annotations for the two message windows
we use.


................
r97533 | rizzo | 2008-01-09 11:12:44 -0700 (Wed, 09 Jan 2008) | 3 lines

remove a wrong 'const'


................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=97556

By: Clod Patry (junky) 2008-01-25 11:31:55.000-0600

I've noticed:

rabbit*CLI> module load app_<tab>
app_adsiprog.so         app_alarmreceiver.so    app_amd.so              app_cdr.so              app_chanisavail.so      app_channelredirect.so  app_chanspy.so          app_controlplayback.so
app_db.so               app_dial.so             app_dictate.so          app_directed_pickup.so  app_directory.so        app_disa.so             app_dumpchan.so         app_echo.so
app_exec.so             app_externalivr.so      app_festival.so         app_flash.so            app_followme.so         app_forkcdr.so          app_getcpeid.so         app_ices.so
app_image.so            app_macro.so            app_meetme.so           app_milliwatt.so        app_minivm.so           app_mixmonitor.so       app_morsecode.so        app_mp3.so
app_nbscat.so           app_page.so             app_parkandannounce.so  app_pickupchan.so       app_playback.so         app_privacy.so          app_read.so             app_readexten.so
app_readfile.so         app_record.so           app_sayunixtime.so      app_senddtmf.so         app_sendtext.so         app_setcallerid.so      app_sms.so              app_softhangup.so
app_speech_utils.so     app_stack.so            app_system.so           app_talkdetect.so       app_test.so             app_transfer.so         app_url.so              app_userevent.so
app_verbose.so          app_voicemail.so        app_waitforring.so      app_waitforsilence.so   app_waituntil.so        app_while.so            app_zapateller.so       app_zapbarge.so
app_zapras.so           app_zapscan.so          app_authenticate.so
rabbit*CLI>
app_queue.so is not there, so it isnt parsing the mod dir, but loaded modules.

so i can finish typing:

rabbit*CLI> module load app_queue.so
 == Parsing '/etc/asterisk/queuerules.conf':
 == Found
 == Parsing '/etc/asterisk/queues.conf':
 == Found
   -- Registered extension context 'app_queue_gosub_virtual_context'
   -- Added extension 's' priority 1 to app_queue_gosub_virtual_context
[Jan 25 12:32:00] NOTICE[8918]: app_queue.c:3978 reload_queue_members: Queue members successfully reloaded from database.
 == Registered application 'Queue'
 == Registered application 'AddQueueMember'
 == Registered application 'RemoveQueueMember'
 == Registered application 'PauseQueueMember'
 == Registered application 'UnpauseQueueMember'
 == Registered application 'QueueLog'
 == Manager registered action Queues
 == Manager registered action QueueStatus
 == Manager registered action QueueSummary
 == Manager registered action QueueAdd
 == Manager registered action QueueRemove
 == Manager registered action QueuePause
 == Manager registered action QueueLog
 == Manager registered action QueuePenalty
 == Manager registered action QueueRule
 == Registered custom function 'QUEUE_VARIABLES'
 == Registered custom function 'QUEUE_MEMBER'
 == Registered custom function 'QUEUE_MEMBER_COUNT'
 == Registered custom function 'QUEUE_MEMBER_LIST'
 == Registered custom function 'QUEUE_WAITING_COUNT'
 == Registered custom function 'QUEUE_MEMBER_PENALTY'
Loaded app_queue.so => (True Call Queueing)
rabbit*CLI>

and it will load correctly.


If that could help:
rabbit*CLI> module unload app<tab>
app_adsiprog.so         app_alarmreceiver.so    app_amd.so              app_authenticate.so     app_cdr.so              app_chanisavail.so      app_channelredirect.so  app_chanspy.so
app_controlplayback.so  app_db.so               app_dial.so             app_dictate.so          app_directed_pickup.so  app_directory.so        app_disa.so             app_dumpchan.so
app_echo.so             app_exec.so             app_externalivr.so      app_festival.so         app_flash.so            app_followme.so         app_forkcdr.so          app_getcpeid.so
app_ices.so             app_image.so            app_macro.so            app_meetme.so           app_milliwatt.so        app_minivm.so           app_mixmonitor.so       app_morsecode.so
app_mp3.so              app_nbscat.so           app_page.so             app_parkandannounce.so  app_pickupchan.so       app_playback.so         app_privacy.so          app_read.so
app_readexten.so        app_readfile.so         app_record.so           app_sayunixtime.so      app_senddtmf.so         app_sendtext.so         app_setcallerid.so      app_sms.so
app_softhangup.so       app_speech_utils.so     app_stack.so            app_system.so           app_talkdetect.so       app_test.so             app_transfer.so         app_url.so
app_userevent.so        app_verbose.so          app_voicemail.so        app_waitforring.so      app_waitforsilence.so   app_waituntil.so        app_while.so            app_zapateller.so
app_zapbarge.so         app_zapras.so           app_zapscan.so          app_queue.so
rabbit*CLI> module unload app_queue.so

works as expected.

By: Tilghman Lesher (tilghman) 2008-01-25 12:09:44.000-0600

Have you checked your modules directory?  Perhaps it's not completing, because you haven't built the module on that box.  I can assure you, it is DEFINITELY reading that directory.

By: Clod Patry (junky) 2008-01-25 12:20:32.000-0600

*CLI> module load app_q<tab>  (NOTHING!!!)
*CLI> [Jan 25 13:23:03] WARNING[10575]: loader.c:375 load_dynamic_module: Error loading module 'app_q': /usr/lib/asterisk/modules/app_q.so: cannot open shared object file: No such file or directory
[Jan 25 13:23:03] WARNING[10575]: loader.c:657 load_resource: Module 'app_q' could not be loaded.

*CLI> !ls -l /usr/lib/asterisk/modules/app_queue.so
-rwxr-xr-x 1 root root 414394 2008-01-25 13:02 /usr/lib/asterisk/modules/app_queue.so
*CLI>


If that could help, ive a noload =>app_queue.so in my modules and im trying to load it manually after full loading.

By: Tilghman Lesher (tilghman) 2008-01-25 12:27:12.000-0600

If you type 'module load <tab>', the first two entries you should see are "./" and "../".  That is the case on my machine.  I have verified this behavior with both 90001 and 100264.



By: Joshua C. Colp (jcolp) 2008-01-29 11:49:32.000-0600

I'm closing this out. Corydon has confirmed it, I've confirmed it. This fix is indeed working. If you've confirmed that you are using the latest version then find us on IRC.