On Wed, Jul 16, 2003 at 09:20:42AM -0400, Andrews, Mark wrote:
> I wrote a program that performs numerous independent database
> operations, essentially the same operation on a number of different
> tables.  For performance reasons I decided to have the program fork and
> each child operate on a different table.  It worked like a champ.  The
> environment was Windows 2000, ActiveState Perl 5.6.1, and DBI 1.23.  I
> upgraded to DBI 1.37 and now I get a memory error "The instruction at
> <Hex Address> referenced memory at <Hex Address>.  The memory could not
> be read."  I've tried this on other Windows machines in our office and
> get the same error.
>  
> I started removing pieces until I was left with this:
>  
> use DBI;
> my $pid = fork;
> if ($pid) {
>  print 'Parent', "\n";
> }
> else {
>  print 'Child', "\n";
> }
> 
> For this one program I have returned to using ODBC but that adds
> unwanted complexity to our system having to understand and maintain two
> different DB link methods.  I'd like to be able to use just DBI but this
> problem prevents it.

Enabling a trace (via DBI_TRACE env var) may help see what's
happening.  It would also help if you tried as many versions as
possible between 1.23 and 1.37 to narrow down when the problem
started.

Tim.

p.s. If anyone has the same environment but different versions of
DBI, or has a debugger that can report where the error is happening,
please try out the test program for me. Thanks.

Reply via email to