Drupal.org already has a few issues similar to this. The ones I've read blame the simpletest module. This one is not caused by simpletest so I don't think it's a duplicate.

In my case I'm seeing this on Drupal's status report page. The reason is that _system_sort_requirements() expects an array with a title string, i.e. $b['title'] = 'some string'. Instead, $b contains something more like this:

 ... (Array, 4 elements)
    title (Array, 2 elements)
        0 (String, 31 characters ) Grammar Parser PHP memory limit
        1 (String, 31 characters ) Grammar Parser PHP memory limit
    value (Array, 2 elements)
        0 (String, 3 characters ) 48m
        1 (String, 3 characters ) 48m

Title is an array instead of a string, but the real problem is Drupal has run out of memory. Either $a or $b contain arrays like this where Grammar Parser announces either memory or time limit problems.

I imagine this issue will quickly be resolved as won't fix, not a bug; i.e. that it is user error trying to run Drupal with so little memory available. But please consider that Drupal should present a reasonable error message in this case. Very few people will figure out that strcmp() error actually means they need to increase memory limits or upgrade hosting plans (or switch to Wordpress). Especially the status report page should be able to inform a user of this problem.


Dave Cohen’s picture

Status: Active » Postponed (maintainer needs more info)

I'm just realizing this error is not coming from a failure of PHP, but rather the grammar parser module. Proabably not an issue for core drupal. Sorry 'bout that! I will comment again when I understand better what's happening.

Dave Cohen’s picture

Component: base system » other
Category: bug » support
Priority: Normal » Minor
Status: Postponed (maintainer needs more info) » Closed (won't fix)

Again, I thought I was seeing a PHP error, but really it was the grammar parser trying to show a message about the memory limit. Not that the memory limit was exceeded. Just ignore me.