Hi, i am pretty shure this is a known side effect of Clone but still i am a bit impressed. Short form: This segfaults on the ->prepare call. $dbh=DBI->connect(...); $a={ dbh => $dbh }; $b=Clone::clone($a); $b->{dbh}->prepare(...) gdb backtrace is: (gdb) bt #0 0x00007f409c5e387b in XS_DBI_dispatch () from /usr/lib/x86_64-linux-gnu/perl5/5.36/auto/DBI/DBI.so #1 0x0000561f3f0a5f18 in Perl_pp_entersub () #2 0x0000561f3f09bef6 in Perl_runops_standard () #3 0x0000561f3effa779 in perl_run () #4 0x0000561f3efcc4b2 in main () Replacing the Clone::clone with foreach my $k ( keys %{$a} ) { $b->{$k}=$a->{$k}; } Makes the segfault disappear. So it seems Clone trys to make a deep copy of some XS object which on usage segfaults horribly. I would have expected it to only copy the reference to the DBI/DBH object. This is all stock Debian/Bookworm using postgresql. Flo -- Florian Lohoff f@zz.de Any sufficiently advanced technology is indistinguishable from .
Attachment:
signature.asc
Description: PGP signature