You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Leo Li (JIRA)" <ji...@apache.org> on 2006/10/30 10:50:18 UTC

[jira] Created: (HARMONY-2002) IBM VME crashes while running derby with security manager installed.

IBM VME crashes while running derby with security manager installed.
--------------------------------------------------------------------

                 Key: HARMONY-2002
                 URL: http://issues.apache.org/jira/browse/HARMONY-2002
             Project: Harmony
          Issue Type: Bug
          Components: VM
            Reporter: Leo Li
         Attachments: derby_test.diff

During my trying to install security manage while running derby on Harmony, I found that IBM VME crashes even in the simplest test.

It reports:

Unhandled exception
Type=Segmentation error vmState=0x00040000

J9Generic_Signal_Number=00000004 ExceptionCode=c
A ContextFlags=0001003f
Handler1=7FE50390 Handler2=7FD074F0 Inaccessible
EDI=0152D000 ESI=00000000 EAX=00033D50 EBX=01636
ECX=00000002 EDX=11507068
EIP=11502F6A ESP=0F72FCCC EBP=0013FBC4
Module=D:\workspaces\workspace\Harmony\deploy\jd
Module_base_address=11500000 Offset_in_DLL=00002
Target=2_30_20060727_07300_lHdSMR (Windows XP 5.
CPU=x86 (2 logical CPUs) (0x7f67b000 RAM)

JavaVMInitArgs.nOptions=27:
    -Dcom.ibm.oti.vm.vmdir=D:\workspaces\workspa
fault\
    -Dcom.ibm.oti.vm.exe=D:\workspaces\workspace
.exe
    -Dcom.ibm.oti.vm.bootstrap.library.path=D:\w
oy\jdk\jre\bin;D:\workspaces\workspace\Harmony\d
    -Xbootclasspath/p:D:\workspaces\workspace\Ha
\luni-kernel.jar;D:\workspaces\workspace\Harmony
rity-kernel.jar
    -Xint
    -Duser.language=en
    -Duser.country=US
    -Dderby.system.home=D:\workspaces\test\myder
    -Dderby.infolog.append=true
    -Dij.defaultResourcePackage=/org/apache/derb
g/
    -Dframework=embedded
    -Djava.security.manager
    -Djava.security.policy=D:\workspaces\test\my
    -DderbyTesting.clientjar=file:/D:/workspaces
    -DderbyTesting.testjarpath=D:\workspaces\wor
es.jar
    -DderbyTesting.codejar=file:/D:/workspaces/w
    -DderbyTesting.testjar=file:/D:/workspaces/w
    -DderbyTesting.codedir=C:\Tools\jdks\classes
    -DderbyTesting.serverhost=localhost
    -DderbyTesting.clienthost=localhost
    -Dconsole.encoding=Cp1252
    -Djava.home=D:\workspaces\workspace\Harmony\
    -Djava.library.path=D:\workspaces\workspace\
\workspaces\workspace\Harmony\deploy\jdk\jre\bin
\Harmony\deploy\jdk\jre\bin\;D:\workspaces\works
    -Djava.class.path=D:\workspaces\workspace\de
jakarta-oro-2.0.8.jar;C:\Tools\jars\junit.jar
    _org.apache.harmony.vmi.portlib (extra info:
    -Xjcl:jclclear_23
    _j2se_j9=136448
util.getPropertyArg
K0319java.security.AccessControlException: Acces
 D:\workspaces\test\myderby\supersimple\supersim
        at java.security.AccessController.checkP
94)
        at java.lang.SecurityManager.checkPermis
        at java.lang.SecurityManager.checkRead(S
        at java.io.FileInputStream.<init>(FileIn
        at java.io.FileInputStream.<init>(FileIn
        at org.apache.derby.impl.tools.ij.util.g
        at org.apache.derby.impl.tools.ij.Main.m
        at org.apache.derby.impl.tools.ij.Main14
        at org.apache.derby.tools.ij.main(ij.jav

Generated system dump: C:\Documents and Settings

Thread: Finalizer thread (priority 5) (daemon) (
 NATIVE   java/util/zip/ZipFile.closeZipImpl()V
 00000008 java/util/zip/ZipFile.close()V
 00000001 java/util/zip/ZipFile.finalize()V

Thread: Gc Slave Thread (priority 5) (daemon)

Thread: DestroyJavaVM helper thread (priority 5)

If I commented out the close() in ZipFile.finalize(), it works well.
But actually after digging into it, I found  it is occurs  in hythread_moniter_enter():

IDATA VMCALL
hythread_monitor_enter (hythread_monitor_t monitor)
{
  hythread_t self = MACRO_SELF ();

  ASSERT (self);
  ASSERT (monitor);
  ASSERT (FREE_TAG != monitor->count);

  if (monitor->owner == self)
    {
>>Occurs here:      ASSERT (monitor->count >= 1);
      monitor->count++;

      if (IS_JLM_ENABLED (self))
	{
	  ASSERT (monitor->tracing);
	  monitor->tracing->recursive_count++;
	  monitor->tracing->enter_count++;
	}

      return 0;
    }

  return monitor_enter (self, monitor);
}

Besides, it seems to related with multi-thread, since I can always reproduce it in my machine, but on another I can do it after I add some synchronize mechanism.

I am looking to it. If anyone is interested in the topic, here is a patch, in whch I add some synchronize mechanism helping to reproduce the problem in  org.apache.derby.impl.tools.ij.Main. As to how to build and test it, pls refer to http://wiki.apache.org/harmony/Apache_Derby.

 

-- 
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-2002) IBM VME crashes while running derby with security manager installed.

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

Leo Li updated HARMONY-2002:
----------------------------

    Attachment: derby_test.diff

> IBM VME crashes while running derby with security manager installed.
> --------------------------------------------------------------------
>
>                 Key: HARMONY-2002
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2002
>             Project: Harmony
>          Issue Type: Bug
>          Components: VM
>            Reporter: Leo Li
>         Attachments: derby_test.diff
>
>
> During my trying to install security manage while running derby on Harmony, I found that IBM VME crashes even in the simplest test.
> It reports:
> Unhandled exception
> Type=Segmentation error vmState=0x00040000
> J9Generic_Signal_Number=00000004 ExceptionCode=c
> A ContextFlags=0001003f
> Handler1=7FE50390 Handler2=7FD074F0 Inaccessible
> EDI=0152D000 ESI=00000000 EAX=00033D50 EBX=01636
> ECX=00000002 EDX=11507068
> EIP=11502F6A ESP=0F72FCCC EBP=0013FBC4
> Module=D:\workspaces\workspace\Harmony\deploy\jd
> Module_base_address=11500000 Offset_in_DLL=00002
> Target=2_30_20060727_07300_lHdSMR (Windows XP 5.
> CPU=x86 (2 logical CPUs) (0x7f67b000 RAM)
> JavaVMInitArgs.nOptions=27:
>     -Dcom.ibm.oti.vm.vmdir=D:\workspaces\workspa
> fault\
>     -Dcom.ibm.oti.vm.exe=D:\workspaces\workspace
> .exe
>     -Dcom.ibm.oti.vm.bootstrap.library.path=D:\w
> oy\jdk\jre\bin;D:\workspaces\workspace\Harmony\d
>     -Xbootclasspath/p:D:\workspaces\workspace\Ha
> \luni-kernel.jar;D:\workspaces\workspace\Harmony
> rity-kernel.jar
>     -Xint
>     -Duser.language=en
>     -Duser.country=US
>     -Dderby.system.home=D:\workspaces\test\myder
>     -Dderby.infolog.append=true
>     -Dij.defaultResourcePackage=/org/apache/derb
> g/
>     -Dframework=embedded
>     -Djava.security.manager
>     -Djava.security.policy=D:\workspaces\test\my
>     -DderbyTesting.clientjar=file:/D:/workspaces
>     -DderbyTesting.testjarpath=D:\workspaces\wor
> es.jar
>     -DderbyTesting.codejar=file:/D:/workspaces/w
>     -DderbyTesting.testjar=file:/D:/workspaces/w
>     -DderbyTesting.codedir=C:\Tools\jdks\classes
>     -DderbyTesting.serverhost=localhost
>     -DderbyTesting.clienthost=localhost
>     -Dconsole.encoding=Cp1252
>     -Djava.home=D:\workspaces\workspace\Harmony\
>     -Djava.library.path=D:\workspaces\workspace\
> \workspaces\workspace\Harmony\deploy\jdk\jre\bin
> \Harmony\deploy\jdk\jre\bin\;D:\workspaces\works
>     -Djava.class.path=D:\workspaces\workspace\de
> jakarta-oro-2.0.8.jar;C:\Tools\jars\junit.jar
>     _org.apache.harmony.vmi.portlib (extra info:
>     -Xjcl:jclclear_23
>     _j2se_j9=136448
> util.getPropertyArg
> K0319java.security.AccessControlException: Acces
>  D:\workspaces\test\myderby\supersimple\supersim
>         at java.security.AccessController.checkP
> 94)
>         at java.lang.SecurityManager.checkPermis
>         at java.lang.SecurityManager.checkRead(S
>         at java.io.FileInputStream.<init>(FileIn
>         at java.io.FileInputStream.<init>(FileIn
>         at org.apache.derby.impl.tools.ij.util.g
>         at org.apache.derby.impl.tools.ij.Main.m
>         at org.apache.derby.impl.tools.ij.Main14
>         at org.apache.derby.tools.ij.main(ij.jav
> Generated system dump: C:\Documents and Settings
> Thread: Finalizer thread (priority 5) (daemon) (
>  NATIVE   java/util/zip/ZipFile.closeZipImpl()V
>  00000008 java/util/zip/ZipFile.close()V
>  00000001 java/util/zip/ZipFile.finalize()V
> Thread: Gc Slave Thread (priority 5) (daemon)
> Thread: DestroyJavaVM helper thread (priority 5)
> If I commented out the close() in ZipFile.finalize(), it works well.
> But actually after digging into it, I found  it is occurs  in hythread_moniter_enter():
> IDATA VMCALL
> hythread_monitor_enter (hythread_monitor_t monitor)
> {
>   hythread_t self = MACRO_SELF ();
>   ASSERT (self);
>   ASSERT (monitor);
>   ASSERT (FREE_TAG != monitor->count);
>   if (monitor->owner == self)
>     {
> >>Occurs here:      ASSERT (monitor->count >= 1);
>       monitor->count++;
>       if (IS_JLM_ENABLED (self))
> 	{
> 	  ASSERT (monitor->tracing);
> 	  monitor->tracing->recursive_count++;
> 	  monitor->tracing->enter_count++;
> 	}
>       return 0;
>     }
>   return monitor_enter (self, monitor);
> }
> Besides, it seems to related with multi-thread, since I can always reproduce it in my machine, but on another I can do it after I add some synchronize mechanism.
> I am looking to it. If anyone is interested in the topic, here is a patch, in whch I add some synchronize mechanism helping to reproduce the problem in  org.apache.derby.impl.tools.ij.Main. As to how to build and test it, pls refer to http://wiki.apache.org/harmony/Apache_Derby.
>  

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