You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Gregory Shimansky (JIRA)" <ji...@apache.org> on 2007/05/16 16:19:16 UTC

[jira] Updated: (HARMONY-3161) [drlvm][jit] vm crash while playing with JSlider swing component

     [ https://issues.apache.org/jira/browse/HARMONY-3161?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky updated HARMONY-3161:
---------------------------------------

    Summary: [drlvm][jit] vm crash while playing with JSlider swing component  (was: [drlvm] vm crash while playing with JSlider swing component)

> [drlvm][jit] vm crash while playing with JSlider swing component
> ----------------------------------------------------------------
>
>                 Key: HARMONY-3161
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3161
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Harmony r506436 on Debian Linux
>            Reporter: Alexei Zakharov
>            Priority: Minor
>
> Let's take the following piece of code
> JSliderTest.java:
> ---
> import javax.swing.JFrame;
> import javax.swing.JSlider;
> public class JSliderTest {
>     public static void main(String[] args) {
>         JFrame f = new JFrame();
>         JSlider s = new JSlider();
>         s.setEnabled(true);
>         f.getContentPane().add(s);
>         f.setSize(100, 100);
>         f.show();
>     }
> } 
> and run it on the recent DRLVM build: 
>  $DRLVM_HOME/bin/java JSliderTest
> Now
> 1. Press and hold "left arrow" keyboard button
> 2. Position mouse pointer to the right of the slider 
> 3. Click many times on the left mouse button
> 4. If the slider reach the mouse pointer goto step 5
> 5. Press and hold "right arrow" keyboard button
> 6. Position mouse pointer to the left of the slider 
> 7. Click many times on the left mouse button
> 8. If the slider reach the mouse pointer goto step 1
> 9. repeat steps 1-8 until VM crash occured :-) It takes me several seconds
> SIGSEGV in VM code.
> Stack trace:
>         1: Jitrino::Ia32::operator==(Jitrino::Ia32::SpillGen::Op const&, Jitrino::Ia32::Inst const*) (??:-1)
>         2: ?? (00197d39
> :197)
>         3: Jitrino::Ia32::SpillGen::Opline::isUse(Jitrino::Ia32::Inst const*) const (??:-1)
>         4: Jitrino::Ia32::SpillGen::loadOpnd(Jitrino::Ia32::SpillGen::Opline&, Jitrino::Ia32::SpillGen::Instx*, Jitrino::Ia32::Opnd*) (??:-1)
>         5: Jitrino::Ia32::SpillGen::assignReg(Jitrino::Ia32::SpillGen::Opline&, Jitrino::Ia32::SpillGen::Instx*, Jitrino::Ia32::SpillGen::Instx*, RegName) (??:-1)
>         6: Jitrino::Ia32::SpillGen::tryRegister(Jitrino::Ia32::SpillGen::Opline&, Jitrino::Ia32::Constraint, unsigned int) (??:-1)
>         7: Jitrino::Ia32::SpillGen::pass1() (??:-1)
>         8: Jitrino::Ia32::SpillGen::runImpl() (??:-1)
>         9: Jitrino::Ia32::SessionAction::run() (??:-1)
>         10: Jitrino::runPipeline(Jitrino::CompilationContext*) (??:-1)
>         11: Jitrino::compileMethod(Jitrino::CompilationContext*) (??:-1)
>         12: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (??:-1)
>         13: JIT_compile_method_with_params (??:-1)
>         14: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/vmcore/include/dll_jit_intf.h:86)
>         15: compile_do_compilation_jit(Method*, JIT*) (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp:645)
>         16: vm_compile_method (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp:2469)
>         17: DrlEMImpl::methodProfileIsReady(MethodProfile*) (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/em/src/DrlEMImpl.cpp:778)
>         18: EBProfileCollector::syncModeJitCallback(MethodProfile*) (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/em/src/EBProfileCollector.cpp:192)
>         19: eb_profiler_sync_mode_callback(void*) (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/em/src/EBProfileCollector.cpp:92)
>         20: IP is 0x41F6603A <native code>
>         21: ?? (??:-1)
>         22: java/awt/geom/FlatteningPathIterator.evaluate()V (FlatteningPathIterator.java:160)
>         23: java/awt/geom/FlatteningPathIterator.currentSegment([F)I (FlatteningPathIterator.java:269)
>         24: org/apache/harmony/awt/gl/render/JavaShapeRasterizer.makeBuffer(Ljava/awt/geom/PathIterator;D)V (JavaShapeRasterizer.java:193)
>         25: org/apache/harmony/awt/gl/render/JavaShapeRasterizer.rasterize(Ljava/awt/Shape;D)Lorg/apache/harmony/awt/gl/MultiRectArea; (JavaShapeRasterizer.java:405)
>         26: org/apache/harmony/awt/gl/CommonGraphics2D.fill(Ljava/awt/Shape;)V (CommonGraphics2D.java:731)
>         27: org/apache/harmony/awt/gl/CommonGraphics2D.fillRect(IIII)V (CommonGraphics2D.java:763)
>         28: javax/swing/plaf/ComponentUI.update(Ljava/awt/Graphics;Ljavax/swing/JComponent;)V (ComponentUI.java:32)
>         29: javax/swing/JComponent.paintComponent(Ljava/awt/Graphics;)V (JComponent.java:895)
>         30: javax/swing/JComponent.paint(Ljava/awt/Graphics;)V (JComponent.java:998)
>         31: javax/swing/JComponent.paintDoubleBuffered(Ljava/awt/Graphics;)V (JComponent.java:1430)
>         32: javax/swing/JComponent.paintImmediately(Ljava/awt/Rectangle;)V (JComponent.java:1011)
>         33: javax/swing/RepaintManager.paintDirtyRegions()V (RepaintManager.java:174)
>         34: javax/swing/RepaintManager$1.run()V (RepaintManager.java:66)
>         35: java/awt/event/InvocationEvent.runAndNotify()V (InvocationEvent.java:89)
>         36: java/awt/event/InvocationEvent.dispatch()V (InvocationEvent.java:77)        37: java/awt/EventQueueCore.dispatchEventImpl(Ljava/awt/AWTEvent;)V (EventQueueCore.java:135)
>         38: java/awt/EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V (EventQueue.java:144)
>         39: java/awt/EventDispatchThread.runModalLoop(Ljava/awt/ModalContext;)V (EventDispatchThread.java:55)
>         40: java/awt/EventDispatchThread.run()V (EventDispatchThread.java:45)
>         41: vm_invoke_native_array_stub (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
>         42: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
>         43: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/em/src/DrlEMImpl.cpp:516)
>         44: ExecuteMethod (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/em/src/em_intf.cpp:44)
>         45: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/ini.cpp:56)
>         46: call_method_no_ref_result (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp:189)
>         47: CallVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp:227)
>         48: wrapper_proc (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_java_basic.c:96)
>         49: thread_start_proc (/home/ayzakhar/projects/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_basic.c:725)
>         50: dummy_worker (threadproc/unix/thread.c:139)
>         51: start_thread (??:-1)
>         52: clone (??:-1)
> <end of stack trace>
> Segmentation fault
> Please note, that this issue is Linux-specific. I was unable to reproduce it on Windows.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.