You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexei Fedotov (JIRA)" <ji...@apache.org> on 2006/12/07 19:11:23 UTC

[jira] Created: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

[drlvm] VM crashes instead of throwing AbstractMethodError
----------------------------------------------------------

                 Key: HARMONY-2528
                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
            Reporter: Alexei Fedotov


The following test perfectly compiles with javac, and throws 
java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
        at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
        at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
        at Test1.main(Test1.java:7)
when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.

import javax.management.monitor.*;
import javax.management.*;

public class Test1 {

   public static void main(String[] args) throws Exception {
       (new MonitorImpl()).getObservedObjects();
   }
}
class MonitorImpl extends javax.management.monitor.Monitor {
    @Override
    public void start() {}
    @Override
    public void stop() {}
}




-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Alexei Fedotov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2528?page=all ]

Alexei Fedotov updated HARMONY-2528:
------------------------------------

    Patch Info: [Patch Available]

All tests passed for ia32 platforms (including class library tests). The patch also contains several improvements according to the last section of http://wiki.apache.org/harmony/Code_Inspection%3a_compile%2ecpp

Please could you commit the patch?

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, AbstractMethodError_2.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Alexei Fedotov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2528?page=all ]

Alexei Fedotov updated HARMONY-2528:
------------------------------------

    Attachment: Test1.java
                AbstractMethodError.patch

The test should be compiled with standard javac to get a class file with abstract method. I'm testing the patch now.

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Attachments: AbstractMethodError.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Resolved: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2528?page=all ]

Gregory Shimansky resolved HARMONY-2528.
----------------------------------------

    Resolution: Fixed

Attached test passes now.

Patch from HARMONY-2906 has been applied to fix this issue. Please check that it was applied as expected.

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Assigned To: Gregory Shimansky
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, AbstractMethodError_2.patch, H2528-AME.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2528?page=comments#action_12461272 ] 
            
Gregory Shimansky commented on HARMONY-2528:
--------------------------------------------

I assume that the patch for *this* issue is actually the patch attached to HARMONY-2906, called abstract_method_error_3.patch.

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Assigned To: Gregory Shimansky
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, AbstractMethodError_2.patch, H2528-AME.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Alexei Fedotov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2528?page=comments#action_12461094 ] 
            
Alexei Fedotov commented on HARMONY-2528:
-----------------------------------------

HARMONY-2906   testing completed.

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Assigned To: Gregory Shimansky
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, AbstractMethodError_2.patch, H2528-AME.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Alexei Fedotov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2528?page=comments#action_12461036 ] 
            
Alexei Fedotov commented on HARMONY-2528:
-----------------------------------------

Gregory,

I will split my patch into two patches. One will target code inspection notes, and it will be orthogonal to Pavel's patch. I will file a new JIRA issue for that patch. The rest of my patch (the actual fix) will be the following code in compile_jit_a_method stub - only it will compete with Pavel's patch.

+    tmn_suspend_enable();
+    if (method->is_abstract()) {
+        compile_raise_exception("java/lang/AbstractMethodError", "Cannot compile", method);
+        tmn_suspend_disable();
+        return NULL;
+    }



> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Assigned To: Gregory Shimansky
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, AbstractMethodError_2.patch, H2528-AME.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Alexei Fedotov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2528?page=all ]

Alexei Fedotov updated HARMONY-2528:
------------------------------------

    Attachment: AbstractMethodError_2.patch

A questionable assertion is removed from the patch and filed as a separate issue, see HARMONY-2532.

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, AbstractMethodError_2.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2528?page=comments#action_12460816 ] 
            
Gregory Shimansky commented on HARMONY-2528:
--------------------------------------------

Both patches fail to apply to the current source tree. Also could we have some decision made about alternative approaches? I think you could at least give reasons to both ways and explain which one is better. Patch(es) have to be updated too.

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Assigned To: Gregory Shimansky
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, AbstractMethodError_2.patch, H2528-AME.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Closed: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Alexei Fedotov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexei Fedotov closed HARMONY-2528.
-----------------------------------


Gregory, thanks - the patch is applied as expected.

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Assigned To: Gregory Shimansky
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, AbstractMethodError_2.patch, H2528-AME.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

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


[jira] Updated: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Alexei Fedotov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2528?page=all ]

Alexei Fedotov updated HARMONY-2528:
------------------------------------

    Attachment: AbstractMethodError_1.patch

The patch: take two. An assertion was incorrect. Still testing.

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2528?page=all ]

Pavel Pervov updated HARMONY-2528:
----------------------------------

    Attachment: H2528-AME.patch

Here is alternative patch which fixes reported issue.

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, AbstractMethodError_2.patch, H2528-AME.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2528?page=comments#action_12461282 ] 
            
Gregory Shimansky commented on HARMONY-2528:
--------------------------------------------

Forgot to mention that the revision for this patch is 490881.

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Assigned To: Gregory Shimansky
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, AbstractMethodError_2.patch, H2528-AME.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2528?page=comments#action_12456911 ] 
            
Pavel Pervov commented on HARMONY-2528:
---------------------------------------

Alexei, as per your request, I reviewed your patch. First of all it contains lots of unrelated changes. I would suggest filing separate JIRA against changes requested in http://wiki.apache.org/harmony/Code_Inspection%3a_compile%2ecpp.

Commenting your fix, I would suggest making these changes in vm/vmcore/src/class_support/Prepare.cpp. There should be 'if' inserted for abstract methods where compile_me_stubs are assigned into methods' code addresses. Respective stub for throwing AME is already available there. Actually, I'll attach alternative patch by myself.

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, AbstractMethodError_2.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Assigned: (HARMONY-2528) [drlvm] VM crashes instead of throwing AbstractMethodError

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2528?page=all ]

Gregory Shimansky reassigned HARMONY-2528:
------------------------------------------

    Assignee: Gregory Shimansky

> [drlvm] VM crashes instead of throwing AbstractMethodError
> ----------------------------------------------------------
>
>                 Key: HARMONY-2528
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2528
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Assigned To: Gregory Shimansky
>         Attachments: AbstractMethodError.patch, AbstractMethodError_1.patch, AbstractMethodError_2.patch, H2528-AME.patch, Test1.java
>
>
> The following test perfectly compiles with javac, and throws 
> java.lang.AbstractMethodError: javax/management/monitor/Monitor.createMX4JMonitor()Lmx4j/monitor/MX4JMonitor;
>         at javax.management.monitor.Monitor.getMX4JMonitor(Monitor.java:54)
>         at javax.management.monitor.Monitor.getObservedObjects(Monitor.java:149)
>         at Test1.main(Test1.java:7)
> when used with mx4j implementation. DRLVM + JIT crashes trying to compile abstract method.
> import javax.management.monitor.*;
> import javax.management.*;
> public class Test1 {
>    public static void main(String[] args) throws Exception {
>        (new MonitorImpl()).getObservedObjects();
>    }
> }
> class MonitorImpl extends javax.management.monitor.Monitor {
>     @Override
>     public void start() {}
>     @Override
>     public void stop() {}
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira