harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leo Li (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-1836) [drlvm]Error "Assertion Failed"in running derby
Date Thu, 12 Oct 2006 07:14:35 GMT
[drlvm]Error "Assertion Failed"in running derby
-----------------------------------------------

                 Key: HARMONY-1836
                 URL: http://issues.apache.org/jira/browse/HARMONY-1836
             Project: Harmony
          Issue Type: Bug
          Components: App-Oriented Bug Reports
         Environment: windowsxp, derby
            Reporter: Leo Li


 I have tried to run derby on drlvm, but it reported error:
 
       Assertion failed!
       Progrma: ...java.exe
       File:Object_handles.cpp
       Line:99
       
       Expression: NULL==*p || (*p>=vm_heap_base_address() && *p<vm_heap_ceiling_address())
         
After I debug into it I got
(1)
Unhandled exception at 0x00711eed (harmonyvm.dll) in java.exe: User breakpoint.
 
(2)The call stack is
> harmonyvm.dll!_assert(const char * expr=0x007bd848, const char * filename=0x007bd800,
unsigned int lineno=99)  Line 295 C
  harmonyvm.dll!GcFrame::add_object(ManagedObject * * p=0x0013e9cc)  Line 99 + 0x31 C++ 
  harmonyvm.dll!compile_protect_arguments(Method * method=0x0393da50, GcFrame * gc=0x0013e95c)
 Line 113 C++
  harmonyvm.dll!compile_jit_a_method(Method * method=0x0393da50)  Line 824 + 0xd C++
  013900dd() 
  harmonyvm.dll!VM_Statistics::get_vm_stats()  Line 325 + 0x14 C++
  harmonyvm.dll!rth_get_interface_vtable(ManagedObject * obj=, Class * iid=)  Line 674 + 0xc
C++

(3)object_handles.cpp
void GcFrame::add_object(ManagedObject** p)
{
    assert(p);

//fails here:
    assert(NULL == *p || (*p >= vm_heap_base_address()
        && *p < vm_heap_ceiling_address()));


    assert(!hythread_is_suspend_enabled());

    ensure_capacity();
    nodes->elements[nodes->obj_size+nodes->mp_size] = nodes->elements[nodes->obj_size];
    nodes->elements[nodes->obj_size] = (void**)p;
    nodes->obj_size++;
}

Here is the simple steps to reproduce the error:
1.Build the derby  as follows on your machine :
http://svn.apache.org/repos/asf/db/derby/code/trunk/BUILDING.txt
Maybe we should download several other jars in this step.:)
Note: "ant all" to create both derby and its tests. 
   
2.Add a new class that extends from org.apache.derbyTesting.functionTests.harness.jvm
   for drlvm the class should be called jdk122.java, which can be made by replace all "13"
with "122" in the source code of jdk13.java which is already in DERBY_SOURCE_ROOT\java\testing\org\apache\derbyTesting\functionTests\harness
and build it.

3.
set path to bin directory of drlvm;
set classpath to DERBY_SOURCE_ROOT\classes, junit.jar and jakarta-oro-2.0.8.jar.

4. runs the simplest test:
java org.apache.derbyTesting.functionTests.harness.RunTest lang/supersimple.sql

-- 
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

        

Mime
View raw message