When running Drush 5.dev or 4.5, doing "drush up" against the new Openpublic (7.x-1.0-beta3), causes Drush to fail with a critical error:
strpos(): Empty delimiter pm.drush.inc:1077 [warning]
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 2097152 bytes) in ~/.drush/drush/includes/drush.inc on line 1149
The "strpos(): Empty delimiter pm.drush.inc:1077" error repeats hundreds of times until memory is exhausted.
This error seems specific to Openpublic and does not occur on other websites. It happened in 4.5 so I loaded 5.x-dev and got the same error. Wasn't sure where to log this error, but figured the OP people wouldn't know the problem.
Any idea what anomaly could cause this error in Drush??
Comments
Comment #1
bcobin commentedI'm seeing this also, except my error is "strpos(): Empty delimiter pm.drush.inc:1131" and this seems to be only on a D7 OpenPublic site in my development sandbox. In my case, this was after doing a self-update to 4.5.
Any ideas? Thanks in advance!
Comment #2
jonhattanComment #3
jonhattanCross reference: #1300726: Openpublic Beta 3 throws a critical Drush error
On one hand, there're modules with two
project=lines in their .info files (openpublic fault).On the other hand, the failure in drush is because it tries to find the common path of all of the extensions within a project. All the custom extensions that are part of a profile have
project = "openpublic". It is a by design in drush that needs further discussion to be fixable, if fixable.Comment #4
jonhattanDuplicate of #1451534: Function _pm_find_common_path() should be more failproof
Comment #5
rowbotony commentedThis was caused for me with drush-4.x using Aegir and distributions for which paths were "unknown" for certain modules that couldn't find updates. Distributions such as OpenPublic and Commerce Kickstart. With drush-4 the errors were a stream of:
strpos(): Empty delimiter pm.drush.incThen running drush-5 "drush up" would throw this error, but still proceed to update the modules which were known/ok:
So, for now while Aegir doesn't support drush-5 as I understand it. I just had to download and use drush-5.x to update the sites, then revert back to drush-4.x for my regular Aegir drush tasks. As such I can run:
/usr/share/drush-5.7/drush.php upfor my updates, but still leave the system drush in /usr/share/drush. That's all, hope that helps someone.