Return-Path: X-Original-To: apmail-geronimo-dev-archive@www.apache.org Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 363945ABA for ; Thu, 12 May 2011 13:01:05 +0000 (UTC) Received: (qmail 60763 invoked by uid 500); 12 May 2011 13:01:03 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 60711 invoked by uid 500); 12 May 2011 13:01:03 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 60704 invoked by uid 99); 12 May 2011 13:01:03 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 May 2011 13:01:03 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of kevan.miller@gmail.com designates 209.85.160.182 as permitted sender) Received: from [209.85.160.182] (HELO mail-gy0-f182.google.com) (209.85.160.182) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 May 2011 13:00:55 +0000 Received: by gyg13 with SMTP id 13so627014gyg.13 for ; Thu, 12 May 2011 06:00:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:content-type:mime-version:subject:from :in-reply-to:date:content-transfer-encoding:message-id:references:to :x-mailer; bh=X+XjohK5MxMFjqpO+q2szIeyLYYWvalVe/2zeXTiJOo=; b=D7ZxczSantljHLOzogUlwGZhTaIEZmwG3HH4RUa1+IqlPDNN0XZwqJBRn0ZNAU0+yw zjosYiY2p+8igHTdraOMYjC2jksBkaS1+Ca12ZnXwcHaHp7pkgI4rABXTK6Sql2T+ZQw AU/qrczkr7fe40wrMDg+KiW2QQA0V3R6FKC8g= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=content-type:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to:x-mailer; b=v2Nc5vxGWNKBor17ZwCU6IDD1wRraRGC35OOjc08VbS18C5we8pHMuyN+XrsD9Zopy M3AgFAZu18GUB1fTIhiCY7/u69I4Nv53JLt9HA4j3x8cxw9p8G8XousLFjsnMF9Uaz99 kMHNkMdzP+5VQXQpS9cxiXi/aS/MUb4bhqTVc= Received: by 10.101.145.37 with SMTP id x37mr114144ann.22.1305205235097; Thu, 12 May 2011 06:00:35 -0700 (PDT) Received: from coltrane-009027038156.raleigh.ibm.com (bi01p1.nc.us.ibm.com [129.33.49.251]) by mx.google.com with ESMTPS id d20sm783499ang.17.2011.05.12.06.00.31 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 12 May 2011 06:00:33 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Apple Message framework v1084) Subject: Re: LinkageError woes From: Kevan Miller In-Reply-To: <95A04997-7DF5-4D60-94BE-ACB37BF52D74@gmail.com> Date: Thu, 12 May 2011 09:00:30 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: References: <46738C49-4ACD-4BFE-8ED5-6CD198450F8C@gmail.com> <99D3BD9A-ECA4-45BE-A0A3-FBEF06CBBDE5@gmail.com> <6E6249FE-D79A-4269-9ECC-8ACBE10BE688@gmail.com> <39AD0332-A07A-4E62-B12A-AC4A8EF43518@gmail.com> <95A04997-7DF5-4D60-94BE-ACB37BF52D74@gmail.com> To: dev@geronimo.apache.org X-Mailer: Apple Mail (2.1084) On May 10, 2011, at 11:01 PM, David Blevins wrote: >=20 > On May 10, 2011, at 6:57 PM, David Blevins wrote: >=20 >> I have a hunch that eagerly loading annotations *and* enums might do = the trick. Going to see if that is the case as that might give us more = information about the issue and potentially a workaround that might be = one we can stomach. Loading all the classes eagerly is not ok, but = eagerly loading annotation and enum classes might be livable till we can = find the real issue. >=20 > Looks like eagerly loading all the application's annotations and enums = twice does the trick. The first time fails with the LinkageError and = the second time works. >=20 > Currently performing some magic in debugger with evaluating = expressions to get this accomplished. Not going to codify it just yet, = but if we wanted this as a hack as an implemented workaround we'd need = to use ASM to scrape and get a list of all annotation and enum classes, = put that data in perhaps a gbean that is setup to load on app startup = with a dependency on the app classloader, then have that gbean do the = double load. The xbean-finder code doesn't currently have the ability = to list annotations and enums -- we'd have to add it or scrape again. >=20 > Hopefully we can find the real issue and not have to do that. So, I swapped a bit more state back in (how quickly I forget). ClassFile = transformation driven by OpenJPA is causing this error. I re-opened our = original Jira. I created an Equinox bug report and they've created a = patch, which seems to fix our problem.=20 There will be the question of how we pick up the fix within Geronimo. = The patch is on Equinox 3.7 -- something we probably want to pick up = anyway. --kevan