Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 61381 invoked from network); 12 Dec 2006 21:02:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Dec 2006 21:02:38 -0000 Received: (qmail 28070 invoked by uid 500); 12 Dec 2006 21:02:43 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 27900 invoked by uid 500); 12 Dec 2006 21:02:43 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 27891 invoked by uid 99); 12 Dec 2006 21:02:43 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Dec 2006 13:02:43 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of gcjhd-harmony-dev@m.gmane.org designates 80.91.229.2 as permitted sender) Received: from [80.91.229.2] (HELO ciao.gmane.org) (80.91.229.2) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Dec 2006 13:02:29 -0800 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1GuElH-0006pc-FC for dev@harmony.apache.org; Tue, 12 Dec 2006 22:02:03 +0100 Received: from msfwpr01.ims.intel.com ([62.118.80.132]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 12 Dec 2006 22:02:03 +0100 Received: from gshimansky by msfwpr01.ims.intel.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 12 Dec 2006 22:02:03 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: dev@harmony.apache.org From: Gregory Shimansky Subject: Re: [drlvm][em64t] drlvm broken on em64t? Date: Wed, 13 Dec 2006 00:01:47 +0300 Lines: 89 Message-ID: References: <457EC663.5040209@pobox.com> <457EE270.2040602@pobox.com> <457EEC45.20308@pobox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: msfwpr01.ims.intel.com User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) In-Reply-To: <457EEC45.20308@pobox.com> Sender: news X-Virus-Checked: Checked by ClamAV on apache.org Geir Magnusson Jr. wrote: > This must be from the recent properties refactoring... I've found out the reason of the change. It is r486100 in classlib. Previously there was no call to GetSystemProperty about org.apache.harmony.boot.class.path. I've fixed drlvm function GetSystemProperty to return VMI_ERROR_NOT_FOUND in case a property cannot be found and set valuePtr to NULL (or otherwise luniglob crashes). This still doesn't work because org.apache.harmony.boot.class.path is not set anywhere, and then bootstrap class loader fails to initialize. I'm still trying to find out what else had changed. > Gregory Shimansky wrote: >> Geir Magnusson Jr. wrote: >>> No one? >> >> I think I've reproduced the same problem on ia32 fedora (on other >> linuxes everything works ok). I'm trying to investigate. The problem >> is in function GetSystemProperty in vm/vmi/src/vmi.cpp >> >> 146 vmiError JNICALL >> 147 GetSystemProperty(VMInterface *vmi, char *key, char **valuePtr) >> 148 { >> 149 char* value = get_property(key, JAVA_PROPERTIES); >> 150 *valuePtr = strdup(value); >> 151 destroy_property_value(value); >> 152 return VMI_ERROR_NONE; >> 153 } >> >> called like this: >> >> GetSystemProperty (vmi=0x97ca60, key=0x941e5c >> "org.apache.harmony.boot.class.path", valuePtr=0xbf98cd18) >> >> The function get_property returns NULL, so strdup in line 150 crashes. >> I don't know yet why >> get_property("org.apache.harmony.boot.class.path", JAVA_PROPERTIES) >> returns NULL, but calling strdup unconditionally doesn't seem to be a >> good idea to me too. >> >>> Geir Magnusson Jr. wrote: >>>> Trying to get the snapshots out... :) >>>> >>>> I was trying r486163 and drlvm just crashes... >>>> >>>> Anyone else seeing this? I'm on ubuntu 6 x86_64. I don't want to >>>> blame luni, but w/ strace, I see the following : >>>> >>>> open("/home/geir/dev/apache/harmony/enhanced/trunk/working_vm/build/deploy/jdk/jre/bin/libhyluni.so", >>>> O_RDONLY) = 3 >>>> read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 i\0\0\0"..., >>>> 640) = 640 >>>> fstat(3, {st_mode=S_IFREG|0755, st_size=1238859, ...}) = 0 >>>> mmap(NULL, 1263224, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, >>>> 3, 0) = 0x2aaabf6e8000 >>>> mprotect(0x2aaabf71d000, 1046136, PROT_NONE) = 0 >>>> mmap(0x2aaabf81c000, 4096, PROT_READ|PROT_WRITE, >>>> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x34000) = 0x2aaabf81c000 >>>> close(3) = 0 >>>> rt_sigaction(SIGPIPE, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0 >>>> stat("/home/geir/dev/apache/harmony/enhanced/trunk/working_vm/build/deploy/jdk/jre/lib/boot/bootclasspath.properties", >>>> {st_mode=S_IFREG|0644, st_size=6360, ...}) = 0 >>>> open("/home/geir/dev/apache/harmony/enhanced/trunk/working_vm/build/deploy/jdk/jre/lib/boot/bootclasspath.properties", >>>> O_RDONLY) = 3 >>>> fstat(3, {st_mode=S_IFREG|0644, st_size=6360, ...}) = 0 >>>> mmap(NULL, 6360, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = >>>> 0x2aaabf81d000 >>>> close(3) = 0 >>>> munmap(0x2aaabf81d000, 6360) = 0 >>>> --- SIGSEGV (Segmentation fault) @ 0 (0) --- >>>> rt_sigaction(SIGSEGV, {SIG_DFL}, {0x2aaaac098530, [], >>>> SA_RESTORER|SA_STACK|SA_SIGINFO, 0x2aaaab8554d0}, 8) = 0 >>>> rt_sigreturn(0) = 0 >>>> --- SIGSEGV (Segmentation fault) @ 0 (0) --- >>>> +++ killed by SIGSEGV +++ >>>> >>>> >>>> >>>> geir >>> >> >> > -- Gregory