I have a Perl daemon which gets this error once very couple of hours under stress testing -- 5 daemons, 20 clients, with the load factor wandering around between 10 and 20. This is Centos 6.2 and DBI 1.616.
'prepare_cached(select x1, x2, x3 from x where x.id = ?) statement handle DBI::st=HASH(0xf5e2ea0) still Active at xxx.pm Line 2072 The daemon disconnects before forking, reconnects afterwards.. There is a metric ton of wrappers, of course, so posting the actual code is not very useful. It's always the same code and the same caller. The code is used all over the place in our system, called millions of times every day. The warning appears harmless, both from not seeing any other errors and from the documentation on default behavior. As I said, there's a ton of code exercising the wrapper modules. I see from googling that the usual cause is knowing there are some number of rows, fetching one row at a time, but not fetching the EOF row or not calling $sth->finish. I cannot see taht as teh problem here, since so much code uses that same code in hundreds of programs invoked millions of times per day. It occurred to me to wonder about the global cache used by prepare_cached(). Is it possible that it isn't cleared by the disconnect, and somehow carries across the fork? -- ... _._. ._ ._. . _._. ._. ___ .__ ._. . .__. ._ .. ._. Felix Finch: scarecrow repairman & rocket surgeon / fe...@crowfix.com GPG = E987 4493 C860 246C 3B1E 6477 7838 76E9 182E 8151 ITAR license #4933 I've found a solution to Fermat's Last Theorem but I see I've run out of room o