> 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)
