Internal error with lucene-core-6.1.0.jar > Lucene54DocValuesConsumer.class #140
Comments
The following exceptions occurs when trying to extract lucene-core-6.1.0.jar .
- Download lucene-6.1.0.zip from http://apache.crihan.fr/dist/lucene/java/6.1.0/
- Unzip jar lucene-6.1.0\core\lucene-core-6.1.0.jar in the archive
- Open jar in JD-GUI
- Browse to class org\apache\lucene\codecs\lucene54\Lucene54DocValuesConsumer.class
Tested with JD-GUI 1.4.
I suspect an issue with the lucene jar / class / source because Dependency Finder (https://github.com/jeantessier/dependency-finder/) also fails to open the same class.
I have also entered an issue on the Dependency Finder project :
jeantessier/dependency-finder#2
The text was updated successfully, but these errors were encountered:
Same error occurs for class org\apache\lucene\util\AttributeImpl.class in same lucene-core-6.1.0.jar
Jd gui doens’t decompile classes that contains invokedynamic instruction. (lambda expresions)
@JonathanxD Thanks for your answer and explanation.
Any technical limit of a product is fine as long as the end user is made aware of such limitation.
Thus if this limit cannot be overcome, displaying a more user friendly message would certainly be better than the cryptic // INTERNAL ERROR // message.
Something like «This class contains invokedDynamic instruction which are not yet supported», especially as JD does not provide any advanced log window that could otherwise give more detail on the error.
My question would be whether invokedynamic invalidates decompilation of the whole class, or whether the class’ other parts can be decompiled around it, leaving a comment block where such errata would be?
@JustGregory Invokedynamic doens’t invalidates the decompilation. Other decompilers that doens’t supports invokedynamic decompile other parts and comment invokedynamic block. The possible cause of the error is because jdgui don’t know the byte sequence of invokedynamic and don’t know what bytes is part of invokedynamic and what is not.
Sorry for my bad english. 🙁
The similar issue in Dependency Finder was fixed, you may want to look at the corresponding commit for hints ont how to parse specific byte code :
jeantessier/dependency-finder@9459806
INTERNAL ERROR #197
Comments
The text was updated successfully, but these errors were encountered:
Same problem here with the new jd-gui 1.43
While jd-gui 1.41 with the jd-core 1.0.0 preview actually worked and improved resulting code considerably over luyten and other decompilers results.
Problem is that jd-gui 1.4.1 does not allow copying the 1.0.0 output, only 0.7.1 comparison results can be copied.
Is there a way to call the jd-core 1.0.0 library in the jd-gui 1.4.1 directly ?
I tried something like the following without success.
$JAVA_HOME/java -jar jd-gui-1.4.1-jd-core-1.0.0-preview-20190315/ext/jd-core-1.0.0-preview.jar com/lowagie/text/pdf/PdfReader.java
Actually I suppose this can be attributed to #93 and maybe #90, as the class in Question makes uses of inner classes.
Hi, JD-GUI 1.4.3 replace the old JD-Core 0.7.1 with the (rewrite from scratch) new JD-Core 1.0.0. Try it : it should solve this issue.
Hi @java-decompiler,
thanks for your fast response, much appreciated!
I have had positive results with your preview jd-gui-1.4.1 in many cases. But the now available jd-gui 1.4.3 is showing the INTERNAL-ERROR as reported by gzvincen and other bug reporters. I guess it may have something to do with internal classes, as the classes failing with INTERNAL ERROR also have internal classes in my case.
- JD-GUI 1.4.1 works both with jd-core 1.0.0-preview (right) and jd-core-0.7.1 (left in the side-by-side view).
- JD-GUI 1.4.3 does show INTERNAL ERROR with jd-core-1.0.0 final version for a lot but not all classes.
I just tried JD-GUI 1.5.0 with no success either for the PdfReader.class from a 2.0.2 iText library I am trying to decompile.
- JD-GUI 1.5.0 does show INTERNAL ERROR with jd-core 1.0.1
@gzvincen : JD-Core 1.0.+ have a problem with Lambda expression in PowerfulDockerImpl => I’ll take a look.
@stefan123t : NPE throws by JD-GUI caused by a bug in JD-Core-1.0.+ on a anonymous inner class => I’ll take a look.
0.3.5 crash in macOS Sierra #147
Comments
OS Version is:
Version 10.12(16A323)
The text was updated successfully, but these errors were encountered:
What Java vendor/version? What version of jd-gui?
java version «1.8.0_25»
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
jd-gui is 0.3.5 download from official siet
java version «1.8.0_45»
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
Process: jd-gui [9019]
Path: /Applications/JD-GUI.app/Contents/MacOS/jd-gui
Identifier: jd.jd-gui
Version: 0.3.5
Code Type: X86 (Native)
Parent Process: . [1]
Responsible: jd-gui [9019]
User ID: 501
Date/Time: 2016-10-08 12:56:57.254 +1100
OS Version: Mac OS X 10.12 (16A323)
Report Version: 12
Anonymous UUID: CC41D87A-04AB-5ABE-B0B4-ED622389BAB9
Time Awake Since Boot: 15000 seconds
System Integrity Protection: enabled
Crashed Thread: Unknown
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000241499f5
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]
Backtrace not available
Unknown thread crashed with X86 Thread State (32-bit):
eax: 0x248b8b5b ebx: 0xbffffccc ecx: 0x241499f5 edx: 0x00000001
edi: 0xbffffd00 esi: 0x00000000 ebp: 0xbffffc88 esp: 0xbffffc40
ss: 0x00000023 efl: 0x00010297 eip: 0x000011bb cs: 0x0000001b
ds: 0x00000023 es: 0x00000023 fs: 0x00000000 gs: 0x0000000f
cr2: 0x241499f5
Logical CPU: 0
Error Code: 0x00000004
Trap Number: 14
Binary images description not available
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 8266
thread_create: 0
thread_set_state: 0
используя java-декомпилятор jd-gui и получая // ВНУТРЕННЮЮ ОШИБКУ //
Я декомпилировал файл apk с помощью dex2jar и открыл полученный файл jar в jd-gui. Я могу хорошо просмотреть почти весь код, но один раздел — константы — отображает только // INTERNAL ERROR // и ничего больше. Есть ли способ получить константы?
задан 14 июля ’13, 22:07
Какую версию jd-gui и какую версию Java вы используете? Вы пробовали бежать javap ? Совместимость с декомпилятором меняется с каждым новым выпуском Java. — ngreen
3 ответы
Любой, кто проходит мимо этого вопроса, должен вместо этого посмотреть на это: https://github.com/deathmarine/Luyten
Используя это вместо jd-gui, я смог успешно просмотреть весь код, который отображался как ВНУТРЕННЯЯ ОШИБКА на jd-gui.
ответ дан 23 окт ’14, 16:10
Luyten не позволяет открывать каталог (например, несколько .class файлы в структуре каталогов). Он работает только с jar-файлами, поэтому мне он бесполезен. — Томаш Зато
@TomášZato, вы можете сами создать файл jar. Просто поместите всю структуру каталогов в zip-файл и переименуйте его в jar. — Джеймс Уоткинс
Хорошо, но jd-gui может декомпилировать войны, и библиотеки в нем связаны. В Luyten, если мы поместим все содержимое jar в zip и переименуем в jar, мы сможем увидеть классы, но jar в lib не смогут быть декомпилированы. — Кселианский
Джакс работает очень хорошо. Luyten не отображал лямбда-классы, которые можно было просматривать в Jadx и частично в JD-GUI. — Э. Сундин
Я думаю, что у Луйтена есть недостаток. Я попытался открыть военный файл, и на его крошечной панели задач написано, что файл слишком велик: 76.5 МБ — happybuddha
Я решил проблему, установив Java Jdk 64Bit «Java SE Development Kit 8u111»
ubuntu 1804 can’t launch jd-gui #214
Comments
Download jd-gui_1.4.0-0_all.deb on Ubuntu 1804
can’t launch jd-gui.
The text was updated successfully, but these errors were encountered:
Download the .jar and launch it via terminal with the following command:
java —add-opens java.base/jdk.internal.loader=ALL-UNNAMED —add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED -jar /path/to/jar
I downloaded .jar file(jd-gui-1.4.0.jar) and changed the java version the will open It
1 — Right click on file
2 — Properties
3 — Open With tab
- So I choose Oracle Java 8 Runtime as default.
My ubuntu version is 18.04.1 LTS
ps.: I tried to run it with OpenJDK Java 8 Runtime and Oracle Java 11 Runtime and doesn’t work.
I downloaded .jar file(jd-gui-1.4.0.jar) and changed the java version the will open It
1 — Right click on file
2 — Properties
3 — Open With tab
- So I choose Oracle Java 8 Runtime as default.
My ubuntu version is 18.04.1 LTS
ps.: I tried to run it with OpenJDK Java 8 Runtime and Oracle Java 11 Runtime and doesn’t work.
I’m also using Ubuntu 18.04. Initially, it was not worked for me. If you right-click and try to open with oracle java 11 it will not work.
(I’m using Java 11.)
To make it work, you have to give executable permission for the .jar file
$ chmod -R a+x jd-gui-1.4.0.jar or
$ chmod -R 777 jd-gui-1.4.0.jar