• Welcome to Simple Machines Community Forum. Please login or sign up.
October 28, 2021, 01:43:26 PM

News:

Want to get involved in developing SMF, then why not lend a hand on our github!


SMF 1.1 Release Candidate 1 has been released!

Started by Compuart, September 20, 2005, 10:41:57 AM

Previous topic - Next topic

Grudge

I would not say SMF has an unorthodox use of function recursion at all. It's used rarely, but appropriately. Due the way SMF approaches security all incoming variables are cleaned ($_POST, $_GET and server vars). The *only* way to do this properly is through function recursion. It will never get more than a couple of layers deep, and I would very much consider it a bug in PHP, IIS or otherwise if it cannot handle the very small amount of recursion SMF uses.

This is the first time I've ever heard of this problem, and it sounds very much like a bug in the build you are using. Everything in the SMF code is perfectly legal. Bear in mind that I believe Ben runs an accelerator (eAccelerator) with SMF without issue. Also, at the very least vBulletin also uses recursion so if it is a bug with PHP it needs fixing.
I'm only a half geek really...

Bonk

December 18, 2005, 11:46:33 AM #401 Last Edit: December 18, 2005, 12:02:43 PM by Bonk
Quote from: Grudge on December 18, 2005, 06:38:33 AM
I would not say SMF has an unorthodox use of function recursion at all. It's used rarely, but appropriately. Due the way SMF approaches security all incoming variables are cleaned ($_POST, $_GET and server vars). The *only* way to do this properly is through function recursion. It will never get more than a couple of layers deep, and I would very much consider it a bug in PHP, IIS or otherwise if it cannot handle the very small amount of recursion SMF uses.

This is the first time I've ever heard of this problem, and it sounds very much like a bug in the build you are using. Everything in the SMF code is perfectly legal. Bear in mind that I believe Ben runs an accelerator (eAccelerator) with SMF without issue. Also, at the very least vBulletin also uses recursion so if it is a bug with PHP it needs fixing.

Function recursion is known to crash php since a few versions back. If it is only called a few times then you're OK though. still excessive preg_* function calls in php will create a nasty serverload on the windows platform.

QuoteIt is possible to call recursive functions in PHP. However avoid recursive function/method calls with over 100-200 recursion levels as it can smash the stack and cause a termination of the current script.
http://www.php.net/language.functions  ...RTFM!!!  ;)

Re eAcclerator: it is not compatible with the revised Zend engine 2 of php 5.1.1. If you will read the above you will see that Ben is running php 4.4.1. <sigh>
http://www.eaccelerator.net/php5/
They have known for some time and have not addressed it.
Neither is APC compatible with php 5.1.1. Niether is Turck MMCache.
Only the Zend Optimiser 2.6.0 is currently compatible with php 5.1.1.
See my posts toward the end of this thread:
http://www.simplemachines.org/community/index.php?topic=49995.0
Also see my posts on the eAcclerator forums on sourceforge.

Because of this, we are considering rolling back our apache server to 1.3.34 and php to 4.4.1...
(currently Apache 2.2.0 php 5.1.1)
http://www.dynaverse.net/
http://www.dynaverse.net/downloads/  (I don't believe in hiding server tokens)


The IIS server we are running on another box runs phpBB just fine on php 5.1.1:
http://sfc2.net/forums/


I know what I'm talking about, trust me...

edit: also note that as I stated above, I suspect the issue on IIS5 is in the isapi caching function as currently NOBODY can cache php 5.1.1. (without errors)

Grudge

Bonk,

You have to bear in mind that I do not have the time to read through every post in every topic. Nor do I have the time to read the PHP manual from cover to cover. If accelerators have not been updated for the latest version of PHP this is not my concern. The only thing that I care about is that SMF is written to work on all valid (and even not so valid) server configurations - and is optimised for the current issue of software.

As I've already stated, SMF does not use several hundred levels of recusion - it uses it as appropriate for the functionality. I'd be in full agreement that if a function is recursing hundreds of times there is something seriously wrong.

As far as preg_* on windows not working well goes - that's very much a platform issue. preg_ functions are used in SMf for very good reason, writing a custom regex function in PHP would clearly be slower.

I'm more than happy to work with people to make SMF work on their current server configuration, but only if it's vaguely sensible. Forgive me if I'm wrong (As I've said - I don't have time to dedicate to every topic) - you are trying to run SMF 1.1 on PHP 5.1.1 with an accelerator that doesn't work on 5.1.1 - I can't see how you can blame SMF for not working in this situation.

I believe that you are basically in agreement with me (i.e. ISAPI plain doesn't work caching PHP 5.1.1) - but if this is the case then I don't see why you decided to write a ranting post about it in the first instance, without ensuring that it was, indeed, a problem with SMF.

Regards,

Grudge

PS - I've had 5 pints and a bottle of wine so forgive any incohersion :)
I'm only a half geek really...

Webrunner

There is a difference between knowing the path and walking the path.

=========================================
Vrouwen Power! | Sprintweb: No nonsense e-Business consultancy

ghostfreak

Quote from: Grudge on December 18, 2005, 06:06:50 PM
Bonk,

You have to bear in mind that I do not have the time to read through every post in every topic. Nor do I have the time to read the PHP manual from cover to cover. If accelerators have not been updated for the latest version of PHP this is not my concern. The only thing that I care about is that SMF is written to work on all valid (and even not so valid) server configurations - and is optimised for the current issue of software.

As I've already stated, SMF does not use several hundred levels of recusion - it uses it as appropriate for the functionality. I'd be in full agreement that if a function is recursing hundreds of times there is something seriously wrong.

As far as preg_* on windows not working well goes - that's very much a platform issue. preg_ functions are used in SMf for very good reason, writing a custom regex function in PHP would clearly be slower.

I'm more than happy to work with people to make SMF work on their current server configuration, but only if it's vaguely sensible. Forgive me if I'm wrong (As I've said - I don't have time to dedicate to every topic) - you are trying to run SMF 1.1 on PHP 5.1.1 with an accelerator that doesn't work on 5.1.1 - I can't see how you can blame SMF for not working in this situation.

I believe that you are basically in agreement with me (i.e. ISAPI plain doesn't work caching PHP 5.1.1) - but if this is the case then I don't see why you decided to write a ranting post about it in the first instance, without ensuring that it was, indeed, a problem with SMF.

Regards,

Grudge

PS - I've had 5 pints and a bottle of wine so forgive any incohersion :)

Very well said Grudge :)

http://www.xfilesforum.net - Dare To Believe?
http://www.idealforum.co.uk - The Green Blitz!

xtremecruiser

Quote from: JayBachatero on December 14, 2005, 11:52:27 AM
Quote from: klumy on December 14, 2005, 11:48:30 AM
What's new in RC2?
Wait and see ;)

Quote from: Severus Snape on December 14, 2005, 11:50:03 AM
I figured out one, in your posts there is like a small picture thing of a piece of paper and a pen going in it, click on it and your post comes up like a quick post for editing.

Yup thats one inline editing. ;)

A new release :P
Man I hope I dont have to redo all my themes again :-X from RC1.1

Yuri

QuoteDatabase Error
Please try again. If you come back to this error screen, report the error to an administrator.

I've overwritten all (1.0.5 -> 1.1).... I don't know what happen?

xenovanis

Quote from: Yuri on December 21, 2005, 10:24:52 AM
QuoteDatabase Error
Please try again. If you come back to this error screen, report the error to an administrator.

I've overwritten all (1.0.5 -> 1.1).... I don't know what happen?

Did you run upgrade.php?
"Insanity: doing the same thing over and over again and expecting different results."


xenovanis

Were there any errors during upgrade? You might want to try uploading all files again, using a different ftp-client and run upgrade.php again. Maybe something went wrong during upload.
"Insanity: doing the same thing over and over again and expecting different results."

snakize

Is it just me or is "Quick Reply" option not there?

How do i set it on?

-Snakize

ghostfreak

Profile > Look and Layout Preferences > Quick Reply

http://www.xfilesforum.net - Dare To Believe?
http://www.idealforum.co.uk - The Green Blitz!

al3x

I seem to be having a problem with RC1.

i updated just yesterday from 1.0.5 to 1.1RC1.

Although the board manager in the admin section displays the boards in the correct order (as they were pre-update), the board index does not, rather it displays the categories and boards in wrong order. Does anybody have a clue why?

my board is at www.opadoi.gr/forum/

Compuart

Switching a board back and forth should fix that issue. Or a query:
ALTER TABLE smf_boards
ORDER BY boardOrder
Hendrik Jan Visser
Former Lead Developer & Co-founder www.simplemachines.org
Personal Signature:
Realitynet.nl -> ExpeditieRobinson.net / PekingExpress.org / WieIsDeMol.Com

Kindred

If you did not let the upgrade.php script  run completely, you will also have this problem...
Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.<br /><br />"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Enigma

Going from 1.0.5 I had to upload files to do the upgrade. Will I be able to use the package manager now to go from 1.1rc1?

Grudge

The package manager can only be used for minor updates I'm afraid. That said, I hope the next version of SMF will make it all possible via the Package Manager.
I'm only a half geek really...

Skipdawg

Quote from: Grudge on December 27, 2005, 06:03:55 PM
The package manager can only be used for minor updates I'm afraid. That said, I hope the next version of SMF will make it all possible via the Package Manager.

That indeed would be great!  ;)
Skipdawg's Community

Powered by SMF 1.1.3

thedrumchannell

Yeah, I too would hope to see this as an upgraded feature...  ;D

Brandon
Bible Prophecy [nofollow]

J. Williams

The big updates can't be used in the package manager due to the php execution limits (how long php can do it for)
Joshua Jon Williams
Back in Action.

Advertisement: