• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Not a bug Errors when using Debug Mode, Beta 4

The Dark Wizard

Well-known member
#1
All errors appear, like 20+ times, will only paste one of each.

Template Errors: node_forum_level_2

  1. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  2. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
Template Errors: forum_list
  1. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  2. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  3. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  4. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  5. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  6. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
Template Errors: PAGE_CONTAINER
  1. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  2. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  3. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  4. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  5. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  6. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  7. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  8. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  9. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  10. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  11. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
  12. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/rpdev/public_html/library/Zend/Filter/PregReplace.php, line 171
 

Chris D

XenForo developer
Staff member
#2
Can't reproduce this at all.

Have you any other details as to when it happens? Is it just when debug mode is enabled? Or is it when you go into the extended debug output?

Do you have any add-ons installed at all? What if you disable them all, does this make the problem go away?
 

The Dark Wizard

Well-known member
#3
Can't reproduce this at all.

Have you any other details as to when it happens? Is it just when debug mode is enabled? Or is it when you go into the extended debug output?

Do you have any add-ons installed at all? What if you disable them all, does this make the problem go away?
The problem does not go away with addons disabled(I turn them off via config file).

Also just debug mode enabled.
 

MattW

Well-known member
#7
Where do these errors occur? I'm using PHP 5.5 on my home Ubuntu install, and haven't seen any of them with debug enabled.
 

Mike

XenForo developer
Staff member
#8
This was happening in debug mode in 1.1 for you -- I saw it when debugging that permissions issue.

It's not something that I've seen or that I can reproduce -- I don't see us using Zend_Filter anywhere. I swore that turning off add-ons via config.php did fix it for me on your site (also part of my debugging process).
 

The Dark Wizard

Well-known member
#9
This was happening in debug mode in 1.1 for you -- I saw it when debugging that permissions issue.

It's not something that I've seen or that I can reproduce -- I don't see us using Zend_Filter anywhere. I swore that turning off add-ons via config.php did fix it for me on your site (also part of my debugging process).
I have turned off all addons, and you were right. However there is still one error left, even after turning off addons.

Template Errors: PAGE_CONTAINER
  1. array_key_exists() expects parameter 2 to be array, null given in /home/rpdev/public_html/internal_data/templates/S.79,L.1,PAGE_CONTAINER.php, line 1827
Any ideas?

Edit: This is talking about Beta 4 on our Dev environment, by the way. Not our live site. For this new error.
 

Chris D

XenForo developer
Staff member
#11
The left over error after all add-ons disabled would suggest a customised PAGE_CONTAINER template.

As for the errors that disappeared, you could do with finding out what add-on caused those. That add-on isn't compatible with PHP 5.5.
 

The Dark Wizard

Well-known member
#12
The left over error after all add-ons disabled would suggest a customised PAGE_CONTAINER template.

As for the errors that disappeared, you could do with finding out what add-on caused those. That add-on isn't compatible with PHP 5.5.
I can try to find out which addon it is by disabling them all one at a time.

However as for the Page_Container, The default style on our Beta Envirnment has not been touched(Only the custom style we are working on) and they both have it. The page_container for Default is not touched.
 

Chris D

XenForo developer
Staff member
#14
I think to properly debug this:

1) Go to /install and rebuild master data.
2) Once complete create a new style with no parent (this will create it from the newly rebuilt master data).
3) Activate that style and try again.

If you still get it then, with it being a template error, the error could be caused by a template helper function. A few of them use array_key_exists, but I think ruling out the style is the first step.
 

Adam Howard

Well-known member
#17
The array error was caused by a Waindigo addon.

Everything else is caused by @Robbo's http://xenforo.com/community/threads/donation-manager-paid.28339

I apologize for submitting this as a xF, bug. Will be more careful!
Don't think there is any need for you or anyone else to apologize. Sometimes errors are not so forthcoming, straight forward, or clear; even when you know what to look for.

Things happen and its best that you attempt to report things, rather than be fearful of "getting it wrong". That's how things don't get fixed.... People worrying that its just then & remaining silent (until a mass release is made & then everyone is affected).

You honestly thought there was a bug. And you did the right thing in trying to report it. :)
 

Robbo

Well-known member
#18
Well it is still caused by the packaged XenForo code so you could call it a XenForo bug still. But there could be a lot of bugs like this caused from Zend Framework since it isn't all used obviously. I'll replace my calls to Zend_Filter like requested.
 

Mike

XenForo developer
Staff member
#19
In this case, though, the regex isn't in ZF -- it's passed into the filter. You can still use Zend_Filter, you just can't use /e in PHP 5.5. As such, you'd need need to flip the regex to not use /e (and still use Zend_Filter) or flip to use preg_replace_callback (which isn't supported by the filter).
 

Robbo

Well-known member
#20
These are still from within Zend though, I convert the criteria rules to camel case so I can call a method per rule, so the call is
PHP:
Zend_Filter::filterStatic($rule, 'Word_UnderscoreToCamelCase')
. Something I can easily do by replacing underscores with spaces, then call ucwords() then remove the spaces anyway. I should probably not use Zend calls as much as I do because of things like this.