5

I try to run my JAVA application with JVM arguments in Eclipse. I noticed that a "-noverify" String is appended each time at the end of the parameters, which makes them unusable because I need that as a patch to my config files. (And the program say: "/home/user/config.properties-noverify" isn't exists.)

The arguments are:

-Djava.security.egd=file:/dev/./urandom  -Dspring.config.location="/home/sige/guezbin/application.properties" -DconfigPath="/home/sige/eclipse-workspace/ImgCompr/config-default.properties"

I develop under Ubuntu. With Eclipse version 4.8.

I Googled a lot but I didn't find any answers.

Can somebody explain to me what is this and how can I use it in a proper way?

SiGe
  • 341
  • 6
  • 18

1 Answers1

6

The JVM checks the byte code of the compile classes it is about to load to see that it is well behaved. This is an essential step for executing untrusted code.

Unfortunately this takes time and for a very large application like Eclipse this may increase the startup time quite a bit. The "-noverify" flag turns this off.

It sounds like that you need a space after your own string so the "-noverify" flag is not concatenated. If you cannot do this, then make a work around like "-Dignore" which becomes -Dignore-noverify and then your code should work.

Thorbjørn Ravn Andersen
  • 73,784
  • 33
  • 194
  • 347
  • Thank you! I made a workaround with put the String in a variable then split it. – SiGe Aug 30 '17 at 08:08
  • I was trying to run a unit test, every time it failed with "java.lang.VerifyError: Expecting a stackmap frame at branch target 19" then followed with a bunch of byte code. Once I added -noverify in VM arguments of my JUnit Debug Configuration, the unit test ran. Thanks for the answer! – Janet Dec 20 '17 at 16:47
  • 1
    @Janet This sounds like a broken situation you choose to ignore. Consider opening a new question to identify and possibly fix it. – Thorbjørn Ravn Andersen Dec 20 '17 at 19:11
  • 1
    Finally I solved the issue by adding a -Ddummy=nothing argument at the end of the arguments' list as you suggested. One year ago. Just I feel right to document that this was the solution. :D – SiGe May 23 '18 at 13:16