Re: DBI make apache fail in perl58.dll
pascal barbedor wrote: > SharedUserData!SystemCallStub+0x4 > ntdll!ZwTerminateProcess+0xc > kernel32!_ExitProcess+0x57 > kernel32!ExitProcess+0x11 > msvcrt!__crtExitProcess+0x2f > msvcrt!_cinit+0xe4 > msvcrt!exit+0xe > WARNING: Stack unwind information not available. Following frames may be > wrong. > perl58!Perl_Tregnarrate_ptr+0x14809d > perl58!Perl_Tregnarrate_ptr+0x57255 > perl58!Perl_Tregnarrate_ptr+0x56ef8 > perl58!Perl_Tregnarrate_ptr+0x13fc84 > perl58!Perl_Tregnarrate_ptr+0x13fcd9 > perl58!Perl_Tregnarrate_ptr+0xfeb7a > perl58!Perl_Tregnarrate_ptr+0xfe465 > DBI!XS_DBI__clone_dbis+0x27b > DBI!XS_DBI__clone_dbis+0x100 > perl58!Perl_Tregnarrate_ptr+0x96df8 > perl58!Perl_Tregnarrate_ptr+0x17de8 > perl58!Perl_Tregnarrate_ptr+0x52c21 > perl58!Perl_Tregnarrate_ptr+0x5237c > > > I am affraid it's the best I can do, it's very hard to compile debug on > win32 > > I have seemingly compiled perl58 DEBUG (there was a complain about missing > vc60.pdb, and I supplied one I found ) > > I cannot compile debug either modperl1-99_04 either _05 against my debug > perl. > > so I just copied from perl/site/lib everything concerning modperl into the > perldebug site/lib tree > (don't know if this is liable) > > I also properly installed DBI-1.30 in the perldebug site/lib tree > > then I ran apache in windbg and got this stacktrace > > also here is the last loading modules sequence inside apache > > ModLoad: 6fbf 6fbf6000 C:\Apache2\modules\mod_userdir.so > ModLoad: 2800 281a3000 C:\perld\bin\perl58.dll > ModLoad: 1000 1001 C:\Apache2\modules\mod_perl.so > ModLoad: 71a9 71a98000 C:\WINDOWS\System32\wshtcpip.dll > ModLoad: 0036 00383000 C:\perld\site\lib\auto\DBI\DBI.dll > ModLoad: 0039 00399000 > C:\perld\site\lib\auto\Apache\RequestRec\RequestRec.dll > ModLoad: 003a 003a6000 > C:\perld\site\lib\auto\Apache\RequestIO\RequestIO.dll > ModLoad: 003b 003b8000 C:\perld\site\lib\auto\ModPerl\Const\Const.dll > ModLoad: 003c 003c5000 C:\perld\site\lib\auto\Apache\Const\Const.dll > -->error at this point > since it is past DBI.dll , maybe this is because I copied incompatible > modperl to perld site/lib tree. > > hope this can help I don't think this has anything to do with loading dlls. It definitely happens when DBI gets loaded. May be DBI-1.30 still needs work, as it seems to work on linux, but not on windows. Have you considered asking on the dbi-users list? including posting the traces there? __ Stas BekmanJAm_pH --> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: DBI make apache fail in perl58.dll
SharedUserData!SystemCallStub+0x4 ntdll!ZwTerminateProcess+0xc kernel32!_ExitProcess+0x57 kernel32!ExitProcess+0x11 msvcrt!__crtExitProcess+0x2f msvcrt!_cinit+0xe4 msvcrt!exit+0xe WARNING: Stack unwind information not available. Following frames may be wrong. perl58!Perl_Tregnarrate_ptr+0x14809d perl58!Perl_Tregnarrate_ptr+0x57255 perl58!Perl_Tregnarrate_ptr+0x56ef8 perl58!Perl_Tregnarrate_ptr+0x13fc84 perl58!Perl_Tregnarrate_ptr+0x13fcd9 perl58!Perl_Tregnarrate_ptr+0xfeb7a perl58!Perl_Tregnarrate_ptr+0xfe465 DBI!XS_DBI__clone_dbis+0x27b DBI!XS_DBI__clone_dbis+0x100 perl58!Perl_Tregnarrate_ptr+0x96df8 perl58!Perl_Tregnarrate_ptr+0x17de8 perl58!Perl_Tregnarrate_ptr+0x52c21 perl58!Perl_Tregnarrate_ptr+0x5237c I am affraid it's the best I can do, it's very hard to compile debug on win32 I have seemingly compiled perl58 DEBUG (there was a complain about missing vc60.pdb, and I supplied one I found ) I cannot compile debug either modperl1-99_04 either _05 against my debug perl. so I just copied from perl/site/lib everything concerning modperl into the perldebug site/lib tree (don't know if this is liable) I also properly installed DBI-1.30 in the perldebug site/lib tree then I ran apache in windbg and got this stacktrace also here is the last loading modules sequence inside apache ModLoad: 6fbf 6fbf6000 C:\Apache2\modules\mod_userdir.so ModLoad: 2800 281a3000 C:\perld\bin\perl58.dll ModLoad: 1000 1001 C:\Apache2\modules\mod_perl.so ModLoad: 71a9 71a98000 C:\WINDOWS\System32\wshtcpip.dll ModLoad: 0036 00383000 C:\perld\site\lib\auto\DBI\DBI.dll ModLoad: 0039 00399000 C:\perld\site\lib\auto\Apache\RequestRec\RequestRec.dll ModLoad: 003a 003a6000 C:\perld\site\lib\auto\Apache\RequestIO\RequestIO.dll ModLoad: 003b 003b8000 C:\perld\site\lib\auto\ModPerl\Const\Const.dll ModLoad: 003c 003c5000 C:\perld\site\lib\auto\Apache\Const\Const.dll -->error at this point since it is past DBI.dll , maybe this is because I copied incompatible modperl to perld site/lib tree. hope this can help pascal
Re: DBI make apache fail in perl58.dll
pascal barbedor wrote: >>>PERL58! 280681d9() <-- error here access violation >>>DBI! 003970b6() >>>PERL58! 2803f289() >>>PERL58! 2805cf4c() >>>PERL58! 2806b821() >>>PERL58! 2808596f() >>>MOD_PERL! 100018b7() >>>LIBHTTPD! 6ff012a6() >> > > Hi here is maybe more informative stack trace > > WARNING: Stack unwind information not available. Following frames may be > wrong. > perl58!Perl_ptr_table_fetch+0x8 > DBI+0x70b6 > perl58!Perl_sv_compile_2op+0x76ca > perl58!Perl_runops_standard+0xc > perl58!perl_clone_using+0x1eac > perl58!perl_clone_host+0x6d > mod_perl!modperl_interp_new+0x39 > libhttpd!ap_run_post_config+0x36 that's a weird trace. it's still incomplete, but getting better. One things missing is 'DBI+0x70b6'. Can you now rebuild DBI? It should pick the debug flags from perl (which you've apparently just rebuilt). __ Stas BekmanJAm_pH --> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: DBI make apache fail in perl58.dll
> > > > PERL58! 280681d9() <-- error here access violation > > DBI! 003970b6() > > PERL58! 2803f289() > > PERL58! 2805cf4c() > > PERL58! 2806b821() > > PERL58! 2808596f() > > MOD_PERL! 100018b7() > > LIBHTTPD! 6ff012a6() > Hi here is maybe more informative stack trace WARNING: Stack unwind information not available. Following frames may be wrong. perl58!Perl_ptr_table_fetch+0x8 DBI+0x70b6 perl58!Perl_sv_compile_2op+0x76ca perl58!Perl_runops_standard+0xc perl58!perl_clone_using+0x1eac perl58!perl_clone_host+0x6d mod_perl!modperl_interp_new+0x39 libhttpd!ap_run_post_config+0x36 pascal
Re: DBI make apache fail in perl58.dll
pascal barbedor wrote: >>Can you retrieve a backtrace from the core file? The version that I was >>using before 1.30 (I think it was 1.29) was blowing so badly that it was >>leaving no stack. > > > this is the only uninformative stack i have, having no debug version. > I am trying to build one... > > PERL58! 280681d9() <-- error here access violation > DBI! 003970b6() > PERL58! 2803f289() > PERL58! 2805cf4c() > PERL58! 2806b821() > PERL58! 2808596f() > MOD_PERL! 100018b7() > LIBHTTPD! 6ff012a6() you realize that this stack is not very useful ;) you need to rebuild perl with debug enabled and then you will get all the symbols. see: http://perl.apache.org/docs/2.0/user/help/help.html#Resolving_Segmentation_Faults __ Stas BekmanJAm_pH --> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: DBI make apache fail in perl58.dll
> > Can you retrieve a backtrace from the core file? The version that I was > using before 1.30 (I think it was 1.29) was blowing so badly that it was > leaving no stack. this is the only uninformative stack i have, having no debug version. I am trying to build one... PERL58! 280681d9() <-- error here access violation DBI! 003970b6() PERL58! 2803f289() PERL58! 2805cf4c() PERL58! 2806b821() PERL58! 2808596f() MOD_PERL! 100018b7() LIBHTTPD! 6ff012a6() pascal
Re: DBI make apache fail in perl58.dll
On Fri, 16 Aug 2002, pascal barbedor wrote: > > > > same here. segfault in startup.pl. > > not sure what version it was, but < 1.30 > > > > installed DBI 1.30. no more segfault. > > > segfault for me on win XP with DBI 1.30 if DBI is used in the startup.pl > (apache 2.0.40 modperl 1.99_05 perl 5.8) > > I reinstalled DBI 1.30 from CPAN just in case, installs and tests ok, > but the same error occurs on apache (in perl58.dll.) if module used in > startup.pl > and no error if use DBI from a registry script (PerlResponseHandler > ModPerl::Registry) Just to add one more data point - using DBI in a startup script is OK for Win32 with perl-5.6.1 and apache-2.0.40. And as with perl-5.8, it works fine in a registry script. This is also with DBI-1.30. -- best regards, randy
Re: DBI make apache fail in perl58.dll
pascal barbedor wrote: >>same here. segfault in startup.pl. >>not sure what version it was, but < 1.30 >> >>installed DBI 1.30. no more segfault. > > > > segfault for me on win XP with DBI 1.30 if DBI is used in the startup.pl > (apache 2.0.40 modperl 1.99_05 perl 5.8) > > I reinstalled DBI 1.30 from CPAN just in case, installs and tests ok, > but the same error occurs on apache (in perl58.dll.) if module used in > startup.pl > and no error if use DBI from a registry script (PerlResponseHandler > ModPerl::Registry) My working case is on linux, perl 5.8 with ithreads enabled, the rest is the same. Can you retrieve a backtrace from the core file? The version that I was using before 1.30 (I think it was 1.29) was blowing so badly that it was leaving no stack. __ Stas BekmanJAm_pH --> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: DBI make apache fail in perl58.dll
> > same here. segfault in startup.pl. > not sure what version it was, but < 1.30 > > installed DBI 1.30. no more segfault. segfault for me on win XP with DBI 1.30 if DBI is used in the startup.pl (apache 2.0.40 modperl 1.99_05 perl 5.8) I reinstalled DBI 1.30 from CPAN just in case, installs and tests ok, but the same error occurs on apache (in perl58.dll.) if module used in startup.pl and no error if use DBI from a registry script (PerlResponseHandler ModPerl::Registry) best regards pascal
Re: DBI make apache fail in perl58.dll
pascal barbedor wrote: > > >>I find that too ... Gerald, a little while ago, mentioned in a >>message to the dev list that latter DBIs work only if they come >>into play after the perl interpreter has been cloned - perhaps >>this is related to problems with using DBI in a startup script? >> >> >>>- same from a registry script >> >>This I don't find - pulling in DBI and DBD::mysql in a registry >>script seems to work OK in some simple mysql queries. For this >>libmySQL.dll has to be in the PATH, which I often forget ... >> > > > ok from a registry script, it works for me too. > but with the lastest snapshot apache 2.0.40/modperl 1.99_05 DBI or any > module using DBI loaded in the startup.pl makes apache segfault. > > doesn't it sounds like a real limitation ? same here. segfault in startup.pl. not sure what version it was, but < 1.30 installed DBI 1.30. no more segfault. __ Stas BekmanJAm_pH --> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: DBI make apache fail in perl58.dll
> I find that too ... Gerald, a little while ago, mentioned in a > message to the dev list that latter DBIs work only if they come > into play after the perl interpreter has been cloned - perhaps > this is related to problems with using DBI in a startup script? > > > - same from a registry script > > This I don't find - pulling in DBI and DBD::mysql in a registry > script seems to work OK in some simple mysql queries. For this > libmySQL.dll has to be in the PATH, which I often forget ... > ok from a registry script, it works for me too. but with the lastest snapshot apache 2.0.40/modperl 1.99_05 DBI or any module using DBI loaded in the startup.pl makes apache segfault. doesn't it sounds like a real limitation ? best regards pascal
Re: DBI make apache fail in perl58.dll
On Thu, 15 Aug 2002, pascal barbedor wrote: > Hi > > the following startup.pl > makes apache segfault in perl58.dll on windows XP(or 2000) > > version are : > apache 2.0.40-dev > perl 5.8.0 > modperl 1.99 > mysqld-nt 3.23.49 > > DBI 1.30 > DBD::Mysql 2.1017 > > from perl 5.8-win32-bin.tar.gz ready-to-use RK archive (date > 25/07/02) in theoryx5.uwinnipeg.ca/public/other > > here is the startup (only added lines after #added, everything works fine without): > > use Apache2 (); > use ModPerl::Util (); > use Apache::RequestRec (); > use Apache::RequestIO (); > use Apache::RequestUtil (); > use Apache::Server (); > use Apache::ServerUtil (); > use Apache::Connection (); > use Apache::Log (); > use Apache::Const -compile => ':common'; > use APR::Const -compile => ':common'; > use APR::Table (); > use Apache::compat (); > use ModPerl::Registry (); > use CGI (); > > #added > > use DBI(); > use DBD::Mysql(); > > 1; > > - apache fails the same if use DBI() line alone or use DBD::Mysql() line alone I find that too ... Gerald, a little while ago, mentioned in a message to the dev list that latter DBIs work only if they come into play after the perl interpreter has been cloned - perhaps this is related to problems with using DBI in a startup script? > - same from a registry script This I don't find - pulling in DBI and DBD::mysql in a registry script seems to work OK in some simple mysql queries. For this libmySQL.dll has to be in the PATH, which I often forget ... It might be though that the versions you have have something broken in this respect - I just put up a new perl-5.8/Apache-2 binary in perl-5.8-win32-bin.tar.gz at ftp://theoryx5.uwinnipeg.ca/pub/other/ which is compiled against apache-2.0.40 (with the recent security fix) and the cvs modperl-2 sources. It may be worth trying this. -- best regards, randy
DBI make apache fail in perl58.dll
Hi the following startup.pl makes apache segfault in perl58.dll on windows XP(or 2000) version are : apache 2.0.40-dev perl 5.8.0 modperl 1.99 mysqld-nt 3.23.49 DBI 1.30 DBD::Mysql 2.1017 from perl 5.8-win32-bin.tar.gz ready-to-use RK archive (date 25/07/02) in theoryx5.uwinnipeg.ca/public/other here is the startup (only added lines after #added, everything works fine without): use Apache2 ();use ModPerl::Util ();use Apache::RequestRec ();use Apache::RequestIO ();use Apache::RequestUtil ();use Apache::Server ();use Apache::ServerUtil ();use Apache::Connection ();use Apache::Log ();use Apache::Const -compile => ':common';use APR::Const -compile => ':common';use APR::Table ();use Apache::compat ();use ModPerl::Registry ();use CGI (); #added use DBI();use DBD::Mysql();1; - apache fails the same if use DBI() line alone or use DBD::Mysql() line alone - same from a registry script use DBI();use DBD::Mysql(); does not fail from a regularly perl script outside apache thanks pascal