Nao

  • Dadman with a boy
  • Posts: 16,079
Re: Exhausted memory?
« Reply #15, on March 4th, 2014, 12:45 AM »
The Apache error log is something more verbose, that also indicates the originating requester's IP and the requested URL. If you search for the error.log error dates in this kind of Apache log, then you'll be able to match the error with a URL, and thus reproduce it.

I really have no idea how to fix this if it only happens a few times a day... It's not enough to reproduce it in a surefire way! I'll really need more info. :(

madfitz

  • Elite Class Non Coder
  • Posts: 97
Re: Exhausted memory?
« Reply #16, on March 4th, 2014, 07:37 AM »
Quote from Nao on March 4th, 2014, 12:45 AM
I really have no idea how to fix this if it only happens a few times a day... It's not enough to reproduce it in a surefire way! I'll really need more info. :(
I appreciate it can't be easy and if I stumble across any additional info I'll pass it on.

I was really hoping somebody else had checked the error.log file on their server and found similar errors. They might have been able to give you more info than I can :(

Nao

  • Dadman with a boy
  • Posts: 16,079
Re: Exhausted memory?
« Reply #17, on March 4th, 2014, 11:53 AM »
I just checked, and error.log *is* the Apache error log. I mixed it up with access.log, which is what I need you to look for ;) (requests made at the same time, hour minute & second.)

madfitz

  • Elite Class Non Coder
  • Posts: 97
Re: Exhausted memory?
« Reply #18, on March 4th, 2014, 03:06 PM »
Hmmm :hmm:

error.log only shows... ermm... errors. It doesn't show every request being made at that time - just the error :-/
Re: Exhausted memory?
« Reply #19, on March 6th, 2014, 08:35 PM »
Quote from Nao on March 3rd, 2014, 05:18 PM
Grmpf...

Okay, are you on PHP 5.4 or better? If yes, you could help with debugging this.
Replace line 636 in /core/app/Class-DB.php with:

Code: [Select]
$trace_log = debug_backtrace(!function_exists('version_compare') || (version_compare('5.3.6', PHP_VERSION) > 0) ? false : DEBUG_BACKTRACE_IGNORE_ARGS, 5);

The only difference is the ", 5" added at the end.
This will set a hard limit on the number of objects returned by debug_backtrace() to 5, which should be enough. This should help your code execute. And by code, I mean "error reporting path". Which means after doing this, you'll see errors show up in your Wedge error log, rather than Apache error log.
At that point, you should be able to see what queries are generating errors for you.

Make sure to enable Query Logging in Admin settings > Admin > Server > Debugging (or Error Log Settings), as I said yesterday.
Keep me posted!
I'm now running on PHP 5.5 - do you still require this testing?

Nao

  • Dadman with a boy
  • Posts: 16,079

madfitz

  • Elite Class Non Coder
  • Posts: 97
Re: Exhausted memory?
« Reply #21, on March 6th, 2014, 11:50 PM »
Done the edit. I'll let you know if anything shows up - but I haven't seen any new errors since posting this!