{"record":{"id":"2b0b658b44006c36","repo":"hashicorp/vagrant","slug":"an-action-action-was-attempted-on-the-machine","errorCode":null,"errorMessage":"An action '%{action}' was attempted on the machine '%{name}',\nbut another process is already executing an action on the machine.\nVagrant locks each machine for access by only one process at a time.\nPlease wait until the other Vagrant process finishes modifying this\nmachine, then try again.\n\nIf you believe this message is in error, please check the process\nlisting for any \"ruby\" or \"vagrant\" processes and kill them. Then\ntry again.","messagePattern":"An action '%(.+?)' was attempted on the machine '%(.+?)',\nbut another process is already executing an action on the machine\\.\nVagrant locks each machine for access by only one process at a time\\.\nPlease wait until the other Vagrant process finishes modifying this\nmachine, then try again\\.\n\nIf you believe this message is in error, please check the process\nlisting for any \"ruby\" or \"vagrant\" processes and kill them\\. Then\ntry again\\.","errorType":"exception","errorClass":"Vagrant::Errors::MachineActionLockedError","httpStatus":null,"severity":"error","filePath":"lib/vagrant/machine.rb","lineNumber":220,"sourceCode":"\n        # If this action doesn't exist on the provider, then an exception\n        # must be raised.\n        if callable.nil?\n          raise Errors::UnimplementedProviderAction,\n            action: name,\n            provider: @provider.to_s\n        end\n\n        # Call the action\n        ui.machine(\"action\", name.to_s, \"start\")\n        action_result = action_raw(name, callable, extra_env)\n        ui.machine(\"action\", name.to_s, \"end\")\n        action_result\n      end\n      # preserve returning environment after machine action runs\n      return return_env\n    rescue Errors::EnvironmentLockedError\n      raise Errors::MachineActionLockedError,\n        action: name,\n        name: @name\n    end\n\n    # This calls a raw callable in the proper context of the machine using\n    # the middleware stack.\n    #\n    # @param [Symbol] name Name of the action\n    # @param [Proc] callable\n    # @param [Hash] extra_env Extra env for the action env.\n    # @return [Hash] The resulting env\n    def action_raw(name, callable, extra_env={})\n      if !extra_env.is_a?(Hash)\n        extra_env = {}\n      end\n\n      # Run the action with the action runner on the environment\n      env = {ui: @ui}.merge(extra_env).merge(","sourceCodeStart":202,"sourceCodeEnd":238,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/lib/vagrant/machine.rb#L202-L238","documentation":"Error \"An action '%{action}' was attempted on the machine '%{name}',\nbut another process is already executing an action on the machine.\nVagrant locks each machine for access by only one process at a time.\nPlease wait until the other Vagrant process finishes modifying this\nmachine, then try again.\n\nIf you believe this message is in error, please check the process\nlisting for any \"ruby\" or \"vagrant\" processes and kill them. Then\ntry again.\" thrown in hashicorp/vagrant.","triggerScenarios":"Thrown at lib/vagrant/machine.rb:220 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5","analyzedAt":"2026-08-21T13:34:32.514Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}