Harmony
  1. Harmony
  2. HARMONY-1911

[drlvm][opt] failed assert in class_get_addr_of_constant

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: DRLVM
    • Labels:
      None
    • Environment:
      SUSE9
    • Patch Info:
      Patch Available

      Description

      To reproduce:
      ./java -Xem:opt -cp $classlib/modules/swing/bin/test:junit.jar:$classlib/deploy/build/test/support.jar junit.textui.TestRunner javax.swing.colorchooser.AbstractColorChooserPanelTest

      java: /export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/init/vm.cpp:151: const void* class_get_addr_of_constant(Class*, unsigned int): Assertion `(cp[0].tags[cp_index] & 0x0F) != CONSTANT_String' failed.
      SIGABRT in VM code.
      Stack trace:
      1: ?? (??:-1)
      2: abort (??:-1)
      3: __assert_fail (??:-1)
      4: class_get_addr_of_constant(Class*, unsigned int) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/init/vm.cpp:153)
      5: class_get_const_addr (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/class_support/C_Interface.cpp:869)
      6: Jitrino::DrlVMCompilationInterface::getConstantValue(Jitrino::MethodDesc*, unsigned int) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/vm/drl/DrlVMInterface.cpp:894)
      7: .L1127 (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:3430)
      8: Jitrino::JavaByteCodeTranslator::checkForArrayInitializer(Jitrino::Opnd*, unsigned char const*, unsigned int, unsigned int) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:3279)
      9: .L786 (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:2142)
      10: .L234 (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/translator/java/JavaByteCodeParser.cpp:619)
      11: Jitrino::ByteCodeParser::parse(Jitrino::ByteCodeParserCallback*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/translator/ByteCodeParser.h:70)
      12: Jitrino::JavaTranslator::translateMethod(Jitrino::CompilationInterface&, Jitrino::MethodDesc&, Jitrino::IRBuilder&) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/translator/java/JavaTranslator.cpp:58)
      13: Jitrino::TranslatorSession::translate() (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/translator/TranslatorIntfc.cpp:62)
      14: Jitrino::TranslatorSession::run() (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/translator/TranslatorIntfc.cpp:44)
      15: Jitrino::runPipeline(Jitrino::CompilationContext*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/main/Jitrino.cpp:226)
      16: Jitrino::compileMethod(Jitrino::CompilationContext*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/main/Jitrino.cpp:261)
      17: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/main/Jitrino.cpp:286)
      18: JIT_compile_method_with_params (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:282)
      19: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/include/dll_jit_intf.h:86)
      20: compile_do_compilation_jit(Method*, JIT*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/jit/compile.cpp:700)
      21: vm_compile_method (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/class_support/C_Interface.cpp:2538)
      22: DrlEMImpl::compileMethod(Method*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/em/src/DrlEMImpl.cpp:520)
      23: CompileMethod (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/em/src/em_intf.cpp:49)
      24: compile_do_compilation (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/jit/compile.cpp:780)
      25: compile_jit_a_method(Method*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/jit/compile.cpp:828)
      26: IP is 0x410D0172 <native code>
      27: javax/swing/colorchooser/AbstractColorChooserPanel.installChooserPanel(Ljavax/swing/JColorChooser;)V (AbstractColorChooserPanel.java:-1)
      28: javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler.propertyChange(Ljava/beans/PropertyChangeEvent;)V (BasicColorChooserUI.java:-1)
      29: java/beans/PropertyChangeSupport.doFirePropertyChange(Ljava/beans/PropertyChangeEvent;)V (PropertyChangeSupport.java:-1)
      30: java/beans/PropertyChangeSupport.firePropertyChange(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V (PropertyChangeSupport.java:59)
      31: java/awt/Component.firePropertyChangeImpl(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V (Component.java:-1)
      32: java/awt/Component.firePropertyChange(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V (Component.java:-1)
      33: javax/swing/JColorChooser.setChooserPanels([Ljavax/swing/colorchooser/AbstractColorChooserPanel;)V (JColorChooser.java:-1)
      34: javax/swing/plaf/basic/BasicColorChooserUI.installUI(Ljavax/swing/JComponent;)V (BasicColorChooserUI.java:-1)
      35: javax/swing/JComponent.setUI(Ljavax/swing/plaf/ComponentUI;)V (JComponent.java:-1)
      SIGSEGV in VM code.
      Stack trace:
      36: Jitrino::Ia32::StackInfo::readByteSize(unsigned char const*) const (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/codegenerator/ia32/Ia32StackInfo.cpp:107)
      37: Jitrino::Ia32::RuntimeInterface::getBcLocationForNative(Jitrino::MethodDesc*, unsigned long long, unsigned short*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp:78)
      38: Jitrino::Jitrino::GetBcLocationForNative(Jitrino::MethodDesc*, unsigned long long, unsigned short*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/main/Jitrino.cpp:358)
      39: get_bc_location_for_native (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:590)
      40: Dll_JIT::get_bc_location_for_native(Method*, void*, unsigned short*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/include/dll_jit_intf.h:240)
      41: get_file_and_line (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/stack/stack_trace.cpp:60)
      42: st_get_java_method_info (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/stack/stack_dump.cpp:196)
      43: st_print_stack(Registers*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/stack/stack_dump.cpp:242)
      44: abort_handler(int, siginfo*, void*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/util/linux/signals_ia32.cpp:614)
      <end of stack trace>

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Geir Magnusson Jr
            Reporter:
            Alexey Varlamov
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development