> Does this always fail at the same iteration?
> 

If there are no changes to the perl script, yes. If I add code to the
script, for example, a line to print the DBD-Pg version, the script
fails a few iterations sooner (16 in this case).

> Can you alter the failure point by adjusting ulimit up or down?
> 

It does not appear to be directly related to a memory limit. I made
another version of the script that does not use DBI, and simply loads
data into a hash.  I let it run until it consumed over 40M before stopping
it. If I lower the limit sufficiently, I start getting "Out of memory!"
messages that stop the script without crashing.

> What is the backtrace from the core file?  It would be interesting to
> know if the crash is in libpq code, DBD-Pg code, or perl code.
> Knowing this doesn't fully isolate the problem, but it may provide a
> clue.

I have three different core dumps corresponding to three different
iteration counts. They all have different backtraces. I have included
all three below.

 - Matt

Core 1:
  (gdb) where
  #0  0x481b4232 in memmove ()
  #1  0x2c in ?? ()
  #2  0x480dada6 in Perl_pp_anonhash ()
  #3  0x480c26f1 in Perl_runops_standard ()
  #4  0x48080fec in S_call_body ()
  #5  0x48080b17 in perl_call_sv ()
  #6  0x481d1cd9 in XS_DBI_dispatch ()
  #7  0x480c8178 in Perl_pp_entersub ()
  #8  0x480c26f1 in Perl_runops_standard ()
  #9  0x48080fec in S_call_body ()
  #10 0x48080b17 in perl_call_sv ()
  #11 0x481d1cd9 in XS_DBI_dispatch ()
  #12 0x480c8178 in Perl_pp_entersub ()
  #13 0x480c26f1 in Perl_runops_standard ()
  #14 0x48080662 in S_run_body ()
  #15 0x48080378 in perl_run ()
  #16 0x804962f in main ()
  #17 0x8049379 in ___start ()
  (gdb)

Core 2:
  (gdb) where
  #0  0x481b3eb7 in memset ()
  #1  0x937f000 in ?? ()
  #2  0x481cf0ca in dbih_setup_handle ()
  #3  0x481d2c5c in XS_DBI__setup_handle ()
  #4  0x480c8178 in Perl_pp_entersub ()
  #5  0x480c26f1 in Perl_runops_standard ()
  #6  0x48080fec in S_call_body ()
  #7  0x48080b17 in perl_call_sv ()
  #8  0x481d1cd9 in XS_DBI_dispatch ()
  #9  0x480c8178 in Perl_pp_entersub ()
  #10 0x480c26f1 in Perl_runops_standard ()
  #11 0x48080fec in S_call_body ()
  #12 0x48080b17 in perl_call_sv ()
  #13 0x481d1cd9 in XS_DBI_dispatch ()
  #14 0x480c8178 in Perl_pp_entersub ()
  #15 0x480c26f1 in Perl_runops_standard ()
  #16 0x48080662 in S_run_body ()
  #17 0x48080378 in perl_run ()
  #18 0x804962f in main ()
  #19 0x8049379 in ___start ()
  (gdb)

Core 3:
  (gdb) where
  #0  0x480be9ef in S_more_he ()
  #1  0x480be97c in S_new_he ()
  #2  0x480bf1d1 in Perl_hv_store_ent ()
  #3  0x480beda7 in Perl_hv_fetch_ent ()
  #4  0x480c5db8 in Perl_pp_helem ()
  #5  0x480c26f1 in Perl_runops_standard ()
  #6  0x48080fec in S_call_body ()
  #7  0x48080b17 in perl_call_sv ()
  #8  0x481d1cd9 in XS_DBI_dispatch ()
  #9  0x480c8178 in Perl_pp_entersub ()
  #10 0x480c26f1 in Perl_runops_standard ()
  #11 0x48080662 in S_run_body ()
  #12 0x48080378 in perl_run ()
  #13 0x804962f in main ()
  #14 0x8049379 in ___start ()
  (gdb)

Reply via email to