I've been dealing with this issue for some time now, and finally
had the time to narrow down the cause, tho I don't know what
the solution is...I'm hoping someone might have some light
to shed.

Basically, my driver was causing DBI to silently die on return from
the dr::connect() routine, even tho the connection had been
completely successfully setup in the driver. DBI->trace(15)
didn't show anything, other than DBI::END was called immediately
on return from $drh->connect() (inside DBI::connect()).

I'm running on Fedora Core 5, but the problem has existed on
FC 1, 3, and 4. I've also used various versions of Perl from 5.8.3 thru 5.8.8,
DBI from 1.40 thru 1.52, and Math::BigInt from 1.72 thru 1.77. I don't have
any other Linux to test with, so I can't verify if its just
a Fedora/RedHat issue.

Note that the issue does *not* occur on Win32, OS X, or Solaris.
Also note that everything works fine w/ DBI::PurePerl on Fedora.

After a lengthy process of tearing the driver down to bare essentials,
and slowly adding things back,  I discovered the culprit
is Math::BigInt::bmod() and bmodpow(), which my driver needs
to setup encrypted logons.
Apparently, something about those methods causes DBI to silently
die on return from my driver's connect(). While I've
managed to work around those issues, the solution is not
really satisfactory (hardcoding key info).

Does anyone know of any issues specifically related to Math::BigInt
that might be causing this ?

I spose I should grab a simple Pure Perl DBD, and hack in some Math::BigInt
calls to see if I can induce it in a stripped down driver
(DBD::DBM ? DBD::CSV ? suggestions ?)

Dean Arnold
Presicient Corp.

Reply via email to