-
Notifications
You must be signed in to change notification settings - Fork 668
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RuntimeError: redex-all crashed with exit code -6! #458
Comments
This error is happening because RegAlloc believes its input code is invalid. I looked at the error message and I think I agree with it. Here is the short version of the error message RegAlloc threw: and the relevant code section is:
The last line of code in this snippet looks incorrect. v6 holds an array, but it's being used as the index into itself, which is a type error. An array is not an int. I think the correct line would be:
|
Could you run |
Like this: Please see attachment for details |
Please create the dexdump with the |
Alternatively, can you add this to your redex config and run it again, posting any failures:
You will have to add a pass before @justinjhendrick : note that the config is actually super-simple and indicates the input is broken. |
I have created the dexdump with the
Please see attachment for details |
In addition, i have added
Error info:
Full output log as the attachments. |
From the dexdump:
Which confirms that the input bytecode is broken. @AlanXuGuangZ What tool produced the dex file? If you are not using Haval (which seems likely, as this should get you a Side note: The |
What tool produced the dex file? I have prepend the remove-unreachable-classes pass to the
But it'll still report a mistake.just look likes this:
Full output log as the attachments. |
There 's some apps do redex successfully. Some other apps failed with error code -6. |
"Successful" apps may not have broken bytecode included - you do not give enough details to understand the issue. "android gradle tool" is not a compiler, it's a build system. Is Gradle configured to use dx, Jack or d8/r8? What version do you use? Are you using it with Android Studio or standalone? If the former, what Studio version do you use? Where does the Haval code come from? Are you using Java sources for GNU crypto? A jar file? If the latter, where did you get it from? If |
Closing due to inactivity. Feel free to re-open if you have more info. |
use code version: 45d0f92
Error info:
WARNING: Unable to find RequiresApi annotation. It's either unused (okay) or been deleted (not okay)
WARNING: No inliner config
Failed to allocate Lgnu/crypto/hash/Haval;.transform:([BI)V
config file looks like :
{
"redex" : {
"keep_annotations": [
"Lcom/path/to/your/DoNotStrip;"
],
"passes" : [
"RegAllocPass",
"InterDexPass"
]
},
"RenameClassesPassV2" : {
"dont_rename_annotated": [
"Lcom/path/to/your/DoNotStrip;"
]
},
"InterDexPass" : {
"coldstart_classes": "~/redex/classtest/filemanager_class_list.txt"
},
"RegAllocPass" : {
"live_range_splitting": false
}
}
full output log as the attachments.
filemanager.txt.zip
The text was updated successfully, but these errors were encountered: