On May 10, 2011, at 11:01 PM, David Blevins wrote: > > On May 10, 2011, at 6:57 PM, David Blevins wrote: > >> 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. > > 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. > > 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. > > 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. 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
