{"record":{"id":"1faf6abcdd24541d","repo":"pxb1988/dex2jar","slug":"fail-on-op","errorCode":null,"errorMessage":"Fail on Op ","messagePattern":"Fail on Op ","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"dex-translator/src/main/java/com/googlecode/d2j/converter/Dex2IRConverter.java","lineNumber":427,"sourceCode":"                        case GOTO_16:\n                        case GOTO_32:\n                            emit(nGoto(getLabel(((JumpStmtNode) p).label)));\n                            break;\n                        case NOP:\n                            emit(nNop());\n                            break;\n                        case BAD_OP:\n                            emit(nThrow(nInvokeNew(new Value[]{nString(\"bad dex opcode\")}, new String[]{\n                                            \"Ljava/lang/String;\"},\n                                    \"Ljava/lang/VerifyError;\")));\n                            break;\n                        default:\n                            tmp.execute(p, interpreter);\n                            break;\n                    }\n                }\n            } catch (Exception exception) {\n                throw new RuntimeException(\"Fail on Op \" + p.op + \" index \" + index, exception);\n            }\n\n\n            if (p.op != null) {\n                Op op = p.op;\n                if (op.canBranch()) {\n                    JumpStmtNode jump = (JumpStmtNode) p;\n                    int targetIndex = indexOf(jump.label);\n                    stack.push(insnList.get(targetIndex));\n                    merge(tmp, targetIndex);\n                }\n                if (op.canSwitch()) {\n                    BaseSwitchStmtNode switchStmtNode = (BaseSwitchStmtNode) p;\n                    for (DexLabel label : switchStmtNode.labels) {\n                        int targetIndex = indexOf(label);\n                        stack.push(insnList.get(targetIndex));\n                        merge(tmp, targetIndex);\n                    }","sourceCodeStart":409,"sourceCodeEnd":445,"githubUrl":"https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/dex-translator/src/main/java/com/googlecode/d2j/converter/Dex2IRConverter.java#L409-L445","documentation":"Internal converter failure during dfs instruction translation in Dex2IRConverter: the dex opcode being processed fell into an unhandled case of the per-op switch, so the opcode has no IR translation implemented. The message appends the Op. It indicates either an unsupported/obsolete dalvik opcode or a version mismatch between the dex reader and the translator, not bad user input per se.","triggerScenarios":"Thrown at dex-translator/src/main/java/com/googlecode/d2j/converter/Dex2IRConverter.java:427 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Note the Op printed in the message and report it to the dex2jar issue tracker with the input dex","Upgrade to the latest dex2jar/d2j-dex2jar release, which may have added translation for that opcode","As a workaround, exclude the offending class or method from translation"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b5bda4fb4935ae8b3869b422454ae3b3896c7bc1","analyzedAt":"2026-09-08T00:44:01.258Z","contentChangedAt":"2026-09-08T00:44:01.258Z","schemaVersion":2},"datasetVersion":"2026-09-16T09:17:16.951Z"}