You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Simon Laws <si...@googlemail.com> on 2009/04/27 11:18:20 UTC
[1.x] hang in BPEL itest with latest code
itest\bpel\helloworld-reference is hanging for me with the latest
code. It's getting to...
<message><parameters><getGreetings xmlns="http://greetings"><message xmlns="http
://helloworld" xmlns:ns2="http://helloworld/" xmlns:xs="http://www.w3.org/2001/X
MLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:str
ing">Luciano</message></getGreetings></parameters></message>
[DEBUG] - GeronimoLog.debug(66) | >>> Payload: <?xml version="1.0" encoding="UTF
-8"?>
<getGreetings xmlns="http://greetings"><message xmlns="http://helloworld" xmlns:
ns2="http://helloworld/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Luciano</message
></getGreetings>
[ERROR] - GeronimoLog.error(108) | Error sending message (mex={PartnerRoleMex#hq
ejbhcnphr4889s9idrig [PID {http://helloworld}HelloWorld-1] calling null.getGreet
ings(...)}): Unable to register synchronizer.
org.apache.ode.bpel.iapi.ContextException: Unable to register synchronizer.
at org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(
SimpleScheduler.java:206)
at org.apache.ode.scheduler.simple.SimpleScheduler.addTodoOnCommit(Simpl
eScheduler.java:364)
at org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(
SimpleScheduler.java:232)
at org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.continueAsy
nc(PartnerRoleMessageExchangeImpl.java:126)
at org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.replyWithFa
ilure(PartnerRoleMessageExchangeImpl.java:97)
at org.apache.tuscany.sca.implementation.bpel.ode.ODEExternalService$1$1
.call(ODEExternalService.java:146)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(
SimpleScheduler.java:194)
... 10 more
Terminate batch job (Y/N)? y
Anyone else seeing this?
Simon
Re: [1.x] hang in BPEL itest with latest code
Posted by Raymond Feng <en...@gmail.com>.
I see it too.
Sent from my iPod
On Apr 27, 2009, at 5:42 AM, Mike Edwards <mike.edwards.inglenook@gmail.com
> wrote:
> Simon Laws wrote:
>> itest\bpel\helloworld-reference is hanging for me with the latest
>> code. It's getting to...
>> <message><parameters><getGreetings xmlns="http://
>> greetings"><message xmlns="http
>> ://helloworld" xmlns:ns2="http://helloworld/" xmlns:xs="http://www.w3.org/2001/X
>> MLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:type="xs:str
>> ing">Luciano</message></getGreetings></parameters></message>
>> [DEBUG] - GeronimoLog.debug(66) | >>> Payload: <?xml version="1.0"
>> encoding="UTF
>> -8"?>
>> <getGreetings xmlns="http://greetings"><message xmlns="http://helloworld
>> " xmlns:
>> ns2="http://helloworld/" xmlns:xs="http://www.w3.org/2001/
>> XMLSchema" xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance"
>> xsi:type="xs:string">Luciano</message
>>> </getGreetings>
>> [ERROR] - GeronimoLog.error(108) | Error sending message
>> (mex={PartnerRoleMex#hq
>> ejbhcnphr4889s9idrig [PID {http://helloworld}HelloWorld-1] calling
>> null.getGreet
>> ings(...)}): Unable to register synchronizer.
>> org.apache.ode.bpel.iapi.ContextException: Unable to register
>> synchronizer.
>> at
>> org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(
>> SimpleScheduler.java:206)
>> at
>> org.apache.ode.scheduler.simple.SimpleScheduler.addTodoOnCommit(Simpl
>> eScheduler.java:364)
>> at
>> org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(
>> SimpleScheduler.java:232)
>> at
>> org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.continueAsy
>> nc(PartnerRoleMessageExchangeImpl.java:126)
>> at
>> org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.replyWithFa
>> ilure(PartnerRoleMessageExchangeImpl.java:97)
>> at
>> org.apache.tuscany.sca.implementation.bpel.ode.ODEExternalService$1$1
>> .call(ODEExternalService.java:146)
>> at java.util.concurrent.FutureTask
>> $Sync.innerRun(FutureTask.java:303)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>> at java.util.concurrent.ThreadPoolExecutor
>> $Worker.runTask(ThreadPoolExec
>> utor.java:885)
>> at java.util.concurrent.ThreadPoolExecutor
>> $Worker.run(ThreadPoolExecutor
>> .java:907)
>> at java.lang.Thread.run(Thread.java:619)
>> Caused by: java.lang.NullPointerException
>> at
>> org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(
>> SimpleScheduler.java:194)
>> ... 10 more
>> Terminate batch job (Y/N)? y
>> Anyone else seeing this?
>> Simon
> Folks,
>
> I too see this problem.
>
>
> Yours, Mike.
Re: [1.x] hang in BPEL itest with latest code
Posted by Mike Edwards <mi...@gmail.com>.
Simon Laws wrote:
> itest\bpel\helloworld-reference is hanging for me with the latest
> code. It's getting to...
>
> <message><parameters><getGreetings xmlns="http://greetings"><message xmlns="http
> ://helloworld" xmlns:ns2="http://helloworld/" xmlns:xs="http://www.w3.org/2001/X
> MLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:str
> ing">Luciano</message></getGreetings></parameters></message>
> [DEBUG] - GeronimoLog.debug(66) | >>> Payload: <?xml version="1.0" encoding="UTF
> -8"?>
> <getGreetings xmlns="http://greetings"><message xmlns="http://helloworld" xmlns:
> ns2="http://helloworld/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Luciano</message
>> </getGreetings>
> [ERROR] - GeronimoLog.error(108) | Error sending message (mex={PartnerRoleMex#hq
> ejbhcnphr4889s9idrig [PID {http://helloworld}HelloWorld-1] calling null.getGreet
> ings(...)}): Unable to register synchronizer.
> org.apache.ode.bpel.iapi.ContextException: Unable to register synchronizer.
> at org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(
> SimpleScheduler.java:206)
> at org.apache.ode.scheduler.simple.SimpleScheduler.addTodoOnCommit(Simpl
> eScheduler.java:364)
> at org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(
> SimpleScheduler.java:232)
> at org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.continueAsy
> nc(PartnerRoleMessageExchangeImpl.java:126)
> at org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.replyWithFa
> ilure(PartnerRoleMessageExchangeImpl.java:97)
> at org.apache.tuscany.sca.implementation.bpel.ode.ODEExternalService$1$1
> .call(ODEExternalService.java:146)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
> utor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
> .java:907)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(
> SimpleScheduler.java:194)
> ... 10 more
> Terminate batch job (Y/N)? y
>
>
> Anyone else seeing this?
>
> Simon
>
Folks,
I too see this problem.
Yours, Mike.
Re: [1.x] hang in BPEL itest with latest code
Posted by Simon Laws <si...@googlemail.com>.
On Mon, Apr 27, 2009 at 4:31 PM, Raymond Feng <en...@gmail.com> wrote:
> I'll look into the mode for wsdl.
>
That would be great Raymond. Am still looking at why the error doesn't
get returned properly.
Simon
Re: [1.x] hang in BPEL itest with latest code
Posted by Raymond Feng <en...@gmail.com>.
I'll look into the mode for wsdl.
Sent from my iPod
On Apr 27, 2009, at 5:00 AM, Simon Laws <si...@googlemail.com>
wrote:
> The underlying cause of the error is some holder code in
> JavaImplementationInvoker.invoke()...
>
> // Holder pattern. Any payload parameters <T> which are
> should be in holders are placed in Holder<T>.
> // Only check Holder for remotable interfaces
> if (imethod != null && op.getInterface().isRemotable()) {
> List<DataType> inputTypes =
> op.getInputType().getLogical();
> for (int i = 0, size = inputTypes.size(); i < size; i+
> +) {
> if (ParameterMode.IN !=
> op.getParameterModes().get(i)) {
> // Promote array params from [<T>] to
> [Holder<T>]
> Object[] payloadArray = (Object[])payload;
> for (int j = 0; payloadArray != null && j <
> payloadArray.length; j++) {
> Object item = payloadArray[j];
> payloadArray[j] = new Holder(item);
> }
> argumentHolderCount++;
> }
> }
> }
>
> I don't think this code is actually wrong though. In the case of the
> WSDL interfaces generated during the BPEL processing, and passed to a
> local Java component with the message operation, the array of
> parameter modes in the operation is empty. I assume WSDL operations
> should accurately describe their parameter modes.
>
> The secondary problem is that having found this error the BPEL
> processing locks up.
>
> Simon
Re: [1.x] hang in BPEL itest with latest code
Posted by Raymond Feng <en...@gmail.com>.
I fixed the issue and the test case is passing now.
Thanks,
Raymond
--------------------------------------------------
From: "Simon Laws" <si...@googlemail.com>
Sent: Monday, April 27, 2009 5:00 AM
To: <de...@tuscany.apache.org>; <an...@apache.org>
Subject: Re: [1.x] hang in BPEL itest with latest code
> The underlying cause of the error is some holder code in
> JavaImplementationInvoker.invoke()...
>
> // Holder pattern. Any payload parameters <T> which are
> should be in holders are placed in Holder<T>.
> // Only check Holder for remotable interfaces
> if (imethod != null && op.getInterface().isRemotable()) {
> List<DataType> inputTypes = op.getInputType().getLogical();
> for (int i = 0, size = inputTypes.size(); i < size; i++) {
> if (ParameterMode.IN != op.getParameterModes().get(i))
> {
> // Promote array params from [<T>] to [Holder<T>]
> Object[] payloadArray = (Object[])payload;
> for (int j = 0; payloadArray != null && j <
> payloadArray.length; j++) {
> Object item = payloadArray[j];
> payloadArray[j] = new Holder(item);
> }
> argumentHolderCount++;
> }
> }
> }
>
> I don't think this code is actually wrong though. In the case of the
> WSDL interfaces generated during the BPEL processing, and passed to a
> local Java component with the message operation, the array of
> parameter modes in the operation is empty. I assume WSDL operations
> should accurately describe their parameter modes.
>
> The secondary problem is that having found this error the BPEL
> processing locks up.
>
> Simon
Re: [1.x] hang in BPEL itest with latest code
Posted by Simon Laws <si...@googlemail.com>.
The underlying cause of the error is some holder code in
JavaImplementationInvoker.invoke()...
// Holder pattern. Any payload parameters <T> which are
should be in holders are placed in Holder<T>.
// Only check Holder for remotable interfaces
if (imethod != null && op.getInterface().isRemotable()) {
List<DataType> inputTypes = op.getInputType().getLogical();
for (int i = 0, size = inputTypes.size(); i < size; i++) {
if (ParameterMode.IN != op.getParameterModes().get(i)) {
// Promote array params from [<T>] to [Holder<T>]
Object[] payloadArray = (Object[])payload;
for (int j = 0; payloadArray != null && j <
payloadArray.length; j++) {
Object item = payloadArray[j];
payloadArray[j] = new Holder(item);
}
argumentHolderCount++;
}
}
}
I don't think this code is actually wrong though. In the case of the
WSDL interfaces generated during the BPEL processing, and passed to a
local Java component with the message operation, the array of
parameter modes in the operation is empty. I assume WSDL operations
should accurately describe their parameter modes.
The secondary problem is that having found this error the BPEL
processing locks up.
Simon
Re: [1.x] hang in BPEL itest with latest code
Posted by Simon Laws <si...@googlemail.com>.
On Mon, Apr 27, 2009 at 10:54 AM, ant elder <an...@gmail.com> wrote:
> On Mon, Apr 27, 2009 at 10:18 AM, Simon Laws <si...@googlemail.com> wrote:
>> itest\bpel\helloworld-reference is hanging for me with the latest
>> code. It's getting to...
>>
>> <message><parameters><getGreetings xmlns="http://greetings"><message xmlns="http
>> ://helloworld" xmlns:ns2="http://helloworld/" xmlns:xs="http://www.w3.org/2001/X
>> MLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:str
>> ing">Luciano</message></getGreetings></parameters></message>
>> [DEBUG] - GeronimoLog.debug(66) | >>> Payload: <?xml version="1.0" encoding="UTF
>> -8"?>
>> <getGreetings xmlns="http://greetings"><message xmlns="http://helloworld" xmlns:
>> ns2="http://helloworld/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Luciano</message
>>></getGreetings>
>> [ERROR] - GeronimoLog.error(108) | Error sending message (mex={PartnerRoleMex#hq
>> ejbhcnphr4889s9idrig [PID {http://helloworld}HelloWorld-1] calling null.getGreet
>> ings(...)}): Unable to register synchronizer.
>> org.apache.ode.bpel.iapi.ContextException: Unable to register synchronizer.
>> at org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(
>> SimpleScheduler.java:206)
>> at org.apache.ode.scheduler.simple.SimpleScheduler.addTodoOnCommit(Simpl
>> eScheduler.java:364)
>> at org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(
>> SimpleScheduler.java:232)
>> at org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.continueAsy
>> nc(PartnerRoleMessageExchangeImpl.java:126)
>> at org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.replyWithFa
>> ilure(PartnerRoleMessageExchangeImpl.java:97)
>> at org.apache.tuscany.sca.implementation.bpel.ode.ODEExternalService$1$1
>> .call(ODEExternalService.java:146)
>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
>> utor.java:885)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
>> .java:907)
>> at java.lang.Thread.run(Thread.java:619)
>> Caused by: java.lang.NullPointerException
>> at org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(
>> SimpleScheduler.java:194)
>> ... 10 more
>> Terminate batch job (Y/N)? y
>>
>>
>> Anyone else seeing this?
>>
>> Simon
>>
>
> I see the same, it worked ok this morning then i updated to pick up
> recent checked in changes and now it hangs with "Unable to register
> synchronizer."
>
> ...ant
>
Yep, I don't see any explicit implementation.bpel changes so something
else we've changed if upsetting it. I think this registerSynchronizer
is just a side effect of underlying problem. I have a feeling that the
error reporting from BPEL is not working properly.
Simon
Re: [1.x] hang in BPEL itest with latest code
Posted by ant elder <an...@gmail.com>.
On Mon, Apr 27, 2009 at 10:18 AM, Simon Laws <si...@googlemail.com> wrote:
> itest\bpel\helloworld-reference is hanging for me with the latest
> code. It's getting to...
>
> <message><parameters><getGreetings xmlns="http://greetings"><message xmlns="http
> ://helloworld" xmlns:ns2="http://helloworld/" xmlns:xs="http://www.w3.org/2001/X
> MLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:str
> ing">Luciano</message></getGreetings></parameters></message>
> [DEBUG] - GeronimoLog.debug(66) | >>> Payload: <?xml version="1.0" encoding="UTF
> -8"?>
> <getGreetings xmlns="http://greetings"><message xmlns="http://helloworld" xmlns:
> ns2="http://helloworld/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Luciano</message
>></getGreetings>
> [ERROR] - GeronimoLog.error(108) | Error sending message (mex={PartnerRoleMex#hq
> ejbhcnphr4889s9idrig [PID {http://helloworld}HelloWorld-1] calling null.getGreet
> ings(...)}): Unable to register synchronizer.
> org.apache.ode.bpel.iapi.ContextException: Unable to register synchronizer.
> at org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(
> SimpleScheduler.java:206)
> at org.apache.ode.scheduler.simple.SimpleScheduler.addTodoOnCommit(Simpl
> eScheduler.java:364)
> at org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(
> SimpleScheduler.java:232)
> at org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.continueAsy
> nc(PartnerRoleMessageExchangeImpl.java:126)
> at org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.replyWithFa
> ilure(PartnerRoleMessageExchangeImpl.java:97)
> at org.apache.tuscany.sca.implementation.bpel.ode.ODEExternalService$1$1
> .call(ODEExternalService.java:146)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
> utor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
> .java:907)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(
> SimpleScheduler.java:194)
> ... 10 more
> Terminate batch job (Y/N)? y
>
>
> Anyone else seeing this?
>
> Simon
>
I see the same, it worked ok this morning then i updated to pick up
recent checked in changes and now it hangs with "Unable to register
synchronizer."
...ant