[asterisk-bugs] [Asterisk 0014970]: [patch] chan_vpb fails to catch exception on 1.4

Asterisk Bug Tracker noreply at bugs.digium.com
Sat Jun 6 04:29:16 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=14970 
====================================================================== 
Reported By:                tzafrir
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   14970
Category:                   Channels/General
Reproducibility:            have not tried
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           SVN 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 189391 
Request Review:              
====================================================================== 
Date Submitted:             2009-04-25 04:01 CDT
Last Modified:              2009-06-06 04:29 CDT
====================================================================== 
Summary:                    [patch] chan_vpb fails to catch exception on 1.4
Description: 
On module startup, chan_vpb asks libvpb to scan for relevant hardware. If
libvpb fails to find any, it raises an exception:

	try {
		num_cards = vpb_get_num_cards();
	} catch (VpbException e) {
		ast_log(LOG_ERROR, "No Voicetronix cards detected\n");
		return AST_MODULE_LOAD_DECLINE;
	}

This seems to work as planned on trunk . However with 1.4 (on the same
system and same libvpb) I get

*CLI> module load chan_vpb.so
[Apr 25 11:56:50] ERROR[20919]: chan_vpb.cc:2720 ast_module_load_result
terminate called after throwing an instance of 'VpbException'
  what():  VPBREG_NO_VPB_DEVICES_DETECTED
/home/tzafrir/Proj/Asterisk/Git/asterisk/live_ast: line 170: 20919 Aborted
                $AST_BIN -C $AST_CONF "$@"

The fix/workaround (attached) is to use the parent class std::exception .

After which I get:

*CLI> module load chan_vpb.so
[Apr 25 11:58:40] ERROR[21550]: chan_vpb.cc:2722 ast_module_load_result
load_module(): No Voicetronix cards detected

and no panic.
====================================================================== 

---------------------------------------------------------------------- 
 (0106076) markwaters (reporter) - 2009-06-06 04:29
 https://issues.asterisk.org/view.php?id=14970#c106076 
---------------------------------------------------------------------- 
Also happening for me.

Asterisk 1.4.25.1 built by mark @ core7 on a i686 running Linux on
2009-06-06 09:11:53 UTC

Linux core7 2.6.28-11-server https://issues.asterisk.org/view.php?id=42-Ubuntu
SMP Fri Apr 17 02:48:10 UTC 2009
i686 GNU/Linux

tzafrir's fix works perfectly. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-06-06 04:29 markwaters     Note Added: 0106076                          
======================================================================




More information about the asterisk-bugs mailing list