WARN - .psi.impl.compiled.ClsFileImpl - Class file is corrupted

This may not be related to the Scala plugin, but I'm not sure.

I recently updated to IntelliJ 12.1.4 (from 12.1.3), Community Edition. I'm working on a Scala project. I notice that I'm getting a lot of warnings about corrupt class files inside scala-library.jar. Here is a sample:

[7874418]   WARN - .psi.impl.compiled.ClsFileImpl - Class file is corrupted: /home/peter/Projects/Scala/build/pack/lib/scala-library.jar!/scala/Predef$Pair$.class
[7874418]   WARN - .psi.impl.compiled.ClsFileImpl - Class file is corrupted: /home/peter/Projects/Scala/build/pack/lib/scala-library.jar!/scala/Predef$Triple$.class
[7874419]   WARN - .psi.impl.compiled.ClsFileImpl - Class file is corrupted: /home/peter/Projects/Scala/build/pack/lib/scala-library.jar!/scala/Predef$Ensuring$.class
[7874419]   WARN - .psi.impl.compiled.ClsFileImpl - Class file is corrupted: /home/peter/Projects/Scala/build/pack/lib/scala-library.jar!/scala/Predef$StringAdd$.class

There are many other similar messages (hundreds, I'd say). I'm almost 100% sure that I wasn't getting this with IntelliJ 12.1.3.

I'm not sure what this means to me but "corrupted" certainly sounds like a bad thing. Both my program and IntelliJ appear to be working so I suppose the problem isn't too serious. A Google search on this warning turned up what appears to be the change that added it:

     http://git.jetbrains.org/?p=idea/community.git;a=commitdiff;h=97436d2e5de87dc0fdc8bae3468d9e1527463761

However, I don't understand that code well enough to say just what is causing this warning and how much of a problem it really is. I'm wondering if it has something to do with the nature of the class files generated by the Scala compiler (hence my justification for posting in this group).

Note that the compiler I'm using was custom compiled by me from source. It is not the distributed compiler. Furthermore I have modified the Scala compiler. However, my modifications are far away from the code generator... and also I didn't see this problem with IntelliJ 12.1.3 using the same modified compiler.

So my question is: What might be causing this problem and should I be worried about it?

Thanks!

5 comments

This is the problem with our analyzer. We need to decompile class files and in case if something wrong, such warning appears.
In this case Java decompiler started to think that it has to decompile A$B$ classes, where B is inner object in class or object A, and this class file is wrong for Java decompiler => we see such error message.
However I repoduced it only with IDEA 13, not with IDEA 12.1.4. I'll try to fix it, but as I can see, it shouldn't affect IDE at all, just some strange warning.

Best regards,
Aleksandr Podkhaliuzin.

0

I added an isuse for this warning: http://youtrack.jetbrains.com/issue/SCL-5799

Aleksandr Podkhaliuzin
Scala Plugin Team Leader
JetBrains
http://www.jetbrains.com
"Develop with pleasure!"
0

As I cannot comment on the youtrack issue, I reply here.

I am affected by this issue, too. For me it's not only logfile spilling, Intellij slows down to almost being unusable.
While getting thousands of these messages in my logfiles, Intellij is not responding.

Maybe limiting / stopping solely the logging will already help?

(Intellij 12.1.4, Scala-Plugin         0.19.298)

0

Please sign in to leave a comment.