{"record":{"id":"e359f8055704fe36","repo":"mileszs/wicked_pdf","slug":"bad-exe-name-s-path-path","errorCode":null,"errorMessage":"Bad #{EXE_NAME}'s path: #{@path}","messagePattern":"Bad #(.+?)'s path: #(.+?)","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"lib/wicked_pdf/binary.rb","lineNumber":14,"sourceCode":"# frozen_string_literal: true\n\nclass WickedPdf\n  class Binary\n    EXE_NAME = 'wkhtmltopdf'\n\n    attr_reader :path, :default_version\n\n    def initialize(binary_path, default_version = WickedPdf::DEFAULT_BINARY_VERSION)\n      @path = binary_path || find_binary_path\n      @default_version = default_version\n\n      raise \"Location of #{EXE_NAME} unknown\" if @path.empty?\n      raise \"Bad #{EXE_NAME}'s path: #{@path}\" unless File.exist?(@path)\n      raise \"#{EXE_NAME} is not executable\" unless File.executable?(@path)\n    end\n\n    def version\n      @version ||= retrieve_binary_version\n    end\n\n    def parse_version_string(version_info)\n      match_data = /wkhtmltopdf\\s*(\\d*\\.\\d*\\.\\d*\\w*)/.match(version_info)\n      if match_data && (match_data.length == 2)\n        Gem::Version.new(match_data[1])\n      else\n        default_version\n      end\n    end\n\n    def xvfb_run_path\n      path = possible_binary_locations.map { |l| File.expand_path(\"#{l}/xvfb-run\") }.find { |location| File.exist?(location) }","sourceCodeStart":1,"sourceCodeEnd":32,"githubUrl":"https://github.com/mileszs/wicked_pdf/blob/bce498de547cdf00d037fdbec29fae844d69ee8e/lib/wicked_pdf/binary.rb#L1-L32","documentation":"Error \"Bad #{EXE_NAME}'s path: #{@path}\" thrown in mileszs/wicked_pdf.","triggerScenarios":"Thrown at lib/wicked_pdf/binary.rb:14 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":"bce498de547cdf00d037fdbec29fae844d69ee8e","analyzedAt":"2026-08-23T09:58:24.694Z","schemaVersion":2},"datasetVersion":"2026-08-23T13:39:53.451Z"}