On Thu, Feb 09, 2012 at 09:53:08PM +0000, Martin J. Evans wrote:
> Something between 1.616_901 and 1.616_902 changed which breaks fork() in DBI 
> on Windows. The test 16destroy.t fails with a Windows error
> 
> "This application has requested the Runtime to terminate in an unusual way"

I'd guess that's Windows polite version of Seg Fault ot Bus Error :)
I know ~0 about windows but I seem to recall that there _might_ be
something useful in the system event logs.

> Initially I saw this in 1.617 but then I stepped backwards to find the 
> problem occurred between these 2 versions. Some smokers have reported this 
> problem in 5.10.1, 5.14.0 and 5.14.2. I can reproduce on my wife's netbook 
> which is strawberry perl 5.12.0.
> 
> As you'll see from the Changes file the only 2 entries added were:
> 
>    Enhanced performance for threaded perls (Dave Mitchell, Tim Bunce)
>    Added note to DBI::Profile about async queries (Marcel Gr<FC>nauer).
> 
> I've diffed the two versions but there were quite a lot of changes and
> so far I cannot locate the problem. I've given up for tonight but
> might find time to do more.

When you get a moment could you try this change:

--- DBI.xs  (revision 15137)
+++ DBI.xs  (working copy)
@@ -3536,7 +3536,7 @@
             }
         }
 
-        if (is_orig_method_name)
+        if (0 && is_orig_method_name)
             imp_msv = (SV*)inner_method_lookup(aTHX_ DBIc_IMP_STASH(imp_xxh),
                                             cv, meth_name);
         else

which will, I think, effectively disable the runtime side of the method
cache changes.

Tim.

Reply via email to