NineChime forum

Furry stuff, oekaki stuff, and other stuff.

You are not logged in.

Post a reply

Write your message and submit
Options
Humanity test

What is eight + three?

Go back

Topic review (newest first)

Pinkie
02-21-2013 17:14:27

Thank you ever so much for your support Waccoon! That fix you have just posted has done the job. The reason why I am dealing with such huge data is because the oekakis are now being used as an artistic RPG rather than simply an artistic board. I really appreciate your hard work, and I know all of my members will appreciate this too.

Waccoon
02-18-2013 12:06:23

Well, to be blunt, comments over 10K in size really are too long.  The profile viewer really wasn't designed for long comments, and if comments contain NiftyToo/BBcode, they could cause another HTTP 500 error when people try to view them.  The PCRE issues are beyond my control, and can happen at random.

However, if you want to allow comments over 10K, I'm adding a hacks file setting to change this.  I've updated the 1.5.14a patch to include a new functions file and hacks file.  Open up the hacks file and look for the new value, "MAX_COMMENT_BYTES" and set it to something higher than 10000.  This will be a permanent addition, so you'll only need to change it once (always keep your hacks file up to date, of course).

1.5.14a patch

Pinkie
02-18-2013 11:18:59

Waccoon wrote:

Edit: never mind.  I found the problem.

Here, have a new common.php file that should fix the problem:  common.php (1.5.14a)

After upgrading your boards, copy the new common.php file to each board.

Now for the explanation:

Apparently, web servers will limit the amount of data that can be processed with a tool called PCRE.  I'm using PCRE to make sure that all comments are not corrupt when they are transmit over the Internet.  For now, the only workaround is to disable PCRE for comments larger than 6 kilobytes.

For those who are interested, the PCRE engine must have a certain amount of memory reserved for it to operate properly.  This pool of memory is divided into two parts: the backtrack limit and the recursion limit.  I'm using PCRE to make sure all comments are properly encoded to UTF-8, but long comments will cause the PCRE engine to blow up with a backtrack limit error.  Unfortunately, PCRE is a core part of PHP, so if PCRE explodes, PHP will blow up as well.  The result is a massive 500 Internal Server Error.

For now, the only workaround is to disable PCRE for comments larger than 6 kilobytes.  I'll have to think about a proper fix for this in 1.5.14.

Thank you massively for working so hard to try to fix this problem. I have uploaded the new files, and am no longer getting 500 errors, but I am getting the following errors:

" Error
Your comment is too long

Use your browser button to go back."


Is there anyway to (temporqarily) fix this so it does process the comments / input that is over 6k ?

Really hope to hear from you soon ans sorry to bother you with this problem so much!

Waccoon
02-15-2013 02:57:44

Edit: never mind.  I found the problem.

Here, have a new common.php file that should fix the problem:  common.php (1.5.14a)

After upgrading your boards, copy the new common.php file to each board.

Now for the explanation:

Apparently, web servers will limit the amount of data that can be processed with a tool called PCRE.  I'm using PCRE to make sure that all comments are not corrupt when they are transmit over the Internet.  For now, the only workaround is to disable PCRE for comments larger than 6 kilobytes.

For those who are interested, the PCRE engine must have a certain amount of memory reserved for it to operate properly.  This pool of memory is divided into two parts: the backtrack limit and the recursion limit.  I'm using PCRE to make sure all comments are properly encoded to UTF-8, but long comments will cause the PCRE engine to blow up with a backtrack limit error.  Unfortunately, PCRE is a core part of PHP, so if PCRE explodes, PHP will blow up as well.  The result is a massive 500 Internal Server Error.

For now, the only workaround is to disable PCRE for comments larger than 6 kilobytes.  I'll have to think about a proper fix for this in 1.5.14.

Waccoon
02-14-2013 02:23:38

Sorry for the delay.  I haven't been on the forum for a while.

I seriously doubt this is an issue with PHP, because otherwise it would be the PHP error log showing a problem, rather than the server log.  There's something about the way the web server is set up that's causing the script to fail.  So, messing around with the php.ini settings will likely do nothing.

Do you have a custom ".htaccess" file in the oekaki folder or server root?

I've submit a registration for the scribble board, which is running 1.5.13, and will see what I can find out once my account is approved.

Pinkie
02-10-2013 15:55:29

Hi Wacoon,

Someone suggested that I try php loggin using php.ini. I have followed by host's instructions on how to set this up (I am running PHP version 5.3) but I can't seem to find a way to get this to work? Would you perhaps be able to help me with this? :S I would really appreciate it if you could.

Pinkie
02-03-2013 13:37:28

Hi Waccoon,

I've updated functions.php and the language file and still haven't been able to get anywhere with those errors. I don't want to update to a 1.5.13 board because that is the only board where users can update their profile and for my oekaki that is quite important that they can.

I've tried to contact my host and see what solution they might have... perhaps this is an issue with my server?

Let me know if you have any other suggestions...

Waccoon
02-02-2013 03:29:08

Ugh... it's THAT error.  Just about anything can cause a premature end of script headers.  All it means is that the script stopped working before it sent any data to the web browser.  In the case of PHP scripts, that means the server simply refused to run the script.  Why?  I have no idea.

I have a feeling, though, that some of the oekaki files didn't upload properly when you performed the update.  Try re-uploading the functions.php file and the language files again.

If you have any tools that sync tools that would be more than useful.

The one I use is KDiff3.  It's not as robust as I would like (it only supports merging files, not copy/paste) but it gets the job done if you know what you're doing.

will the installer update the database info to UTF-8 once again?

The updater will only do it once.  It knows when the database has already been updated and won't double-encode.  You can run the updater multiple times and it won't cause any harm.  If the update to 1.5.13 finished fine last time, then the database will be okay.

I was just concerned about running a 1.5.5 and a 1.5.13 board side-by-side like you're doing now.  The Normal board should be updated to 1.5.13 ASAP.  There's no need to run the updater on the other board.

Pinkie
02-01-2013 13:13:34

Waccoon wrote:

I don't see how length could be an issue, since really long profile comments test just fine, and if the total amount of data sent to the server is too large, most servers will not blow up with an HTTP 500 error.

The only thing that changed between 1.5.1 and 1.5.13 is that some of the language translations were updated.  The code that processes the profiles is the same.

Most likely you'll have to see what your host says about the error logs.  Every time there is an HTTP 500 error, which is the highest priority error there is on a web server, there will be something very noticeable in the server log.  The question is what.

UPDATE: Are you sure all your boards are running 1.5.13 and all the files have been updated properly?  Your "Normal" board says it is still running 1.5.5 and your "Colorin" board is lacking a footer.  If the boards are sharing a single memberlist but they are not synced, that could be an issue.  If profile comments contain UTF-8 characters, but you are running 1.5.5, that could cause corruption that might throw an HTTP 500.

Your "Colorin" board also says that it is version 1.4.3, but I think you said you made some mods to that board so people could import images in a special way, so I guess updating isn't really an option?  Be aware that running boards of different version numbers with a shared memberlist is a really bad idea.  You may have to copy your mods over to the new version.  I could help you with that, since I have a number of diff tools designed to sync and merge modified code.

I've had a look at the log and it says:

[error] [client 204.9.148.76] Premature end of script headers: functions.php, referer: http://oekakis.pichusworld.net/pkmnleag … rofile.php
[Fri Feb 01 05:36:40 2013] [error] [client 204.9.148.76] File does not exist: /home/pinkiepichu/oekakis.pichusworld.net/internal_error.html, referer: http://oekakis.pichusworld.net/pkmnleag … rofile.php



Does that give you any clue as to what might be happening?

I admit I do not update the boards as often as I would like to due to modifications to the code that I make in different files which makes it very tedious for me as much as I try to add comments to the PHP code so I can search where I've made the changes. If you have any tools that sync tools that would be more than useful. smile

I am thinking of deleting the 1.4.3 board as people do not use it at all now and will update the other boards in case it is indeed a UTF8 error (will the installer update the database info to UTF-8 once again?)

Thank you very much for your help and support.

Waccoon
02-01-2013 01:52:53

I don't see how length could be an issue, since really long profile comments test just fine, and if the total amount of data sent to the server is too large, most servers will not blow up with an HTTP 500 error.

The only thing that changed between 1.5.1 and 1.5.13 is that some of the language translations were updated.  The code that processes the profiles is the same.

Most likely you'll have to see what your host says about the error logs.  Every time there is an HTTP 500 error, which is the highest priority error there is on a web server, there will be something very noticeable in the server log.  The question is what.

UPDATE: Are you sure all your boards are running 1.5.13 and all the files have been updated properly?  Your "Normal" board says it is still running 1.5.5 and your "Colorin" board is lacking a footer.  If the boards are sharing a single memberlist but they are not synced, that could be an issue.  If profile comments contain UTF-8 characters, but you are running 1.5.5, that could cause corruption that might throw an HTTP 500.

Your "Colorin" board also says that it is version 1.4.3, but I think you said you made some mods to that board so people could import images in a special way, so I guess updating isn't really an option?  Be aware that running boards of different version numbers with a shared memberlist is a really bad idea.  You may have to copy your mods over to the new version.  I could help you with that, since I have a number of diff tools designed to sync and merge modified code.

Board footer

Yep, still running PunBB
© Copyright 2002–2008 PunBB