{"record":{"id":"99152d7353ab52d1","repo":"hashicorp/vagrant","slug":"vagrant-box-version-malformed","errorCode":null,"errorMessage":"vagrant.box_version_malformed","messagePattern":"vagrant\\.box_version_malformed","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"lib/vagrant/box_collection.rb","lineNumber":248,"sourceCode":"        @logger.debug(\"Finding all boxes in: #{@directory}\")\n        @directory.children(true).each do |child|\n          # Ignore non-directories, since files are not interesting to\n          # us in our folder structure.\n          next if !child.directory?\n\n          box_name = undir_name(child.basename.to_s)\n\n          # Otherwise, traverse the subdirectories and see what versions\n          # we have.\n          child.children(true).each do |versiondir|\n            next if !versiondir.directory?\n            next if versiondir.basename.to_s.start_with?(\".\")\n\n            version = versiondir.basename.to_s\n            # Ensure version of box is correct before continuing\n            if !Gem::Version.correct?(version)\n              ui = Vagrant::UI::Prefixed.new(Vagrant::UI::Colored.new, \"vagrant\")\n              ui.warn(I18n.t(\"vagrant.box_version_malformed\",\n                             version: version, box_name: box_name))\n              @logger.debug(\"Invalid version #{version} for box #{box_name}\")\n              next\n            end\n\n            versiondir.children(true).each do |architecture_or_provider|\n              # If the entry is not a directory, it is invalid and should be ignored\n              if !architecture_or_provider.directory?\n                @logger.debug(\"Invalid box #{box_name} (v#{version}) - invalid item: #{architecture_or_provider}\")\n                next\n              end\n\n              # Now the directory can be assumed to be the architecture\n              architecture_name = architecture_or_provider.basename.to_s.to_sym\n\n              # Cycle through directories to find providers\n              architecture_or_provider.children(true).each do |provider|\n                if !provider.directory?","sourceCodeStart":230,"sourceCodeEnd":266,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/lib/vagrant/box_collection.rb#L230-L266","documentation":"Error \"vagrant.box_version_malformed\" thrown in hashicorp/vagrant.","triggerScenarios":"Thrown at lib/vagrant/box_collection.rb:248 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"}