One Star

Inconsistent stackmap frames at branch target

 I'm getting the following error when I run my job:

 

"java.lang.VerifyError: Inconsistent stackmap frames at branch target 26387
Exception Details:
Location:
local_project/aaa_initial_0_1/AAA_initial.tPostgresqlInput_2Process(Ljava/util/MapSmiley WinkV @26387: aconst_null
Reason:
Type 'java/util/Map' (current frame, stack[0]) is not assignable to 'java/util/HashMap' (stack map, stack[0])
Current Frame:
bci: @26373
flags: { }

.

.

.

"

And it goes on.

Googling this error shows that it's related to JVM's interal byte-code check, but that doesn't really help much. I'm fairly certain that it's not related to the version of Java (JRE 1.8.0_131) that Talend uses, since I have other jobs that run just fine.

 

Anyone else ever run across this issue before? Any input would be appreciated.

2 REPLIES
Six Stars

Re: Inconsistent stackmap frames at branch target

Really strange, looks like there is 2 different implementation of Java Map in your system and the one linked to HashMap is not the same as the one where your code run.

Could be a strange OSGi configuration or some jar imported that create problem.

Verify the bundle generated and see if there is no strange dependency, maybe try to downgrade java, could be a bug in that release as well.

One Star

Re: Inconsistent stackmap frames at branch target

Is there any bytecode modification happening (various agents etc.)?

What this error says is that the stackmap frame captured in the bytecode does not correspond to the actual data flow - the interesting information is unfortunately cut out. Either way, this needs to be addressed by any of the bytecode modifiers.