moshkod has asked for the wisdom of the Perl Monks concerning the following question:

I have a cgi program that uses Net::Z3950.pm module, one of the methods fails and causes the cgi to die with this error:
Attempt to free unreferenced scalar: SV 0x13f5128 at /exlibris/sfx_ver/sfx_version_3/app/perl-5.8.6/lib/site_perl/5.8.6/sun 4-solaris/Event.pm line 102. [Wed Jul 06 02:53:05 2005] [notice] child pid 12954 exit signal Bus e +rror (10)
the method fails due to a bug in the external module Event.pm it uses, the problem is that i dont know of any way to catch the error in order to prevent the cgi from dieing , eval on the method does not catch the error.

Does anyone have an idea on how to catch the error?

Replies are listed 'Best First'.
Re: catching an error in an internal module
by Corion (Patriarch) on Jul 06, 2005 at 12:17 UTC

    This error cannot be caught by your Perl interpreter because it is a (programming) error in the XS part of Event.pm. If you have the proper C compiler for your version of Perl available, you can try to upgrade to the latest version of Event (1.06 at this time), which seems to pass its tests under Solaris. Of course, your problem might not be covered by the test suite, so that is no indication that upgrading will work.