You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by Dave <sn...@gmail.com> on 2007/09/12 04:22:31 UTC

Want to upgrade Roller to OpenJPA 1.0 but locks up

I'm trying to upgrade the Roller 4.0 code base from OpenJPA 0.9.7 to
OpenJPA 1.0 but I'm running into a blocking issue.

The <openjpac> task that we use to enhance our POJOs is locking up
during the build process. There are no error messages or stack traces,
but the CPU  goes to about 98% (on my core duo MacBook pro) and Ant
just hangs.

Any hints on how I could debug this problem?

- Dave

Re: Want to upgrade Roller to OpenJPA 1.0 but locks up

Posted by Patrick Linskey <pl...@gmail.com>.
Great!

-Patrick

On 9/14/07, Dave <sn...@gmail.com> wrote:
> On 9/14/07, Dave <sn...@gmail.com> wrote:
> > On 9/13/07, Patrick Linskey <pl...@gmail.com> wrote:
> > > I think that this is OPENJPA-335 [1]. I just checked in a fix to 1.0.x
> > > that works against your use case. It'll be available in the 1.0.1 and
> > > 1.1.0 snapshots in a few hours.
> >
> > > [1] https://issues.apache.org/jira/browse/OPENJPA-335
> >
> > That must be it. Roller is guilty of "logic in getters for entities
> > with property access". I'll grab a 1.0.1 snapshot and try it out.
> > Thanks for the help.
>
> Just a follow up, using the latest 1.0.1-SNAPSHOT solved this problem
>
> Thanks again, Dave
>


-- 
Patrick Linskey
202 669 5907

Re: Want to upgrade Roller to OpenJPA 1.0 but locks up

Posted by Dave <sn...@gmail.com>.
On 9/14/07, Dave <sn...@gmail.com> wrote:
> On 9/13/07, Patrick Linskey <pl...@gmail.com> wrote:
> > I think that this is OPENJPA-335 [1]. I just checked in a fix to 1.0.x
> > that works against your use case. It'll be available in the 1.0.1 and
> > 1.1.0 snapshots in a few hours.
>
> > [1] https://issues.apache.org/jira/browse/OPENJPA-335
>
> That must be it. Roller is guilty of "logic in getters for entities
> with property access". I'll grab a 1.0.1 snapshot and try it out.
> Thanks for the help.

Just a follow up, using the latest 1.0.1-SNAPSHOT solved this problem

Thanks again, Dave

Re: Want to upgrade Roller to OpenJPA 1.0 but locks up

Posted by Patrick Linskey <pl...@gmail.com>.
Note that this problem would not have occurred if you were running the
OpenJPA enhancer on your types. Since you're (presumably) shipping the
classes in your product, you might want to consider using the
enhancer; it will deliver some performance and memory optimizations
vs. running without the enhancer.

-Patrick

On Sep 14, 2007 7:39 AM, Dave <sn...@gmail.com> wrote:
> On 9/13/07, Patrick Linskey <pl...@gmail.com> wrote:
> > I think that this is OPENJPA-335 [1]. I just checked in a fix to 1.0.x
> > that works against your use case. It'll be available in the 1.0.1 and
> > 1.1.0 snapshots in a few hours.
>
> > [1] https://issues.apache.org/jira/browse/OPENJPA-335
>
> That must be it. Roller is guilty of "logic in getters for entities
> with property access". I'll grab a 1.0.1 snapshot and try it out.
> Thanks for the help.
>
> - Dave
>
>
>
>
>
>
> - Dave
>



-- 
Patrick Linskey
202 669 5907

Re: Want to upgrade Roller to OpenJPA 1.0 but locks up

Posted by Dave <sn...@gmail.com>.
On 9/13/07, Patrick Linskey <pl...@gmail.com> wrote:
> I think that this is OPENJPA-335 [1]. I just checked in a fix to 1.0.x
> that works against your use case. It'll be available in the 1.0.1 and
> 1.1.0 snapshots in a few hours.

> [1] https://issues.apache.org/jira/browse/OPENJPA-335

That must be it. Roller is guilty of "logic in getters for entities
with property access". I'll grab a 1.0.1 snapshot and try it out.
Thanks for the help.

- Dave






- Dave

Re: Want to upgrade Roller to OpenJPA 1.0 but locks up

Posted by Patrick Linskey <pl...@gmail.com>.
Hi,

I think that this is OPENJPA-335 [1]. I just checked in a fix to 1.0.x
that works against your use case. It'll be available in the 1.0.1 and
1.1.0 snapshots in a few hours.

-Patrick

[1] https://issues.apache.org/jira/browse/OPENJPA-335

On 9/13/07, Dave <sn...@gmail.com> wrote:
> On 9/13/07, Patrick Linskey <pl...@gmail.com> wrote:
> > Well, it doesn't look like it's in a deadlock or anything.... can you
> > take another couple of thread dumps after a couple of seconds and send
> > them along so we can see what's going on? Also, what output do you get
> > when running with the SQL log channel set to TRACE? (openjpa.Log
> > property set to 'SQL=TRACE')
>
> Below are some of the TRACE output before the hang, and several thread
> dumps post hang.
>
> - Dave
>
>
>
>  [openjpac] 4474  RollerPU  TRACE  [main] openjpa.MetaData - Preparing
> mapping for "org.apache.roller.weblogger.pojos.WeblogEntry".
>  [openjpac] 4474  RollerPU  TRACE  [main] openjpa.MetaData - Preparing
> mapping for "org.apache.roller.weblogger.pojos.WeblogEntryAttribute".
>  [openjpac] 4475  RollerPU  TRACE  [main] openjpa.MetaData - Preparing
> mapping for "org.apache.roller.weblogger.pojos.WeblogEntryTag".
>  [openjpac] 4475  RollerPU  TRACE  [main] openjpa.MetaData - Resolving
> mapping for "org.apache.roller.weblogger.pojos.WeblogEntry@3517686".
>  [openjpac] 4475  RollerPU  TRACE  [main] openjpa.MetaData - Resolving
> mapping for "org.apache.roller.weblogger.pojos.WeblogEntryAttribute@15625065".
>  [openjpac] 4475  RollerPU  TRACE  [main] openjpa.MetaData - Resolving
> mapping for "org.apache.roller.weblogger.pojos.WeblogEntryTag@13483139".
>  [openjpac] 4475  RollerPU  TRACE  [main] openjpa.Enhance - Enhancing
> type "class org.apache.roller.weblogger.pojos.WeblogEntry".
> ^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing):
>
> "Low Memory Detector" daemon prio=5 tid=0x00509180 nid=0x1814c00
> runnable [0x00000000..0x00000000]
>
> "CompilerThread0" daemon prio=9 tid=0x005086e0 nid=0x1814800 waiting
> on condition [0x00000000..0xb0b0674c]
>
> "Signal Dispatcher" daemon prio=9 tid=0x00508270 nid=0x1803e00 waiting
> on condition [0x00000000..0x00000000]
>
> "Finalizer" daemon prio=8 tid=0x005079b0 nid=0x1810c00 in
> Object.wait() [0xb0a04000..0xb0a04d10]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>         - locked <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
>         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>
> "Reference Handler" daemon prio=10 tid=0x005075b0 nid=0x180fe00 in
> Object.wait() [0xb0983000..0xb0983d10]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x0ccfad10> (a java.lang.ref.Reference$Lock)
>         at java.lang.Object.wait(Object.java:474)
>         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>         - locked <0x0ccfad10> (a java.lang.ref.Reference$Lock)
>
> "main" prio=5 tid=0x00501640 nid=0x1804a00 runnable [0xb07ff000..0xb08000dc]
>         at java.util.ArrayList.get(ArrayList.java:321)
>         at serp.bytecode.lowlevel.ConstantPool.getEntry(ConstantPool.java:50)
>         at serp.bytecode.ObjectState.getSuperclassName(ObjectState.java:108)
>         at serp.bytecode.BCClass.getSuperclassName(BCClass.java:624)
>         at serp.bytecode.BCClass.getSuperclassBC(BCClass.java:643)
>         at serp.bytecode.BCClass.getFields(BCClass.java:986)
>         at serp.bytecode.BCClass.getFields(BCClass.java:1000)
>         at serp.bytecode.FieldInstruction.getField(FieldInstruction.java:59)
>         at org.apache.openjpa.lib.util.J2DoPrivHelper$47.run(J2DoPrivHelper.java:948)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.apache.openjpa.enhance.PCEnhancer.findField(PCEnhancer.java:734)
>         at org.apache.openjpa.enhance.PCEnhancer.getAssignedField(PCEnhancer.java:675)
>         at org.apache.openjpa.enhance.PCEnhancer.validateProperties(PCEnhancer.java:593)
>         at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:444)
>         at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4342)
>         at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
>         at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
>         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.Main.runBuild(Main.java:698)
>         at org.apache.tools.ant.Main.startAnt(Main.java:199)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
>
> "VM Thread" prio=9 tid=0x00506da0 nid=0x180fa00 runnable
>
> "VM Periodic Task Thread" prio=9 tid=0x00509c40 nid=0x1815000 waiting
> on condition
>
> "Exception Catcher Thread" prio=10 tid=0x00501890 nid=0x1804e00 runnable
> ^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing):
>
> "Low Memory Detector" daemon prio=5 tid=0x00509180 nid=0x1814c00
> runnable [0x00000000..0x00000000]
>
> "CompilerThread0" daemon prio=9 tid=0x005086e0 nid=0x1814800 waiting
> on condition [0x00000000..0xb0b0674c]
>
> "Signal Dispatcher" daemon prio=9 tid=0x00508270 nid=0x1803e00 waiting
> on condition [0x00000000..0x00000000]
>
> "Finalizer" daemon prio=8 tid=0x005079b0 nid=0x1810c00 in
> Object.wait() [0xb0a04000..0xb0a04d10]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>         - locked <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
>         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>
> "Reference Handler" daemon prio=10 tid=0x005075b0 nid=0x180fe00 in
> Object.wait() [0xb0983000..0xb0983d10]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x0ccfad10> (a java.lang.ref.Reference$Lock)
>         at java.lang.Object.wait(Object.java:474)
>         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>         - locked <0x0ccfad10> (a java.lang.ref.Reference$Lock)
>
> "main" prio=5 tid=0x00501640 nid=0x1804a00 runnable [0xb07ff000..0xb08000dc]
>         at java.util.LinkedList.toArray(LinkedList.java:726)
>         at serp.bytecode.BCClass.getFields(BCClass.java:991)
>         at serp.bytecode.BCClass.getFields(BCClass.java:1000)
>         at serp.bytecode.FieldInstruction.getField(FieldInstruction.java:59)
>         at org.apache.openjpa.lib.util.J2DoPrivHelper$47.run(J2DoPrivHelper.java:948)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.apache.openjpa.enhance.PCEnhancer.findField(PCEnhancer.java:734)
>         at org.apache.openjpa.enhance.PCEnhancer.getAssignedField(PCEnhancer.java:675)
>         at org.apache.openjpa.enhance.PCEnhancer.validateProperties(PCEnhancer.java:593)
>         at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:444)
>         at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4342)
>         at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
>         at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
>         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.Main.runBuild(Main.java:698)
>         at org.apache.tools.ant.Main.startAnt(Main.java:199)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
>
> "VM Thread" prio=9 tid=0x00506da0 nid=0x180fa00 runnable
>
> "VM Periodic Task Thread" prio=9 tid=0x00509c40 nid=0x1815000 waiting
> on condition
>
> "Exception Catcher Thread" prio=10 tid=0x00501890 nid=0x1804e00 runnable
>
>
>
>
> ^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing):
>
> "Low Memory Detector" daemon prio=5 tid=0x00509180 nid=0x1814c00
> runnable [0x00000000..0x00000000]
>
> "CompilerThread0" daemon prio=9 tid=0x005086e0 nid=0x1814800 waiting
> on condition [0x00000000..0xb0b0674c]
>
> "Signal Dispatcher" daemon prio=9 tid=0x00508270 nid=0x1803e00 waiting
> on condition [0x00000000..0x00000000]
>
> "Finalizer" daemon prio=8 tid=0x005079b0 nid=0x1810c00 in
> Object.wait() [0xb0a04000..0xb0a04d10]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>         - locked <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
>         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>
> "Reference Handler" daemon prio=10 tid=0x005075b0 nid=0x180fe00 in
> Object.wait() [0xb0983000..0xb0983d10]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x0ccfad10> (a java.lang.ref.Reference$Lock)
>         at java.lang.Object.wait(Object.java:474)
>         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>         - locked <0x0ccfad10> (a java.lang.ref.Reference$Lock)
>
> "main" prio=5 tid=0x00501640 nid=0x1804a00 runnable [0xb07ff000..0xb08000dc]
>         at java.util.ArrayList.get(ArrayList.java:321)
>         at serp.bytecode.lowlevel.ConstantPool.getEntry(ConstantPool.java:50)
>         at serp.bytecode.BCMember.getName(BCMember.java:226)
>         at serp.bytecode.BCClass.getFields(BCClass.java:1002)
>         at serp.bytecode.FieldInstruction.getField(FieldInstruction.java:59)
>         at org.apache.openjpa.lib.util.J2DoPrivHelper$47.run(J2DoPrivHelper.java:948)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.apache.openjpa.enhance.PCEnhancer.findField(PCEnhancer.java:734)
>         at org.apache.openjpa.enhance.PCEnhancer.getAssignedField(PCEnhancer.java:675)
>         at org.apache.openjpa.enhance.PCEnhancer.validateProperties(PCEnhancer.java:593)
>         at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:444)
>         at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4342)
>         at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
>         at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
>         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.Main.runBuild(Main.java:698)
>         at org.apache.tools.ant.Main.startAnt(Main.java:199)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
>
> "VM Thread" prio=9 tid=0x00506da0 nid=0x180fa00 runnable
>
> "VM Periodic Task Thread" prio=9 tid=0x00509c40 nid=0x1815000 waiting
> on condition
>
> "Exception Catcher Thread" prio=10 tid=0x00501890 nid=0x1804e00 runnable
>
>
>
>
>
> ^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing):
>
> "Low Memory Detector" daemon prio=5 tid=0x00509180 nid=0x1814c00
> runnable [0x00000000..0x00000000]
>
> "CompilerThread0" daemon prio=9 tid=0x005086e0 nid=0x1814800 waiting
> on condition [0x00000000..0xb0b0674c]
>
> "Signal Dispatcher" daemon prio=9 tid=0x00508270 nid=0x1803e00 waiting
> on condition [0x00000000..0x00000000]
>
> "Finalizer" daemon prio=8 tid=0x005079b0 nid=0x1810c00 in
> Object.wait() [0xb0a04000..0xb0a04d10]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>         - locked <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
>         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>
> "Reference Handler" daemon prio=10 tid=0x005075b0 nid=0x180fe00 in
> Object.wait() [0xb0983000..0xb0983d10]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x0ccfad10> (a java.lang.ref.Reference$Lock)
>         at java.lang.Object.wait(Object.java:474)
>         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>         - locked <0x0ccfad10> (a java.lang.ref.Reference$Lock)
>
> "main" prio=5 tid=0x00501640 nid=0x1804a00 runnable [0xb07ff000..0xb08000dc]
>         at java.util.LinkedList.add(LinkedList.java:196)
>         at serp.bytecode.BCClass.getFields(BCClass.java:1003)
>         at serp.bytecode.FieldInstruction.getField(FieldInstruction.java:59)
>         at org.apache.openjpa.lib.util.J2DoPrivHelper$47.run(J2DoPrivHelper.java:948)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.apache.openjpa.enhance.PCEnhancer.findField(PCEnhancer.java:734)
>         at org.apache.openjpa.enhance.PCEnhancer.getAssignedField(PCEnhancer.java:675)
>         at org.apache.openjpa.enhance.PCEnhancer.validateProperties(PCEnhancer.java:593)
>         at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:444)
>         at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4342)
>         at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
>         at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
>         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.Main.runBuild(Main.java:698)
>         at org.apache.tools.ant.Main.startAnt(Main.java:199)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
>
> "VM Thread" prio=9 tid=0x00506da0 nid=0x180fa00 runnable
>
> "VM Periodic Task Thread" prio=9 tid=0x00509c40 nid=0x1815000 waiting
> on condition
>
> "Exception Catcher Thread" prio=10 tid=0x00501890 nid=0x1804e00 runnable
>
>
>
>
> ^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing):
>
> "Low Memory Detector" daemon prio=5 tid=0x00509180 nid=0x1814c00
> runnable [0x00000000..0x00000000]
>
> "CompilerThread0" daemon prio=9 tid=0x005086e0 nid=0x1814800 waiting
> on condition [0x00000000..0xb0b0674c]
>
> "Signal Dispatcher" daemon prio=9 tid=0x00508270 nid=0x1803e00 waiting
> on condition [0x00000000..0x00000000]
>
> "Finalizer" daemon prio=8 tid=0x005079b0 nid=0x1810c00 in
> Object.wait() [0xb0a04000..0xb0a04d10]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>         - locked <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
>         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>
> "Reference Handler" daemon prio=10 tid=0x005075b0 nid=0x180fe00 in
> Object.wait() [0xb0983000..0xb0983d10]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x0ccfad10> (a java.lang.ref.Reference$Lock)
>         at java.lang.Object.wait(Object.java:474)
>         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>         - locked <0x0ccfad10> (a java.lang.ref.Reference$Lock)
>
> "main" prio=5 tid=0x00501640 nid=0x1804a00 runnable [0xb07ff000..0xb08000dc]
>         at java.util.LinkedList.toArray(LinkedList.java:726)
>         at serp.bytecode.BCClass.getDeclaredFields(BCClass.java:965)
>         at serp.bytecode.BCClass.getFields(BCClass.java:987)
>         at serp.bytecode.BCClass.getFields(BCClass.java:1000)
>         at serp.bytecode.FieldInstruction.getField(FieldInstruction.java:59)
>         at org.apache.openjpa.lib.util.J2DoPrivHelper$47.run(J2DoPrivHelper.java:948)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.apache.openjpa.enhance.PCEnhancer.findField(PCEnhancer.java:734)
>         at org.apache.openjpa.enhance.PCEnhancer.getAssignedField(PCEnhancer.java:675)
>         at org.apache.openjpa.enhance.PCEnhancer.validateProperties(PCEnhancer.java:593)
>         at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:444)
>         at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4342)
>         at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
>         at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
>         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.Main.runBuild(Main.java:698)
>         at org.apache.tools.ant.Main.startAnt(Main.java:199)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
>
> "VM Thread" prio=9 tid=0x00506da0 nid=0x180fa00 runnable
>
> "VM Periodic Task Thread" prio=9 tid=0x00509c40 nid=0x1815000 waiting
> on condition
>
> "Exception Catcher Thread" prio=10 tid=0x00501890 nid=0x1804e00 runnable
>
>
>
> - Dave
>


-- 
Patrick Linskey
202 669 5907

Re: Want to upgrade Roller to OpenJPA 1.0 but locks up

Posted by Dave <sn...@gmail.com>.
On 9/13/07, Patrick Linskey <pl...@gmail.com> wrote:
> Well, it doesn't look like it's in a deadlock or anything.... can you
> take another couple of thread dumps after a couple of seconds and send
> them along so we can see what's going on? Also, what output do you get
> when running with the SQL log channel set to TRACE? (openjpa.Log
> property set to 'SQL=TRACE')

Below are some of the TRACE output before the hang, and several thread
dumps post hang.

- Dave



 [openjpac] 4474  RollerPU  TRACE  [main] openjpa.MetaData - Preparing
mapping for "org.apache.roller.weblogger.pojos.WeblogEntry".
 [openjpac] 4474  RollerPU  TRACE  [main] openjpa.MetaData - Preparing
mapping for "org.apache.roller.weblogger.pojos.WeblogEntryAttribute".
 [openjpac] 4475  RollerPU  TRACE  [main] openjpa.MetaData - Preparing
mapping for "org.apache.roller.weblogger.pojos.WeblogEntryTag".
 [openjpac] 4475  RollerPU  TRACE  [main] openjpa.MetaData - Resolving
mapping for "org.apache.roller.weblogger.pojos.WeblogEntry@3517686".
 [openjpac] 4475  RollerPU  TRACE  [main] openjpa.MetaData - Resolving
mapping for "org.apache.roller.weblogger.pojos.WeblogEntryAttribute@15625065".
 [openjpac] 4475  RollerPU  TRACE  [main] openjpa.MetaData - Resolving
mapping for "org.apache.roller.weblogger.pojos.WeblogEntryTag@13483139".
 [openjpac] 4475  RollerPU  TRACE  [main] openjpa.Enhance - Enhancing
type "class org.apache.roller.weblogger.pojos.WeblogEntry".
^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing):

"Low Memory Detector" daemon prio=5 tid=0x00509180 nid=0x1814c00
runnable [0x00000000..0x00000000]

"CompilerThread0" daemon prio=9 tid=0x005086e0 nid=0x1814800 waiting
on condition [0x00000000..0xb0b0674c]

"Signal Dispatcher" daemon prio=9 tid=0x00508270 nid=0x1803e00 waiting
on condition [0x00000000..0x00000000]

"Finalizer" daemon prio=8 tid=0x005079b0 nid=0x1810c00 in
Object.wait() [0xb0a04000..0xb0a04d10]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x005075b0 nid=0x180fe00 in
Object.wait() [0xb0983000..0xb0983d10]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ccfad10> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:474)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x0ccfad10> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x00501640 nid=0x1804a00 runnable [0xb07ff000..0xb08000dc]
        at java.util.ArrayList.get(ArrayList.java:321)
        at serp.bytecode.lowlevel.ConstantPool.getEntry(ConstantPool.java:50)
        at serp.bytecode.ObjectState.getSuperclassName(ObjectState.java:108)
        at serp.bytecode.BCClass.getSuperclassName(BCClass.java:624)
        at serp.bytecode.BCClass.getSuperclassBC(BCClass.java:643)
        at serp.bytecode.BCClass.getFields(BCClass.java:986)
        at serp.bytecode.BCClass.getFields(BCClass.java:1000)
        at serp.bytecode.FieldInstruction.getField(FieldInstruction.java:59)
        at org.apache.openjpa.lib.util.J2DoPrivHelper$47.run(J2DoPrivHelper.java:948)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.openjpa.enhance.PCEnhancer.findField(PCEnhancer.java:734)
        at org.apache.openjpa.enhance.PCEnhancer.getAssignedField(PCEnhancer.java:675)
        at org.apache.openjpa.enhance.PCEnhancer.validateProperties(PCEnhancer.java:593)
        at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:444)
        at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4342)
        at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
        at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:357)
        at org.apache.tools.ant.Target.performTasks(Target.java:385)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
        at org.apache.tools.ant.Main.runBuild(Main.java:698)
        at org.apache.tools.ant.Main.startAnt(Main.java:199)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

"VM Thread" prio=9 tid=0x00506da0 nid=0x180fa00 runnable

"VM Periodic Task Thread" prio=9 tid=0x00509c40 nid=0x1815000 waiting
on condition

"Exception Catcher Thread" prio=10 tid=0x00501890 nid=0x1804e00 runnable
^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing):

"Low Memory Detector" daemon prio=5 tid=0x00509180 nid=0x1814c00
runnable [0x00000000..0x00000000]

"CompilerThread0" daemon prio=9 tid=0x005086e0 nid=0x1814800 waiting
on condition [0x00000000..0xb0b0674c]

"Signal Dispatcher" daemon prio=9 tid=0x00508270 nid=0x1803e00 waiting
on condition [0x00000000..0x00000000]

"Finalizer" daemon prio=8 tid=0x005079b0 nid=0x1810c00 in
Object.wait() [0xb0a04000..0xb0a04d10]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x005075b0 nid=0x180fe00 in
Object.wait() [0xb0983000..0xb0983d10]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ccfad10> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:474)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x0ccfad10> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x00501640 nid=0x1804a00 runnable [0xb07ff000..0xb08000dc]
        at java.util.LinkedList.toArray(LinkedList.java:726)
        at serp.bytecode.BCClass.getFields(BCClass.java:991)
        at serp.bytecode.BCClass.getFields(BCClass.java:1000)
        at serp.bytecode.FieldInstruction.getField(FieldInstruction.java:59)
        at org.apache.openjpa.lib.util.J2DoPrivHelper$47.run(J2DoPrivHelper.java:948)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.openjpa.enhance.PCEnhancer.findField(PCEnhancer.java:734)
        at org.apache.openjpa.enhance.PCEnhancer.getAssignedField(PCEnhancer.java:675)
        at org.apache.openjpa.enhance.PCEnhancer.validateProperties(PCEnhancer.java:593)
        at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:444)
        at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4342)
        at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
        at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:357)
        at org.apache.tools.ant.Target.performTasks(Target.java:385)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
        at org.apache.tools.ant.Main.runBuild(Main.java:698)
        at org.apache.tools.ant.Main.startAnt(Main.java:199)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

"VM Thread" prio=9 tid=0x00506da0 nid=0x180fa00 runnable

"VM Periodic Task Thread" prio=9 tid=0x00509c40 nid=0x1815000 waiting
on condition

"Exception Catcher Thread" prio=10 tid=0x00501890 nid=0x1804e00 runnable




^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing):

"Low Memory Detector" daemon prio=5 tid=0x00509180 nid=0x1814c00
runnable [0x00000000..0x00000000]

"CompilerThread0" daemon prio=9 tid=0x005086e0 nid=0x1814800 waiting
on condition [0x00000000..0xb0b0674c]

"Signal Dispatcher" daemon prio=9 tid=0x00508270 nid=0x1803e00 waiting
on condition [0x00000000..0x00000000]

"Finalizer" daemon prio=8 tid=0x005079b0 nid=0x1810c00 in
Object.wait() [0xb0a04000..0xb0a04d10]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x005075b0 nid=0x180fe00 in
Object.wait() [0xb0983000..0xb0983d10]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ccfad10> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:474)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x0ccfad10> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x00501640 nid=0x1804a00 runnable [0xb07ff000..0xb08000dc]
        at java.util.ArrayList.get(ArrayList.java:321)
        at serp.bytecode.lowlevel.ConstantPool.getEntry(ConstantPool.java:50)
        at serp.bytecode.BCMember.getName(BCMember.java:226)
        at serp.bytecode.BCClass.getFields(BCClass.java:1002)
        at serp.bytecode.FieldInstruction.getField(FieldInstruction.java:59)
        at org.apache.openjpa.lib.util.J2DoPrivHelper$47.run(J2DoPrivHelper.java:948)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.openjpa.enhance.PCEnhancer.findField(PCEnhancer.java:734)
        at org.apache.openjpa.enhance.PCEnhancer.getAssignedField(PCEnhancer.java:675)
        at org.apache.openjpa.enhance.PCEnhancer.validateProperties(PCEnhancer.java:593)
        at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:444)
        at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4342)
        at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
        at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:357)
        at org.apache.tools.ant.Target.performTasks(Target.java:385)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
        at org.apache.tools.ant.Main.runBuild(Main.java:698)
        at org.apache.tools.ant.Main.startAnt(Main.java:199)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

"VM Thread" prio=9 tid=0x00506da0 nid=0x180fa00 runnable

"VM Periodic Task Thread" prio=9 tid=0x00509c40 nid=0x1815000 waiting
on condition

"Exception Catcher Thread" prio=10 tid=0x00501890 nid=0x1804e00 runnable





^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing):

"Low Memory Detector" daemon prio=5 tid=0x00509180 nid=0x1814c00
runnable [0x00000000..0x00000000]

"CompilerThread0" daemon prio=9 tid=0x005086e0 nid=0x1814800 waiting
on condition [0x00000000..0xb0b0674c]

"Signal Dispatcher" daemon prio=9 tid=0x00508270 nid=0x1803e00 waiting
on condition [0x00000000..0x00000000]

"Finalizer" daemon prio=8 tid=0x005079b0 nid=0x1810c00 in
Object.wait() [0xb0a04000..0xb0a04d10]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x005075b0 nid=0x180fe00 in
Object.wait() [0xb0983000..0xb0983d10]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ccfad10> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:474)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x0ccfad10> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x00501640 nid=0x1804a00 runnable [0xb07ff000..0xb08000dc]
        at java.util.LinkedList.add(LinkedList.java:196)
        at serp.bytecode.BCClass.getFields(BCClass.java:1003)
        at serp.bytecode.FieldInstruction.getField(FieldInstruction.java:59)
        at org.apache.openjpa.lib.util.J2DoPrivHelper$47.run(J2DoPrivHelper.java:948)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.openjpa.enhance.PCEnhancer.findField(PCEnhancer.java:734)
        at org.apache.openjpa.enhance.PCEnhancer.getAssignedField(PCEnhancer.java:675)
        at org.apache.openjpa.enhance.PCEnhancer.validateProperties(PCEnhancer.java:593)
        at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:444)
        at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4342)
        at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
        at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:357)
        at org.apache.tools.ant.Target.performTasks(Target.java:385)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
        at org.apache.tools.ant.Main.runBuild(Main.java:698)
        at org.apache.tools.ant.Main.startAnt(Main.java:199)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

"VM Thread" prio=9 tid=0x00506da0 nid=0x180fa00 runnable

"VM Periodic Task Thread" prio=9 tid=0x00509c40 nid=0x1815000 waiting
on condition

"Exception Catcher Thread" prio=10 tid=0x00501890 nid=0x1804e00 runnable




^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing):

"Low Memory Detector" daemon prio=5 tid=0x00509180 nid=0x1814c00
runnable [0x00000000..0x00000000]

"CompilerThread0" daemon prio=9 tid=0x005086e0 nid=0x1814800 waiting
on condition [0x00000000..0xb0b0674c]

"Signal Dispatcher" daemon prio=9 tid=0x00508270 nid=0x1803e00 waiting
on condition [0x00000000..0x00000000]

"Finalizer" daemon prio=8 tid=0x005079b0 nid=0x1810c00 in
Object.wait() [0xb0a04000..0xb0a04d10]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x0ccfac90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x005075b0 nid=0x180fe00 in
Object.wait() [0xb0983000..0xb0983d10]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ccfad10> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:474)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x0ccfad10> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x00501640 nid=0x1804a00 runnable [0xb07ff000..0xb08000dc]
        at java.util.LinkedList.toArray(LinkedList.java:726)
        at serp.bytecode.BCClass.getDeclaredFields(BCClass.java:965)
        at serp.bytecode.BCClass.getFields(BCClass.java:987)
        at serp.bytecode.BCClass.getFields(BCClass.java:1000)
        at serp.bytecode.FieldInstruction.getField(FieldInstruction.java:59)
        at org.apache.openjpa.lib.util.J2DoPrivHelper$47.run(J2DoPrivHelper.java:948)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.openjpa.enhance.PCEnhancer.findField(PCEnhancer.java:734)
        at org.apache.openjpa.enhance.PCEnhancer.getAssignedField(PCEnhancer.java:675)
        at org.apache.openjpa.enhance.PCEnhancer.validateProperties(PCEnhancer.java:593)
        at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:444)
        at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4342)
        at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
        at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:357)
        at org.apache.tools.ant.Target.performTasks(Target.java:385)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
        at org.apache.tools.ant.Main.runBuild(Main.java:698)
        at org.apache.tools.ant.Main.startAnt(Main.java:199)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

"VM Thread" prio=9 tid=0x00506da0 nid=0x180fa00 runnable

"VM Periodic Task Thread" prio=9 tid=0x00509c40 nid=0x1815000 waiting
on condition

"Exception Catcher Thread" prio=10 tid=0x00501890 nid=0x1804e00 runnable



- Dave

Re: Want to upgrade Roller to OpenJPA 1.0 but locks up

Posted by Patrick Linskey <pl...@gmail.com>.
Well, it doesn't look like it's in a deadlock or anything.... can you
take another couple of thread dumps after a couple of seconds and send
them along so we can see what's going on? Also, what output do you get
when running with the SQL log channel set to TRACE? (openjpa.Log
property set to 'SQL=TRACE')

-Patrick

On 9/13/07, Dave <sn...@gmail.com> wrote:
> On 9/12/07, Patrick Linskey <pl...@gmail.com> wrote:
> > Can you post a thread dump? I think you can get one by hitting
> > control-shift-|, although I always end up hitting two or three things
> > before getting it.
>
> Thanks, I didn't know how to do that on my Mac.
>
> Below is the stack for each thread:
>
> ^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing):
>
> "Low Memory Detector" daemon prio=5 tid=0x00509190 nid=0x1814c00
> runnable [0x00000000..0x00000000]
>
> "CompilerThread0" daemon prio=9 tid=0x00508790 nid=0x1814800 waiting
> on condition [0x00000000..0xb0b0674c]
>
> "Signal Dispatcher" daemon prio=9 tid=0x00508280 nid=0x1803e00 waiting
> on condition [0x00000000..0x00000000]
>
> "Finalizer" daemon prio=8 tid=0x005079c0 nid=0x1810c00 in
> Object.wait() [0xb0a04000..0xb0a04d10]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x0ccfadd8> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>         - locked <0x0ccfadd8> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
>         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>
> "Reference Handler" daemon prio=10 tid=0x005075c0 nid=0x180fe00 in
> Object.wait() [0xb0983000..0xb0983d10]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x0ccfae58> (a java.lang.ref.Reference$Lock)
>         at java.lang.Object.wait(Object.java:474)
>         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>         - locked <0x0ccfae58> (a java.lang.ref.Reference$Lock)
>
> "main" prio=5 tid=0x00501650 nid=0x1804a00 runnable [0xb07ff000..0xb08000dc]
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:242)
>         at serp.util.Strings.toClass(Strings.java:162)
>         at serp.util.Strings.toClass(Strings.java:108)
>         at serp.bytecode.TypedInstruction.getType(TypedInstruction.java:76)
>         at serp.bytecode.LoadInstruction.isThis(LoadInstruction.java:164)
>         at org.apache.openjpa.enhance.PCEnhancer.findField(PCEnhancer.java:718)
>         at org.apache.openjpa.enhance.PCEnhancer.getAssignedField(PCEnhancer.java:675)
>         at org.apache.openjpa.enhance.PCEnhancer.validateProperties(PCEnhancer.java:593)
>         at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:444)
>         at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4342)
>         at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
>         at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
>         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.Main.runBuild(Main.java:698)
>         at org.apache.tools.ant.Main.startAnt(Main.java:199)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
>
> "VM Thread" prio=9 tid=0x00506db0 nid=0x180fa00 runnable
>
> "VM Periodic Task Thread" prio=9 tid=0x00509cf0 nid=0x1815000 waiting
> on condition
>
> "Exception Catcher Thread" prio=10 tid=0x005018a0 nid=0x1804e00 runnable
>
>
> >
> > -Patrick
> >
> > On 9/11/07, Dave <sn...@gmail.com> wrote:
> > > I'm trying to upgrade the Roller 4.0 code base from OpenJPA 0.9.7 to
> > > OpenJPA 1.0 but I'm running into a blocking issue.
> > >
> > > The <openjpac> task that we use to enhance our POJOs is locking up
> > > during the build process. There are no error messages or stack traces,
> > > but the CPU  goes to about 98% (on my core duo MacBook pro) and Ant
> > > just hangs.
> > >
> > > Any hints on how I could debug this problem?
> > >
> > > - Dave
>


-- 
Patrick Linskey
202 669 5907

Re: Want to upgrade Roller to OpenJPA 1.0 but locks up

Posted by Dave <sn...@gmail.com>.
On 9/12/07, Patrick Linskey <pl...@gmail.com> wrote:
> Can you post a thread dump? I think you can get one by hitting
> control-shift-|, although I always end up hitting two or three things
> before getting it.

Thanks, I didn't know how to do that on my Mac.

Below is the stack for each thread:

^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_07-87 mixed mode, sharing):

"Low Memory Detector" daemon prio=5 tid=0x00509190 nid=0x1814c00
runnable [0x00000000..0x00000000]

"CompilerThread0" daemon prio=9 tid=0x00508790 nid=0x1814800 waiting
on condition [0x00000000..0xb0b0674c]

"Signal Dispatcher" daemon prio=9 tid=0x00508280 nid=0x1803e00 waiting
on condition [0x00000000..0x00000000]

"Finalizer" daemon prio=8 tid=0x005079c0 nid=0x1810c00 in
Object.wait() [0xb0a04000..0xb0a04d10]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ccfadd8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x0ccfadd8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x005075c0 nid=0x180fe00 in
Object.wait() [0xb0983000..0xb0983d10]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ccfae58> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:474)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x0ccfae58> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x00501650 nid=0x1804a00 runnable [0xb07ff000..0xb08000dc]
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:242)
        at serp.util.Strings.toClass(Strings.java:162)
        at serp.util.Strings.toClass(Strings.java:108)
        at serp.bytecode.TypedInstruction.getType(TypedInstruction.java:76)
        at serp.bytecode.LoadInstruction.isThis(LoadInstruction.java:164)
        at org.apache.openjpa.enhance.PCEnhancer.findField(PCEnhancer.java:718)
        at org.apache.openjpa.enhance.PCEnhancer.getAssignedField(PCEnhancer.java:675)
        at org.apache.openjpa.enhance.PCEnhancer.validateProperties(PCEnhancer.java:593)
        at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:444)
        at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4342)
        at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
        at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:357)
        at org.apache.tools.ant.Target.performTasks(Target.java:385)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
        at org.apache.tools.ant.Main.runBuild(Main.java:698)
        at org.apache.tools.ant.Main.startAnt(Main.java:199)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

"VM Thread" prio=9 tid=0x00506db0 nid=0x180fa00 runnable

"VM Periodic Task Thread" prio=9 tid=0x00509cf0 nid=0x1815000 waiting
on condition

"Exception Catcher Thread" prio=10 tid=0x005018a0 nid=0x1804e00 runnable


>
> -Patrick
>
> On 9/11/07, Dave <sn...@gmail.com> wrote:
> > I'm trying to upgrade the Roller 4.0 code base from OpenJPA 0.9.7 to
> > OpenJPA 1.0 but I'm running into a blocking issue.
> >
> > The <openjpac> task that we use to enhance our POJOs is locking up
> > during the build process. There are no error messages or stack traces,
> > but the CPU  goes to about 98% (on my core duo MacBook pro) and Ant
> > just hangs.
> >
> > Any hints on how I could debug this problem?
> >
> > - Dave

Re: Want to upgrade Roller to OpenJPA 1.0 but locks up

Posted by Patrick Linskey <pl...@gmail.com>.
Hi,

Can you post a thread dump? I think you can get one by hitting
control-shift-|, although I always end up hitting two or three things
before getting it.

-Patrick

On 9/11/07, Dave <sn...@gmail.com> wrote:
> I'm trying to upgrade the Roller 4.0 code base from OpenJPA 0.9.7 to
> OpenJPA 1.0 but I'm running into a blocking issue.
>
> The <openjpac> task that we use to enhance our POJOs is locking up
> during the build process. There are no error messages or stack traces,
> but the CPU  goes to about 98% (on my core duo MacBook pro) and Ant
> just hangs.
>
> Any hints on how I could debug this problem?
>
> - Dave
>


-- 
Patrick Linskey
202 669 5907