Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] Two versions of ASM 9.3.0


I found that the latest ASM or more likely the now Java 11 Equinox broke the @NonNull test in the OCL CG that had stuck at ASM5 initialization.

I therefore replaced the init by a reflective scan to discover what the prevailing latest version of ASM is. (OCL mindlessly uses whatever Xtext / the platform provides.)

    private static int ASM_VERSION = Opcodes.ASM5;        // Default to first Java 8 version

    static {
        try {
            for (int i = 6; true; i++) {                // Loop for as many versions are available
                Field asmField = org.objectweb.asm.Opcodes.class.getField("ASM" + i);
                ASM_VERSION = asmField.getInt(null);
        } catch (Throwable exception) {

and used it as

            ClassVisitor cv = new ClassVisitor(ASM_VERSION)


Ed Willink

On 06/05/2022 10:58, Christian Dietrich wrote:

The main reason we use a "fixed" asm version is the habit of asm in the past dropping "EXPERMENTAL" constants for newer java versions
and thus code that we might compile against asm 9.x wont run with asm 9.x+1 anymore
so if we use a strict range we dont have to pay extra extra attention about the (NOT)use of the constants that can be deleted later

Am 06.05.22 um 11:39 schrieb Ed Merks:


I suspect it's okay, but it's definitely a bit confusing. 

I believe the eclipse/plugins/org.objectweb.asm_9.3.0.jar is present because it hasn't been garbage collected yet.  As your console indicates, only the Orbit version is resolved and the About dialog shows that too:

We see here too that the direct-from-maven bundles generally have poor provider/name information.

These are the org.objectweb.asm.* bundles in the latest 2022-06/202205061000, i.e., a bunch of duplicate 9.2.0 versions, but for 9.3.0, only the Orbit version of org.objectweb.asm along with the platform's version of org.objectweb.asm.tree.

Why are these all there in the first place? 

This view shows each duplicate org.objectweb.asm.* with nested capabilities filtered to those to which a requirement is resolved that is exclusively resolved only to that specific IU's capability.

So we can see that org.objectweb.asm.tree is present only because PDE requires it.  We can see that Xtext and Platform require the 9.3 version and while the Eclipse does not preclude a 9.4 version, Xtext's bundle requirements do exclude 9.4.  I wonder if there is a good reason for to exclude 9.4?

We can also see that ECF, EclEmma, and Linux Tools will need to take action to eliminate the 9.2 versions.  I wonder if they are paying attention?

It would seem better to me if the Platform used the Orbit versions to keep things more consistent...


On 06.05.2022 02:08, Jonah Graham wrote:

On Tue, 19 Apr 2022 at 18:26, Jonah Graham <jonah@xxxxxxxxxxxxxxxx> wrote:

OK - in that case we have some specific SimRel testing to do:

1- Which bundles ends up SimRel - or do both end up there. I assume that it will be the Orbit one because it is more recent as far as p2 is concerned (not sure, just best guess).

In 4.24 SDK there is the Maven version of asm and asm.tree.
In 2022-06 M2 p2 repo there is Maven version of asm.tree (from platform p2 repo) and Orbit version of asm (from Xtext's p2 repo)
2- Starting from the SDK, does installing features from SimRel cause both to be installed, and if so, are both resolved.

Starting with M2 SDK, installing Xtext SDK from 2022-06 M2 simrel causes asm.tree from Orbit to be installed:

osgi> ss org.objectweb.asm
"Framework is launched."

id State       Bundle
283 RESOLVED    org.objectweb.asm.tree_9.3.0
374 RESOLVED    org.objectweb.asm_9.3.0.v20220409-0157

Both versions of asm are in my plugins directory after installing xtext:

$ ll eclipse/plugins/*asm*
-rw-r--r-- 1 jonah jonah 122176 Apr 28 19:00 eclipse/plugins/org.objectweb.asm_9.3.0.jar
-rw-rw-r-- 1 jonah jonah 136049 May  5 19:57 eclipse/plugins/org.objectweb.asm_9.3.0.v20220409-0157.jar
-rw-r--r-- 1 jonah jonah  52669 Apr 28 19:00 eclipse/plugins/org.objectweb.asm.tree_9.3.0.jar

So is that OK? 

cross-project-issues-dev mailing list
To unsubscribe from this list, visit

cross-project-issues-dev mailing list
To unsubscribe from this list, visit

Vorstand/Board: Jens Wagener (Vors./chairman), Dr. Stephan Eberle, Abdelghani El-Kacimi, Wolfgang Neuhaus, Franz-Josef Schuermann
Aufsichtsrat/Supervisory Board: Michael Neuhaus (Vors./chairman), Harald Goertz, Eric Swehla
Sitz der Gesellschaft/Registered Office: Am Brambusch 15-24, 44536 Lünen (Germany)
Registergericht/Registry Court: Amtsgericht Dortmund | HRB 20621

cross-project-issues-dev mailing list
To unsubscribe from this list, visit


Back to the top