harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Fursov" <mike.fur...@gmail.com>
Subject Re: [drlvm] Assertion when launching with a simple launcher
Date Mon, 04 Jun 2007 09:05:54 GMT
On 5/31/07, Gregory Shimansky <gshimansky@apache.org> wrote:
>
> Oliver Deakin wrote:
> > Hi all,
> >
> > I was taking a look at HARMONY-4006 and thought I'd try creating a
> > simple launcher as a test. I updated my federated build checkout and
> > rebuilt everything, giving me the usual hdk structure under the target
> > directory (drlvm+classlib). I can successfully use the Harmony launcher
> > to run simple classes (i.e. HelloWorld) but when I try to run HelloWorld
> > using my own launcher I get the following message:
> >
> >  EM: Can't read configuration from './client.emconf'
> >
> > and an assertion pop-up window appears giving me the following
> information:
> >
> >  Debug Assertion Failed!
> >  Program: C:\harmony\temp\jnitest\simpleLaunchFederated.exe
> >  File: dbgheap.c
> >  Line: 1132
> >  Expression: _CrtIsValidHeapPointer(pUserData)
> >
> > The stack trace windbg shows me at the point of assertion is:
> >
> >  ntdll!DbgBreakPoint
> >  ntdll!RtlpBreakPointHeap+0x28
> >  ntdll!RtlpValidateHeapEntry+0x113
> >  ntdll!RtlValidateHeap+0xe0
> >  kernel32!HeapValidate+0x14
> >  em!_CrtIsValidHeapPointer+0xa4
> > [f:\vs70builds\3077\vc\crtbld\crt\src\dbgheap.c @ 1807]
> >  em!_free_dbg_lk+0x102 [f:\vs70builds\3077\vc\crtbld\crt\src\dbgheap.c @
> > 1132]
> >  em!_free_dbg+0x41 [f:\vs70builds\3077\vc\crtbld\crt\src\dbgheap.c @
> 1070]
> >  em!operator delete+0xaa
> > [f:\vs70builds\3077\vc\crtbld\crt\src\dbgdel.cpp @ 54]
> >  em!std::allocator<char>::deallocate+0x17 [c:\program files\microsoft
> > visual studio .net 2003\vc7\include\xmemory @ 132]
> >  em!std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >  >::_Tidy+0x66 [c:\program files\microsoft visual studio .net
> > 2003\vc7\include\xstring @ 1519]
> >  em!std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >  >::~basic_string<char,std::char_traits<char>,std::allocator<char>
> >  >+0x1a [c:\program files\microsoft visual studio .net
> > 2003\vc7\include\xstring @ 458]
> >  em!LogParams::~LogParams+0x44
> >
> [c:\harmony\svn-checkouts\federated\working_vm\vm\port\include\logparams.h
> > @ 54]
> >  em!readFile+0x54b
> > [c:\harmony\svn-checkouts\federated\working_vm\vm\em\src\drlemimpl.cpp @
> > 332]
> >  em!DrlEMImpl::readConfiguration+0x366
> > [c:\harmony\svn-checkouts\federated\working_vm\vm\em\src\drlemimpl.cpp @
> > 355]
> >  em!DrlEMImpl::init+0x48
> > [c:\harmony\svn-checkouts\federated\working_vm\vm\em\src\drlemimpl.cpp @
> > 364]
> >  em!DrlEMFactory::createAndInitEMInstance+0xa9
> > [c:\harmony\svn-checkouts\federated\working_vm\vm\em\src\drlemimpl.cpp @
> > 55]
> >  em!CreateInstance+0x3c
> > [c:\harmony\svn-checkouts\federated\working_vm\vm\em\src\em_intf.cpp @
> 132]
> >  harmonyvm!CmCreateInstance+0xac
> >
> [c:\harmony\svn-checkouts\federated\working_vm\vm\vmstart\src\compmgr\component_manager_impl.cpp
> > @ 584]
> >  harmonyvm!process_properties_dlls+0x1bd
> >
> [c:\harmony\svn-checkouts\federated\working_vm\vm\vmcore\src\init\vm_init.cpp
> > @ 135]
> >
> >
> > I can successfully use exactly the same launcher to create the RI and J9
> > VMs and run simple classes, so was surprised to hit this problem with
> > the Harmony vm. Am I missing something?
>
> This stack trace looks similar to stack in HARMONY-3772. There is a
> patch there which changes localized logging output to plain and solves
> the problem with log4cxx destructors in this way. The main problem
> however is that EM cannot find client.emconf file and tries to print an
> error message.
>
>
EM uses 'org.apache.harmony.vm.vmdir' java property (O_A_H_VM_VMDIR in code)
to build a path to .emconf file
It looks like that we have this property set to '.' in this case. Is it
normal situation? If yes, we need another variable that will always point us
to a full path to the directory with VM.



-- 
Mikhail Fursov

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message