Re: ASM 6.1-beta released

Kumar Srinivasan <[email protected]> Tue, 09 Jan 2018 07:45:21 -0800
Newsgroups gmane.comp.java.objectweb.asm
Organization Java Software - Oracle Corporation
Message-ID <[email protected]>
Hi,

Filed: https://gitlab.ow2.org/asm/asm/issues/317808

Kumar


> Hi all,
>
> I’m looking at the new problem.
>
> Although many tests fail, it seems to be a single issue with an incorrect stack map in a post-processed class. I’ll let you know when I find out more.
>
> Hannes
>
>> Am 09.01.2018 um 02:34 schrieb Kumar Srinivasan <[email protected]>:
>>
>>
>> Hi Remi, Evgeny, Eric,
>>
>> [ have included Hannes Wallnoefer, who is handling nashorn related issues]
>>
>> Thanks that seems to fix the issue I was seeing with nasgen.
>>
>> However there are multiple failures most of them are nashorn regresssions,
>> and relating to verification and stackmap frames, attached some output, for
>> reference,  I take it you want the class files ? If so I will try to  provide it tomorrow.
>> Please let me know if you need anything else.
>>
>> Thanks
>> Kumar
>>   [testng] Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 49
>>     [testng] Exception Details:
>>     [testng]   Location:
>>     [testng]     jdk/nashorn/internal/objects/Global.newAccessorDescriptor(Ljava/lang/Object;Ljava/lang/Object;ZZ)Ljdk/nashorn/internal/runtime/PropertyDescriptor; @49: aload_2
>>     [testng]   Reason:
>>     [testng]     Type 'jdk/nashorn/internal/objects/AccessorPropertyDescriptor' (current frame, locals[5]) is not assignable to 'jdk/nashorn/internal/objects/NativeRegExp' (stack map, locals[5])
>>     [testng]   Current Frame:
>>     [testng]     bci: @36
>>     [testng]     flags: { }
>>     [testng]     locals: { 'jdk/nashorn/internal/objects/Global', 'java/lang/Object', 'java/lang/Object', integer, integer, 'jdk/nashorn/internal/objects/AccessorPropertyDescriptor' }
>>     [testng]     stack: { 'java/lang/Object' }
>>     [testng]   Stackmap Frame:
>>     [testng]     bci: @49
>>     [testng]     flags: { }
>>     [testng]     locals: { 'jdk/nashorn/internal/objects/Global', 'java/lang/Object', 'java/lang/Object', integer, integer, 'jdk/nashorn/internal/objects/NativeRegExp' }
>>     [testng]     stack: { }
>>     [testng]   Bytecode:
>>     [testng]     0000000: bb03 0359 1d15 042b c700 09b2 02ba a700
>>     [testng]     0000010: 042b 2cc7 0009 b202 baa7 0004 2c2a b703
>>     [testng]     0000020: 063a 052b c700 0d19 0513 0307 03b6 030b
>>     [testng]     0000030: 572c c700 0d19 0513 030c 03b6 030b 5719
>>     [testng]     0000040: 05b0
>>     [testng]   Stackmap Table:
>>     [testng]     full_frame(@17,{Object[#2],Object[#708],Object[#708],Integer,Integer},{Uninitialized[#0],Uninitialized[#0],Integer,Integer})
>>     [testng]     full_frame(@18,{Object[#2],Object[#708],Object[#708],Integer,Integer},{Uninitialized[#0],Uninitialized[#0],Integer,Integer,Object[#708]})
>>     [testng]     full_frame(@28,{Object[#2],Object[#708],Object[#708],Integer,Integer},{Uninitialized[#0],Uninitialized[#0],Integer,Integer,Object[#708]})
>>     [testng]     full_frame(@29,{Object[#2],Object[#708],Object[#708],Integer,Integer},{Uninitialized[#0],Uninitialized[#0],Integer,Integer,Object[#708],Object[#708]})
>>     [testng]     append_frame(@49,Object[#784])
>>     [testng]     same_frame(@63)
>>     [testng]
>>     [testng] 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.newGlobal(Context.java:1240)
>>     [testng] 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.createGlobal(Context.java:1231)
>>     [testng] 	at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:171)
>>     [testng] 	at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.main(Shell.java:150)
>>     [testng] 	at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.main(Shell.java:126)
>>     [testng]
>>
>>
>>> Hi Kumar,
>>>
>>> FYI I reported https://gitlab.ow2.org/asm/asm/issues/317805 yesterday
>>> and to me seems that nashorn can be affected affected at least by this one as following:
>>> org.objectweb.asm.Type.getOpcode(Opcodes.IRETURN)
>>> is used by
>>> org.objectweb.asm.commons.InstructionAdapter#areturn
>>> which in his turn is used by
>>> jdk.nashorn.internal.runtime.linker.JavaAdapterBytecodeGenerator
>>>
>>> Hope this helps.
>>>
>>> Regards,
>>> Evgeny
>>>
>>>
>>> On Mon, Jan 8, 2018 at 7:24 PM Kumar Srinivasan <[email protected]> wrote:
>>>
>>> Hi Eric,
>>>
>>> We have encountered a regression in nasgen/nashorn, in our internal testing,
>>> will file ASM bug when we have more information.
>>>
>>>
>>> Kumar
>>>
>>>> The ASM 6.1-beta version has been released.
>>>>
>>>> Besides a new V10 constant for Java 10 class files, there are no new features. However, internally, a lot of changes have been made (see below; almost each line of code has changed). These extensive changes may have introduced some regressions, so please test this version thoroughly and report any bugs found, before we release the 6.1 version.
>>>>
>>>> Release notes:
>>>>
>>>> - xml package deprecated
>>>> - project layout changed to Maven style
>>>> - build system changed from Ant to Gradle
>>>> - coding style changed to Google Java style
>>>> - code quality and readability improved a lot
>>>> - code quality tracked with SonarQube (http://sonarqube.ow2.org/projects)
>>>> - performance improvements
>>>> - unit tests improved: migrated to JUnit 5, faster, coverage > 95%
>>>> - benchmarks improved: now use JMH (http://openjdk.java.net/projects/code-tools/jmh)
>>>> - new Gitlab Continuous Integration pipeline
>>>> - small bug fixes related to modules. See
>>>>    * https://gitlab.ow2.org/asm/asm/merge_requests/20/
>>>>    * https://gitlab.ow2.org/asm/asm/merge_requests/19/
>>>> - bug fixes:
>>>>    * #317800: Resizing jump instruction adds invalid stack frame to a class without frames
>>>>
>>>> Backward binary compatibility is preserved, but the behavior at runtime has changed in a few areas:
>>>> - ACC_SYNTHETIC flag vs Synthetic attribute, see https://gitlab.ow2.org/asm/asm/merge_requests/17
>>>> - numbering of synthetic parameters: see https://gitlab.ow2.org/asm/asm/merge_requests/56
>>>> - StringBuffer no longer used in util (Printer.buf deprecated, use stringBuilder instead)
>>>>
>>>> The ASM team
>>>>
>>>>
>>>
>>> --
>>> You receive this message as a subscriber of the [email protected] mailing list.
>>> To unsubscribe: mailto:[email protected]
>>> For general help: mailto:[email protected]?subject=help
>>> OW2 mailing lists service home page: http://www.ow2.org/wws
>>>
>>>


-- 
You receive this message as a subscriber of the [email protected] mailing list.
To unsubscribe: mailto:[email protected]
For general help: mailto:[email protected]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws