Page 1 of 1

Unusual problem: contact form & static pages

Posted: Tue Mar 13, 2007 4:28 pm
by Don Chambers
s9y 1.1, localhost install. Recently, I revised plugin_contactform.tpl & plugin_dynamicform.tpl for both a template I am working on, as well as the new prototype template BulletProof. I found it strange that in my own template, and every template EXCEPT Bulletproof, I could load pages created as standard or custom contact forms (standard forms use plugin_contactform, custom forms use plugin_dynamicform.tpl). The BulletProof template would not load the dynamicform, but had no issue with contactform. I figured this was some fluke and I would track it down another time, afterall, the forms worked with a half dozen other templates, including the 3 contest entries.

Today, I decided to see if the staticpage tpls could use some tweaking. These tpls are NOT in my template directory yet, so any static page I create is relying on the default tpls in the plugin folder.

Using my template, I cannot load the the static page I created. It will not work with BulletProof either, which has its own plugin_staticpage.tpl. FF reports "The connection to the server was reset while the page was loading", or reports the connection timed out.

Works fine in some templates, but not others. No other template I tried has its own plugin_staticpage.tpl, and I have yet to find any particular commonality between the templates it does work in, and templates it does not work in.

Anyone ever experience this sort of thing?

Posted: Wed Mar 14, 2007 4:36 am
by Don Chambers
This problem probably has nothing to do with Serendipity, so I am a bit embarassed to ask for help here, but I do not know where else to ask.

My localhost configuration is xampp. Here is what I have for version numbers:

php: 4.4.1-pl1
phmMyAdmin: 2.7.0-pl1
Mysql: 5.0.18

I can recall (barely) making certain changes to httpd.conf, but that is a large file, and I hessitate to post the entire file here unless someone feels it necessary.

Any ideas here?

Posted: Thu Mar 15, 2007 10:02 am
by garvinhicking
Hi!

A "Connection reset" usually means that your Apache or PHP crashed. Try to check the Apache and PHP error logfiles and see for errors messages for the request you performed.

HTH,
Garvin

Posted: Thu Mar 15, 2007 6:26 pm
by Don Chambers
Thanks Garvin. I do not know where the php error logs are - any idea? With respect to Apache, I found both an access.log and an error.log. With respect to the times shown, here is what I did.

12:20 - Loaded my home page.
12:21 - tried to hit static page and received "connection reset" error.
12:22 - using FF "try again" button, received same error.
12:23 - used browser back button to return to my home page.

Anything useful in these logs?:

Access.log:

Code: Select all

127.0.0.1 - - [15/Mar/2007:12:20:17 -0500] "GET /serendipity/ HTTP/1.1" 200 47260
127.0.0.1 - - [15/Mar/2007:12:20:18 -0500] "GET /serendipity/index.php?/plugin/ls-js HTTP/1.1" 200 5911
127.0.0.1 - - [15/Mar/2007:12:23:05 -0500] "GET /serendipity/ HTTP/1.1" 200 47260
127.0.0.1 - - [15/Mar/2007:12:23:05 -0500] "GET /serendipity/index.php?/plugin/ls-js HTTP/1.1" 200 5911
Error.log:

Code: Select all

[Thu Mar 15 12:21:07 2007] [notice] Parent: child process exited with status 3221225477 -- Restarting.
[Thu Mar 15 12:21:08 2007] [notice] Apache/2.2.0 (Win32) DAV/2 mod_ssl/2.2.0 OpenSSL/0.9.8a mod_autoindex_color PHP/4.4.1-pl1 configured -- resuming normal operations
[Thu Mar 15 12:21:08 2007] [notice] Server built: Dec  1 2005 18:36:53
[Thu Mar 15 12:21:08 2007] [notice] Parent: Created child process 636
[Thu Mar 15 12:21:09 2007] [notice] Child 636: Child process is running
[Thu Mar 15 12:21:09 2007] [notice] Child 636: Acquired the start mutex.
[Thu Mar 15 12:21:09 2007] [notice] Child 636: Starting 250 worker threads.
[Thu Mar 15 12:21:09 2007] [notice] Child 636: Starting thread to listen on port 443.
[Thu Mar 15 12:21:09 2007] [notice] Child 636: Starting thread to listen on port 80.
[Thu Mar 15 12:22:11 2007] [notice] Parent: child process exited with status 3221225477 -- Restarting.
[Thu Mar 15 12:22:11 2007] [notice] Apache/2.2.0 (Win32) DAV/2 mod_ssl/2.2.0 OpenSSL/0.9.8a mod_autoindex_color PHP/4.4.1-pl1 configured -- resuming normal operations
[Thu Mar 15 12:22:12 2007] [notice] Server built: Dec  1 2005 18:36:53
[Thu Mar 15 12:22:12 2007] [notice] Parent: Created child process 5892
[Thu Mar 15 12:22:13 2007] [notice] Child 5892: Child process is running
[Thu Mar 15 12:22:13 2007] [notice] Child 5892: Acquired the start mutex.
[Thu Mar 15 12:22:13 2007] [notice] Child 5892: Starting 250 worker threads.
[Thu Mar 15 12:22:14 2007] [notice] Child 5892: Starting thread to listen on port 443.
[Thu Mar 15 12:22:14 2007] [notice] Child 5892: Starting thread to listen on port 80.

Posted: Fri Mar 16, 2007 10:41 am
by garvinhicking
Hi!

Okay, those logs already show you that your Apache kills itself. That might be related to your machine, but it's an apache/php fault and not s9y related.

You might need to check what modules your apache is running. Make sure if you use apache2 that you are NOT using the multithreaded worker, that is not compatible with PHP.

HTH,
Garvin

Posted: Fri Mar 16, 2007 2:17 pm
by Don Chambers
garvinhicking wrote:Okay, those logs already show you that your Apache kills itself. That might be related to your machine, but it's an apache/php fault and not s9y related.

You might need to check what modules your apache is running. Make sure if you use apache2 that you are NOT using the multithreaded worker, that is not compatible with PHP.

HTH,
Garvin
I already presumed that it had nothing to do with s9y, just hoping to get some assistance here as I have asked questions on the XAMPP forums before, and they never get answered. I do not even know WHAT to ask regarding this problem.

How/where would I check for this "multithreaded worker"? Does it even seem likely that XAMPP, which is packaged with Apache, PHP & MySQL, would even have that enabled?

Posted: Fri Mar 16, 2007 2:51 pm
by garvinhicking
Hi!

Sadly I don't have experience with XAMPP. :(

Apache2 comes in a multithreaded and a singlethreader environment, a mpm-worker or a prefork operation mode. PHP only properly works with prefork, not mpm-worker. Maybe you can configure that in XAMPP.

I think XAMPP also has a setting whether to use PHP4 or PHP5, maybe you can set to use the PHP that you're currently not using to see if it makes a difference.

Best regards,
Garvin

Posted: Sun Mar 18, 2007 4:51 am
by Don Chambers
:shock: I have no idea what any of that means Garvin!! Multithreaded? Singlethreaded? mpm-worker? Prefork? I can tell you that it is using php4, but that is all I can determine with any certainty.

I do not know what the problem is, nor can I even form an intelligent question even if I was going to try to resolve this on the XAMPP forums. Besides, the only questions that seem to get answered there are asked in German, and while you, and many others, have this multi-lingual thing mastered, I am stuck with English! :oops:

What I can tell you is the impact - I have s9y problems. As long as these non-s9y problems exist, I cannot keep moving forward. Certainly is not your fault, certainly has nothing to do with s9y, just do not know what to do next.

Posted: Mon Mar 19, 2007 10:51 am
by garvinhicking
Hi!
Don Chambers wrote::shock: I have no idea what any of that means Garvin!! Multithreaded? Singlethreaded? mpm-worker? Prefork? I can tell you that it is using php4, but that is all I can determine with any certainty.
I do not know what the problem is, nor can I even form an intelligent question even if I was going to try to resolve this on the XAMPP forums.
You could basically forward them to this discussion, or rephrase this thread here...?

I'm really sorry, but looking into XAMPP is way out of things I can support here. :(

Maybe you could install a VMWare on your PC and use Linux Apache. There I could help you :-)

Or you could setup testing space on your webspace to test s9y things.

Best regards,
Garvin

Posted: Mon Mar 19, 2007 3:02 pm
by Don Chambers
I'm certainly happy to post something over there..... Do you have a suggestion as to how to phrase the problem?

Posted: Mon Mar 19, 2007 3:30 pm
by garvinhicking
Hi!

Phew, how about:

My XAMP keeps crashing without any probable cause on a PHP application, and this shows up in the errorlog: XXX

The error is reproducable, but it only happens in specifics parts of the code. The developers of the crashing PHP application say that is not related to their code, and their bet is that my XAMP runs in mpm-worker mode, instead of prefork. How can I toggle XAMPP to run preforked, bypassing possible multithreading PHP errors?

Regards,
Garvin

Posted: Tue Mar 20, 2007 2:10 pm
by Don Chambers
Thanks Garvin - I'll give it a try.

Posted: Sun Mar 25, 2007 5:23 pm
by Don Chambers
Garvin - I stumbled across the following:
http://httpd.apache.org/docs/2.2/mpm.html
http://httpd.apache.org/docs/2.2/mod/prefork.html

The first link above states this at the bottom of the page:
The following table lists the default MPMs for various operating systems. This will be the MPM selected if you do not make another choice at compile-time.
BeOS: beos
Netware: mpm_netware
OS/2: mpmt_os2
Unix: prefork
Windows: mpm_winnt

This stuff is way over my head, but am I drawing at least one proper conclusion, that being that "prefork" has something to do with Unix? My localhost server is running Windows XP.

Posted: Mon Mar 26, 2007 11:25 am
by garvinhicking
Hi!

Phew, I can't put my thumb on it either. Prefork should be available on Windows as well, mpm is "multithreaded"...

Did the XAMP guys reply?

Regards,
Garvin

Posted: Mon Mar 26, 2007 6:33 pm
by Don Chambers
I have not posted a message just yet - I was searching their forums at http://www.apachefriends.org/f/ for potential solutions. Just searching on error code 3221225477 produces several hits, but most of them are in German, and translations of those pages to English are unclear due to the technical nature of the problem, and my complete lack of understanding of this issue.

I did come across repeated suggestions to add the following to hppd.conf:

Code: Select all

EnableSendfile Off
EnableMMAP Off
Win32DisableAcceptEx
It did not make a difference for me though.