You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by "alexander.reelsen@lusini.com" <al...@lusini.com> on 2011/07/08 10:31:37 UTC
Delegator creation fails with new ExecutionPool on trunk
Hi there,
the creation of the delegator done in GenericDelegator fails for me, when starting ofbiz or running run-install-exttest. This is the exception I am getting for each delegator
[java] 2011-07-08 10:15:17,691 (ofbiz-config-2) [ GenericHelperFactory:62 :WARN ]
[java] ---- exception report ----------------------------------------------------------
[java] Exception: java.lang.ClassNotFoundException
[java] Message: org.ofbiz.entity.datasource.GenericHelperDAO
[java] ---- stack trace ---------------------------------------------------------------
[java] java.lang.ClassNotFoundException: org.ofbiz.entity.datasource.GenericHelperDAO
[java] java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[java] java.security.AccessController.doPrivileged(Native Method)
[java] java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[java] java.lang.ClassLoader.loadClass(ClassLoader.java:307)
[java] java.lang.ClassLoader.loadClass(ClassLoader.java:248)
[java] org.ofbiz.entity.datasource.GenericHelperFactory.getHelper(GenericHelperFactory.java:60)
[java] org.ofbiz.entity.GenericDelegator.initializeOneGenericHelper(GenericDelegator.java:268)
[java] org.ofbiz.entity.GenericDelegator.access$000(GenericDelegator.java:89)
[java] org.ofbiz.entity.GenericDelegator$1.call(GenericDelegator.java:287)
[java] org.ofbiz.entity.GenericDelegator$1.call(GenericDelegator.java:285)
[java] java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
[java] java.util.concurrent.FutureTask.run(FutureTask.java:138)
[java] java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
[java] java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
[java] java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[java] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[java] java.lang.Thread.run(Thread.java:680)
[java] --------------------------------------------------------------------------------
When removing the ExecutionPool specific code which returns the Callable stuff from the GenericDelegator everything gets back to work, so there might be some problem.
Perhaps anyone knows more than me about this :-)
Regards and have a nice day!
--Alexander
_____________________________________________________
Lusini GmbH
Alexander Reelsen, Research & Development
Adams-Lehmann-Straße 109, 80797 München
Telefon +49-89-416 170 10
Telefax +49-89-416 170 190
E-Mail alexander.reelsen@lusini.com<ma...@lusini.com>
Sitz der Gesellschaft: München, HRB 188366,
Amtsgericht München, Geschäftsführer: Markus Bohl
USt IdNr. DE 270565360, Steuernr. 152/131/90056
_____________________________________________________
Re: Delegator creation fails with new ExecutionPool on trunk
Posted by "alexander.reelsen@lusini.com" <al...@lusini.com>.
Hey,
On Jul 8, 2011, at 5:40 PM, Adam Heath wrote:
It's the Thread.currentThread().getContextClassLoader() call in
GenericHelperFactory that is broken. Good catch, valid bug. Could
you please file this in jira?
done in https://issues.apache.org/jira/browse/OFBIZ-4335
have a nice weekend!
<https://issues.apache.org/jira/browse/OFBIZ-4335>
--Alexander
_____________________________________________________
Lusini GmbH
Alexander Reelsen, Research & Development
Adams-Lehmann-Straße 109, 80797 München
Telefon +49-89-416 170 10
Telefax +49-89-416 170 190
E-Mail alexander.reelsen@lusini.com<ma...@lusini.com>
Sitz der Gesellschaft: München, HRB 188366,
Amtsgericht München, Geschäftsführer: Markus Bohl
USt IdNr. DE 270565360, Steuernr. 152/131/90056
_____________________________________________________
Re: Delegator creation fails with new ExecutionPool on trunk
Posted by Adam Heath <do...@brainfood.com>.
On 07/08/2011 03:31 AM, alexander.reelsen@lusini.com wrote:
> Hi there,
>
> the creation of the delegator done in GenericDelegator fails for me, when starting ofbiz or running run-install-exttest. This is the exception I am getting for each delegator
>
> [java] 2011-07-08 10:15:17,691 (ofbiz-config-2) [ GenericHelperFactory:62 :WARN ]
> [java] ---- exception report ----------------------------------------------------------
> [java] Exception: java.lang.ClassNotFoundException
> [java] Message: org.ofbiz.entity.datasource.GenericHelperDAO
> [java] ---- stack trace ---------------------------------------------------------------
> [java] java.lang.ClassNotFoundException: org.ofbiz.entity.datasource.GenericHelperDAO
> [java] java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> [java] java.security.AccessController.doPrivileged(Native Method)
> [java] java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> [java] java.lang.ClassLoader.loadClass(ClassLoader.java:307)
> [java] java.lang.ClassLoader.loadClass(ClassLoader.java:248)
> [java] org.ofbiz.entity.datasource.GenericHelperFactory.getHelper(GenericHelperFactory.java:60)
> [java] org.ofbiz.entity.GenericDelegator.initializeOneGenericHelper(GenericDelegator.java:268)
> [java] org.ofbiz.entity.GenericDelegator.access$000(GenericDelegator.java:89)
> [java] org.ofbiz.entity.GenericDelegator$1.call(GenericDelegator.java:287)
> [java] org.ofbiz.entity.GenericDelegator$1.call(GenericDelegator.java:285)
> [java] java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> [java] java.util.concurrent.FutureTask.run(FutureTask.java:138)
> [java] java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
> [java] java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
> [java] java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> [java] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> [java] java.lang.Thread.run(Thread.java:680)
> [java] --------------------------------------------------------------------------------
>
> When removing the ExecutionPool specific code which returns the Callable stuff from the GenericDelegator everything gets back to work, so there might be some problem.
It's the Thread.currentThread().getContextClassLoader() call in
GenericHelperFactory that is broken. Good catch, valid bug. Could
you please file this in jira?
Re: Delegator creation fails with new ExecutionPool on trunk
Posted by Adam Heath <do...@brainfood.com>.
On 07/08/2011 03:31 AM, alexander.reelsen@lusini.com wrote:
> Hi there,
>
> the creation of the delegator done in GenericDelegator fails for me, when starting ofbiz or running run-install-exttest. This is the exception I am getting for each delegator
>
> [java] 2011-07-08 10:15:17,691 (ofbiz-config-2) [ GenericHelperFactory:62 :WARN ]
> [java] ---- exception report ----------------------------------------------------------
> [java] Exception: java.lang.ClassNotFoundException
> [java] Message: org.ofbiz.entity.datasource.GenericHelperDAO
> [java] ---- stack trace ---------------------------------------------------------------
> [java] java.lang.ClassNotFoundException: org.ofbiz.entity.datasource.GenericHelperDAO
> [java] java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> [java] java.security.AccessController.doPrivileged(Native Method)
> [java] java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> [java] java.lang.ClassLoader.loadClass(ClassLoader.java:307)
> [java] java.lang.ClassLoader.loadClass(ClassLoader.java:248)
> [java] org.ofbiz.entity.datasource.GenericHelperFactory.getHelper(GenericHelperFactory.java:60)
> [java] org.ofbiz.entity.GenericDelegator.initializeOneGenericHelper(GenericDelegator.java:268)
> [java] org.ofbiz.entity.GenericDelegator.access$000(GenericDelegator.java:89)
> [java] org.ofbiz.entity.GenericDelegator$1.call(GenericDelegator.java:287)
> [java] org.ofbiz.entity.GenericDelegator$1.call(GenericDelegator.java:285)
> [java] java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> [java] java.util.concurrent.FutureTask.run(FutureTask.java:138)
> [java] java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
> [java] java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
> [java] java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> [java] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> [java] java.lang.Thread.run(Thread.java:680)
> [java] --------------------------------------------------------------------------------
>
> When removing the ExecutionPool specific code which returns the Callable stuff from the GenericDelegator everything gets back to work, so there might be some problem.
>
> Perhaps anyone knows more than me about this :-)
>
> Regards and have a nice day!
I'm not surprised there are race conditions in ofbiz. The
double-checked lock(DCL) pattern is broken, and shouldn't be used.
I'll try to spend some time looking into this.