Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

If drush_backend_parse_output() returns a string, it means the command could have run successfully. #3260

Closed
wants to merge 2 commits into from

Conversation

jonpugh
Copy link
Contributor

@jonpugh jonpugh commented Dec 19, 2017

I'm running into a very strange issue with a site hosted on Aegir (Running Drush 8). It only happens with a Drupal 8 platform based on the standard drupal composer project, which itself includes Drush.

In aegir, the drush provision-verify command uses drush_invoke_process() to run drush provision-save. When I do this on the Drupal 8 platform, drush_invoke_process() throws the error "The command could not be executed successfully".

If I remove the vendor/drush/drush folder from the Drupal 8 platform, the command works as expected!

What happens is that drush_backend_parse_output() returns the output of the drush provision-verify command as a string when it bootstraps the Drupal8/drush9 platform.

I have no idea how this could be happening, but I figured _drush_backend_invoke() should handle that string instead of an array.

@jonpugh
Copy link
Contributor Author

jonpugh commented Dec 19, 2017

@weitzman
Copy link
Member

I'd love to do some root cause analysis here. drush_invoke_process() is supposed to return an array.

@greg-1-anderson
Copy link
Member

Maybe the remote call is getting switched to interactive mode instead of backend mode?

I second that we should identify the root cause before just fixing the symptom. It could be that we proceed as suggested here, but we should know why first, lest we mask some other problem.

@weitzman
Copy link
Member

I wonder if this is another instance of #3127

@greg-1-anderson
Copy link
Member

I think that the problem here is that Drush is going through the wrong code path here. I don't think this function should be fixed like this, because we shouldn't be here unless the remote end was asked to produce backend json output.

@weitzman
Copy link
Member

no activity

@weitzman weitzman closed this Jul 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants