Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8289002

Minimal x86_64 VM build fails with GCC 11: 'this' pointer is null

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 20
    • 20
    • hotspot
    • b10
    • x86_64

      This is only partially solved by JDK-8289046. The remaining error is:

      ```
      In file included from /home/test/shipilev-jdk/src/hotspot/share/oops/arrayKlass.hpp:28,
                       from /home/test/shipilev-jdk/src/hotspot/share/oops/typeArrayKlass.hpp:28,
                       from /home/test/shipilev-jdk/src/hotspot/share/oops/typeArrayOop.hpp:29,
                       from /home/test/shipilev-jdk/src/hotspot/share/oops/constantPool.hpp:34,
                       from /home/test/shipilev-jdk/src/hotspot/share/oops/fieldInfo.hpp:28,
                       from /home/test/shipilev-jdk/src/hotspot/share/oops/instanceKlass.hpp:31,
                       from /home/test/shipilev-jdk/src/hotspot/share/classfile/javaClasses.hpp:29,
                       from /home/test/shipilev-jdk/src/hotspot/share/precompiled/precompiled.hpp:35:
      In member function 'bool Klass::is_instance_klass() const',
          inlined from 'static const InstanceKlass* InstanceKlass::cast(const Klass*)' at /home/test/shipilev-jdk/src/hotspot/share/oops/instanceKlass.hpp:1006:5,
          inlined from 'static InstanceKlass* InstanceKlass::cast(Klass*)' at /home/test/shipilev-jdk/src/hotspot/share/oops/instanceKlass.hpp:1001:43,
          inlined from 'static void DCmdFactory::send_notification_internal(JavaThread*)' at /home/test/shipilev-jdk/src/hotspot/share/services/diagnosticFramework.cpp:465:58:
      /home/test/shipilev-jdk/src/hotspot/share/oops/klass.hpp:623:134: error: 'this' pointer is null [-Werror=nonnull]
        623 | bool is_instance_klass() const { return assert_same_query(_kind <= InstanceStackChunkKlassKind, is_instance_klass_slow()); }
            | ~~~~~~~~~~~~~~~~~~~~~~^~
      ```

      This is specific to Minimal VM, because it disables "management" feature, and paths like these start to return NULL:

      ```
        static InstanceKlass* com_sun_management_internal_DiagnosticCommandImpl_klass(TRAPS)
            NOT_MANAGEMENT_RETURN_(NULL);
      ```

            shade Aleksey Shipilev
            iklam Ioi Lam
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: