On Tue, Nov 5, 2013 at 2:01 PM, Jeff Trawick <traw...@gmail.com> wrote:
> On Tue, Nov 5, 2013 at 1:29 PM, Steve Hay <steve.m....@googlemail.com>wrote: > >> On 5 November 2013 16:53, Jeff Trawick <traw...@gmail.com> wrote: >> > * Have existing 64-bit debug build of httpd/apr/etc. with VS 2012 >> > * Checked out httpd24threading branch of mod_perl >> > * Have ActiveState 64-bit build of Perl 5.16.3 in PATH >> > >> > From a VS 2012 64-bit command prompt: >> > >> >> set MP_USE_MY_EXTUTILS_EMBED=1 >> > (ActiveState ppm doesn't show the exact version requested as available.) >> > >> >> perl Makefile.PL MP_AP_PREFIX=%HOME%\PREFIXES\241 >> > (and let it download apxs.bat et al) >> >> nmake >> >> nmake install >> >> nmake test >> > >> > ==> crash at httpd startup >> > >> > If I believe the Visual Studio debugger, it fails with a very basic >> linkage >> > issue -- mod_authz_core.so!add_authz_provider has non-NULL cmd_parms; it >> > calls perl_parse_require_line(), which the debugger believes has a NULL >> > cmd_parms. And indeed it crashes at a place in >> modperl_interp_pool_select() >> > where a NULL pointer would be used, after making a bad decision based >> on the >> > NULL cmd_parms. >> > >> > Any guess on what to change first? >> > >> >> Using the 2.4.6 debug build which I just made (and currently working >> with a 5.18.1 debug perl build) I now have a working system! The >> KeepAliveTimeout problem has gone away, and so has my earlier problem >> of the api/add_config.t test crashing httpd.exe. >> >> Your build notes look fine. The crash you have sounds like the same as >> the call stack posted by Jan Kaluza (on Linux), but I'm not seeing >> that myself right now. >> >> The function your crash is in was new in the httpd24 branch, and it's >> one of things that I had to sort out when merging the threading branch >> into it. The threading branch changes the way that perl interpreters >> are managed in mod_perl, and I've tried to apply those changes to the >> functions since added in the httpd24 branch, but I've quite possibly >> not got it all right. >> >> What happens if you try the httpd24 branch? That worked (bar a few >> test failures) for Jan on Linux, but for me on Windows it crashed >> httpd.exe in api/add_config.t, with an error relating to interpreters >> and memory pools -- which is why I went down the road of merging the >> threading branch with the httpd24 branch, in the hope that it would >> fix my problem. >> > > I get a lot further with the httpd24 branch. Some tests run before a > crash during t\api\add_config.t. (repeatable) > > modperl_cleanup_pnotes() crashes on "*pnotes = NULL" when the pool for a > subrequest is destroyed. > > I see http://mail-archives.apache.org/mod_mbox/perl-dev/201310.mbox/%3c526fa19b.6050...@redhat.com%3E though it isn't clear that it is the same problem. -- Born in Roswell... married an alien... http://emptyhammock.com/