Thanks for this. I got a similar explosion on Win32 using
fork (pseudo-fork) and fixed it as you suggest by switching
to Storable::dclone. The bug could be replicated, but
depended strangely on input data and other interactions.
It also required lots of work to get an error message.
Initially it crashed with a Windows crash dialog and nothing
on STDERR. Nasty bug.
The error, for the sake of frustrated searchers is:
Attempt to free non-existent shared string '°˙2♦',
Perl interpreter: 0x4377f9c at C:/Perl/site/lib/Class/DBI.pm line 1032