{"record":{"id":"a421292d28f1c3d2","repo":"jruby/jruby","slug":"ioe-localized-message","errorCode":null,"errorMessage":"{ioe localized message}","messagePattern":"\\{ioe localized message\\}","errorType":"exception","errorClass":"IOError","httpStatus":null,"severity":"error","filePath":"core/src/main/java/org/jruby/RubyFile.java","lineNumber":1059,"sourceCode":"\n        JRubyFile dest = JRubyFile.create(cwd, newNameJavaString);\n        if (oldFile.renameTo(dest)) return asFixnum(context, 0);           // rename is successful\n\n        // rename via Java API call wasn't successful, let's try some tricks, similar to MRI\n\n        if (newFile.exists()) {\n            context.runtime.getPosix().chmod(newNameJavaString, 0666);\n            newFile.delete();\n        }\n\n        // Try atomic move from JDK\n        Path oldPath = Paths.get(oldFile.toURI());\n        Path destPath = Paths.get(dest.getAbsolutePath());\n        try {\n            Files.move(oldPath, destPath, StandardCopyOption.ATOMIC_MOVE);\n            return asFixnum(context, 0);\n        } catch (IOException ioe) {\n            throw Helpers.newIOErrorFromException(context.runtime, ioe);\n        }\n    }\n\n    @JRubyMethod(meta = true)\n    public static RubyArray split(ThreadContext context, IRubyObject recv, IRubyObject arg) {\n        RubyString filename = get_path(context, arg);\n\n        return newArray(context, dirname(context, recv, filename), basename(context, recv, filename));\n    }\n\n    @JRubyMethod(meta = true)\n    public static IRubyObject symlink(ThreadContext context, IRubyObject recv, IRubyObject from, IRubyObject to) {\n        Ruby runtime = context.runtime;\n\n        RubyString fromStr = get_path(context, from);\n        RubyString toStr = get_path(context, to);\n        String tovalue = toStr.toString();\n        tovalue = JRubyFile.create(runtime.getCurrentDirectory(), tovalue).getAbsolutePath();","sourceCodeStart":1041,"sourceCodeEnd":1077,"githubUrl":"https://github.com/jruby/jruby/blob/fb650c13e02b5a600fa66384655069d5ec30c362/core/src/main/java/org/jruby/RubyFile.java#L1041-L1077","documentation":"Error \"{ioe localized message}\" thrown in jruby/jruby.","triggerScenarios":"Thrown at core/src/main/java/org/jruby/RubyFile.java:1059 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The underlying file operation failed with an IOException. Check that the path exists, is of the expected type (file vs directory), and that the process has read/write permission; inspect the wrapped IOException message for the specific cause."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fb650c13e02b5a600fa66384655069d5ec30c362","analyzedAt":"2026-08-23T07:18:57.479Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}