On 09/02/2012 22:12, Tim Bunce wrote:
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.
I'll look more but no luck so far.

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.
nope, didn't change anything - it still failed.

Martin

Reply via email to