Page MenuHomePhabricator

Cannot perform page edits with Media Wiki
Closed, DeclinedPublic

Description

Author: nick.lutz

Description:
Upon edit of any page, upon click of the "Save button" the edit fails. No error
is returned to the browser (IE, FireFox, Netscape). An error is found under the
Apache logs as follows:<br><br>
[Fri Apr 22 11:11:42 2005] [notice] child pid 2433 exit signal Illegal
instruction (4)<br><br>
This problem can be reproduced at will.<br>
Closer examination with the tusc analyzer shows:<br><br>
readlink("/opt", "", 1024)
ERR#22 EINVAL<br>
readlink("/opt/mediawiki-1.4.1", "", 1024)
ERR#22 EINVAL<br>
readlink("/opt/mediawiki-1.4.1/includes", "", 1024)
ERR#22 EINVAL<br>
readlink("/opt/mediawiki-1.4.1/includes/normal", "", 1024)
ERR#22 EINVAL<br>
readlink("/opt/mediawiki-1.4.1/includes/normal/UtfNormal.php", "", 1024)
ERR#22 EINVAL<br>
open("/opt/mediawiki-1.4.1/includes/normal/UtfNormal.php", O_RDONLY, 0666) =
11<br>
fstat(11, 0x67e82fd0) =
0<br>
fstat(11, 0x67e830d0) =
0<br>
lseek(11, 0, SEEK_CUR) =
0<br>
lseek(11, 0, SEEK_SET) =
0<br>
close(11) =
0<br>

Received signal 10, SIGBUS, in user mode, [caught], partial siginfo<br>
  Siginfo: si_code: I_NONEXIST, faulting address: 0x67e92f28, si_errno: 0<br>
  PC: 0xc25b7a9f, instruction: 0x6bd33fc1<br>

exit(4) [implicit] WIFSIGNALED(SIGILL)<br><br>
The version page shows this:<br><br>

MediaWiki (http://wikipedia.sf.net/): 1.4.2 <br>
PHP (http://www.php.net/): 4.3.8 (apache2handler) <br>
MySQL (http://www.mysql.com/): 4.1.10a-max<br><br>

My Workaround is to use another system with older versions of everything.<br><br>

MediaWiki (http://wikipedia.sf.net/): 1.4.1<br>
PHP (http://www.php.net/): 4.2.3 (apache2filter)<br> 
MySQL (http://www.mysql.com/): 4.0.24-max<br><br>

Any help would be appreciated.


Version: 1.4.x
Severity: blocker
OS: other
Platform: Other

Details

Reference
bz1946

Event Timeline

bzimport raised the priority of this task from to High.Nov 21 2014, 8:18 PM
bzimport set Reference to bz1946.
bzimport added a subscriber: Unknown Object (MLST).

nick.lutz wrote:

I do run other MySQL and PHP applications on the same machine without error.
Not that this adds a great deal of information, it does show that at least MySQL
and PHP are working to a degree.

the.r3m0t wrote:

Try upgrading these seperately. Upgrade PHP first (least likely to be
problematic), then MySQL. Next, try to upgrade Mediawiki. Make sure the MySQL
version is correct in Localsettings.php.

Also, check if other queries also fail e.g. registering, logging in, adding to
watchlist, recentchanges, allpages, viewing watchlist.

nick.lutz wrote:

Try upgrading these seperately.

Upgrade PHP first (least likely to be problematic)
Then MySQL.
Next, try to upgrade Mediawiki.

Done. Have tried several versions.

Make sure the MySQL

version is correct in Localsettings.php.

The only versioning I can find is for MediaWiki and that is correct.

Also, check if other queries also fail e.g. registering, logging in, adding to
watchlist, recentchanges, allpages, viewing watchlist.

Unable to reproduce the problem in any area other than Edit Saves! All other

areas look find.

As mentined before, if I use very old versions of PHP and Apache, the problem
goes away. The problems creep up on me when using new versions of Apache and PHP.

nick.lutz wrote:

I'm currently working directly with HP technical support on this issue. I'm not
sure where the fault lies at this point. I'm tending to believe it is an HP
Apache Threading problem. HP is currently examining the core files produced
when an edit/save is attempted.

This problem cannot be reproduced in older versions of Apache and PHP, yet the
older versions of PHP do not allow file tests and such as required by index.php.

if( !file_exists( 'LocalSettings.php' ) ) {... <== won't work on earlier
versions of PHP

As strange as it sounds, my other 8 PHP applications are all working well on the
same version of Apache/PHP that is troublesome to MediaWiki. Any help would be
appreciated. I'll report back on what HP finds upon their analysis of the problem.

nick.lutz wrote:

Oh yes - another somewhat important piece of info:

I've upgraded to MW 1.4.4 and the problem still occurs.

nick.lutz wrote:

I've since built my own httpd and php module on the aforementioned HP platform.
The MediaWiki works without fail now. The primary difference between my build
and the HP build of Apache: My is a non-threaded "prefork" Apache binary unlike
the threaded "worker MPM" Apache binary.

This problem is solved. The culprit; HP threading? I've sent the appropriate
data back to HP and will post their reply. Since I'm not very familiar with
BugZilla, I'm going to leave this issue open and post the reply from HP on this
problem. If I close this issue, I'm not sure if I can get back in to add
commentary.

Bottom line: Version numbers are not that important - but build options are.
HP supplied threaded Apache2 is not MediaWiki compatible (and would suspect
other applications may break also).

More to follow...

PHP explicitly recommends against the threaded model for Apache2 as it's known to break things.

Either use prefork Apache, or the CGI interface for PHP instead of the Apache module.

nick.lutz wrote:

After a bit of discussion, debugging, and consultation with the HP staff, they have found a fix. It
appears to be a thread stack size problem. Increasing the thread stack size to 262144 seemed to do the
trick. The case number at HP for this problem is: 3210446197.

Also see:

http://httpd.apache.org/docs-2.1/mod/mpm_common.html#threadstacksize

For a more detailed discussion on the ThreadStackSize directive.

I'm now closing this issue as the MediaWiki now works as designed.