-
Notifications
You must be signed in to change notification settings - Fork 186
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
Error parsing signature of lambda #140
Comments
Hi @barney2k7! You may not know this, but FindBugs is dead. Many members of the community forked it and are working on it's successor, SpotBugs, where we are working on a 3.1.0 release with proper Java 8 and Java 9 support. I'd love to look into this as part of that effort. Could you please provide a P.S. Feel free to report any other issues you find directly on our issues pages |
There seems to be quite a disagreement whether FindBugs is dead or not - anyway, I'm glad there's a future for FindBugs one way or another. The two classes in my 'steps to reproduce' show the issue. All you need to do is compiling them with Eclipse 4.6. Here they are as .class: findbugs_issue_140_compiled.zip Is there a release of SpotBugs available (or at least a snapshot)? I'll gladly test it in our environment and submit bugs. I've submitted #141 yesterday which I assume affects SpotBugs as well, but I'd like to actually test it with SpotBugs before submitting it to your issues page. |
Thanks a lot for the compiled classes. I was able to reproduce it on Eclipse Neon too.
This last signature, I'll keep on researching this since I'm probably missing something, but so far it looks like a bug on Eclipse JDT. On our side, it seems the most we can do is not blow up if the signature is invalid. As for FindBugs current status... we did saw that post from Bill. He asked for a week, it's been 25 days. We are yet to hear from him anywhere outside Hacker News (he didn't care to respond on the mailing list, nor show up on Github or SourceForge), so I fear that is not gonna happen. We rather push SpotBugs forward than keep waiting for him. |
Confirmed to be an Eclipse issue Technically, they claim this is due to a void in the JSL which I'm not sure actually exists; non the less, they agree they should probably stop producing signatures outside the spec. |
- See https://bugs.eclipse.org/bugs/show_bug.cgi?id=494198 - The issue was raised on FindBugs findbugsproject/findbugs#140
- See https://bugs.eclipse.org/bugs/show_bug.cgi?id=494198 - The issue was raised on FindBugs findbugsproject/findbugs#140
- See https://bugs.eclipse.org/bugs/show_bug.cgi?id=494198 - The issue was raised on FindBugs findbugsproject/findbugs#140
I've jut submitted a PR for SpotBugs to resolve this issue. It will be released as part of SpotBugs 3.1.0 |
the latest bcel should handle this - i think |
@mebigfatguy this isn't on BCEL's side, it's on FindBugs when parsing the utf-8 string from the constant pool to obtain generics info from signature. This happens with BCEL 6.0 on SpotBugs HEAD. BCEL does not (and should not) tamper with the data read from the class file. |
* Workaround for JDT illegal signatures - See https://bugs.eclipse.org/bugs/show_bug.cgi?id=494198 - The issue was raised on FindBugs findbugsproject/findbugs#140 * Add more and beter tests for JDT signatures - Cover all 3 possibilities - Fix an issue with GenericUtilities - Take the chance to unify 2 different tests classes on the same parser
This project continues development in a new home: https://github.com/spotbugs/spotbugs/ Please do not open new issues here anymore! |
This is a followup to https://sourceforge.net/p/findbugs/bugs/1415/
I tried if the error still occurs with findbugs 3.1.0_preview2 that contains a newer bcel - it still occurs, but now with a different error message.
Steps to reproduce:
1.) compile the following code using Eclipse 4.6
Note that compiling the code with javac will NOT show the problem, as javac produces quite different byte code when compiling the lambda.
2.) let findbugs analyse the resulting class files (e.g. through the gui). This results in the following stacktrace:
The text was updated successfully, but these errors were encountered: