[Koha] z39.50

Don Robertson don at robertson.net.nz
Tue Jul 26 21:50:39 NZST 2005

Hi - just posting aout my own post :-)

I am running Fedora Core 2 & Koha 2.2.3

I have the problem as described below (from the net-z3950 mailing list)

Has anyone resolved this? I've spent too long on it already.

UPDATE - I believe this only happens on time outs. I am beginning to
suspect our *&^%( Windows ISA server is the real problem. I am pretty
sure it was screwing up the mail server.

> > I have a cgi program that does a Z3950 fetch, when the z3950 server
can not
> be connected 
> $this->{conn} = new>
Net::Z3950::Connection($mgr,host,port,databaseName=>$base,user=>$user,passwo> rd=>$pass);
> Dies with this error:> Attempt to free unreferenced scalar: SV
0x13f5128 at\
> ris/Event.pm line 102.> [Wed Jul 06 02:53:05 2005] [notice] child pid
12954 exit signal Bus error
> (10)

> And causes the cgi program to crash, it seams to me that apache does
not> know how to handle the signal that is returned.> I tried catching
the error with an eval , but that does not work.
No, that wouldn't work.  "Attempt to free unreferenced scalar" is not
an error in the Perl program (which the Perl program would be able to
handle), but in the Perl interpreter.  That is deep voodoo magic.
Unless you've run into a bug in Perl itself (unlikely given the
maturity of the code) or in Apache (ditto) or in mod_perl (ditto
again), that means the only possible sources of the error are the
C-to-Perl binding code-segments in Net::Z3950 itself or the Event
module.  Not to be arrogant or anything, but I am pretty darned
certain it's the latter.

> A command line program that attempts to connect to the same server in
> same way does not die on :>  $this->{conn} = new>
Net::Z3950::Connection($mgr,host,port,databaseName=>$base,user=>$user,passwo> rd=>$pass);
>  but rather sends the following error to the standard error:
> Event: '?? Connection.pm:153' died and then $Event::DIED died with:
> call method "attributes" without a package or object reference at
> ris/Event.pm line 104.

OK, that's more evidence that Event.pm (or, rather the C portion of
it) is to blame.

This is not the first time we've had problems with the Event module --
other have run into seemingly unreproducible errors that it generates,
and its unportability is the reason Net::Z3950 doesn't run under
MS-Windows.  It looks to me like the solution is semi-radical surgery:
rip the Event module right out of the Net::Z3950 module and replace it
with YAZ's own event loop.  That would have many benefits, but the
best one would be that we'd not have the external dependency, so that
we'd be in a position to fix problems such as yours.  Otherwise, I'm
afraid I don't think there's much we can do.

Don Robertson
Systems Administrator
Hun Sen Library
Royal University of Phnom Penh
Kingdom of Cambodia
don at robertson.net.nz 012 769 280

Koha mailing list
Koha at lists.katipo.co.nz

More information about the Koha mailing list