[xmlblaster] Another volatile message bug

2002-10-25 Thread David Kerry

Ok, now that the NPE problems have been resolved, we've run
into another problem, probably related, where volatile messages
are not deleted properly.

What happens is xmlBlaster seems to get itself confused and
not delete a volatile message when it should.  After it gets
into this state, it will never delete the message and continue
to re-deliver it to each new subscriber/login that it applies to.
It will do this forever as far as I can tell - ie: it will
never expire the message either.

Attached are test scripts to reproduce the problem.

Protocol is XML-RPC, BTW.

To reproduce, run the scripts in the following order:


1) perl server2.pl (in xterm #1)
2) perl serverlogin.pl (in xterm #2)
3) perl testpub.pl (in xterm #2)

 (server2.pl will spit out 'GOT UPDATE' to note
  that it got the published message via callback)

4) kill server2.pl (ctrl-c in xterm #1)
5) perl testpub.pl (in xterm #2)

  (xmlblaster will kill server2's login because it
   can no longer reach the callback server)

6) perl server2.pl (in xterm #1)
7) perl serverlogin.pl (in xterm #1)

Note that server2.pl now says 'GOT UPDATE' again.
It should not receive a callback at this point - the
message was volatile so it should have been deleted
immediately.

Continued restarting of server2/serverlogin will
cause the same message to get continually posted
again and again when it should receive nothing at
all.

-- 
David Kerry




testpub.pl
Description: Perl program


server2.pl
Description: Perl program


serverlogin.pl
Description: Perl program


Re: [xmlblaster] NPE in ClientSubscriptions.getSubscriptionByOid

2002-10-25 Thread Marcel Ruff
David Kerry wrote:


On Fri, Oct 25, 2002 at 04:42:29PM +0200, Marcel Ruff wrote:
 

Ok, i have comited it to xmlBlaster/demo/perl/xmlrpc as is (i've only 
added some credits).

Volunteers may extend the examples :-)

thanks for your contribution

Marcel

PS: Has the NPE disappeared?
   


Actually, the NPEs went away for the test case, but we encountered
more NPEs when we pointed our development code against it.  However,
I noticed there were some more changes this morning, so I did another
update and now with the latest changes, it no longer seems to have
any problems.  Thank you!

 

Yes, i had a dream tonight, and adding that fix solved it finally :-)

Marcel





Re: [xmlblaster] NPE in ClientSubscriptions.getSubscriptionByOid

2002-10-25 Thread David Kerry
On Fri, Oct 25, 2002 at 04:42:29PM +0200, Marcel Ruff wrote:
> Ok, i have comited it to xmlBlaster/demo/perl/xmlrpc as is (i've only 
> added some credits).
> 
> Volunteers may extend the examples :-)
> 
> thanks for your contribution
> 
> Marcel
> 
> PS: Has the NPE disappeared?

Actually, the NPEs went away for the test case, but we encountered
more NPEs when we pointed our development code against it.  However,
I noticed there were some more changes this morning, so I did another
update and now with the latest changes, it no longer seems to have
any problems.  Thank you!

-- 
David Kerry




Re: [xmlblaster] NPE in ClientSubscriptions.getSubscriptionByOid

2002-10-25 Thread Marcel Ruff
David Kerry wrote:


On Fri, Oct 25, 2002 at 01:29:11PM +0200, Marcel Ruff wrote:
 

David Kerry wrote:
   


 

>Alright - I've attached two scripts that reproduce the problem
>right away.
>
>Just run the server script, then follow up with the test.pl script.
>No other work needed - it will cause xmlBlaster to NPE right away.
>
>
>
Thanks - this way it was easy to locate the problem.
I have fixed it and it is available via cvs on the main branch.
Sorry about the inconvenience.

Your Perl code is cool, may i add it to the xmlBlaster/demo directory to
Cyrilles
examples (after adding credits to you)?

best regards,

Marcel
   


Certainly.

I wouldn't quite call those 'good' examples though... ;-)

It would probably be better to rewrite them to use the
xmlBlaster perl modules instead though (as the xmlBlasterClient.pl
example does).

 

Ok, i have comited it to xmlBlaster/demo/perl/xmlrpc as is (i've only 
added some credits).

Volunteers may extend the examples :-)

thanks for your contribution

Marcel

PS: Has the NPE disappeared?




Re: [xmlblaster] NPE in ClientSubscriptions.getSubscriptionByOid

2002-10-25 Thread David Kerry
On Fri, Oct 25, 2002 at 01:29:11PM +0200, Marcel Ruff wrote:
> David Kerry wrote:

>  >Alright - I've attached two scripts that reproduce the problem
>  >right away.
>  >
>  >Just run the server script, then follow up with the test.pl script.
>  >No other work needed - it will cause xmlBlaster to NPE right away.
>  >
>  >
>  >
> Thanks - this way it was easy to locate the problem.
> I have fixed it and it is available via cvs on the main branch.
> Sorry about the inconvenience.
> 
> Your Perl code is cool, may i add it to the xmlBlaster/demo directory to
> Cyrilles
> examples (after adding credits to you)?
> 
> best regards,
> 
> Marcel

Certainly.

I wouldn't quite call those 'good' examples though... ;-)

It would probably be better to rewrite them to use the
xmlBlaster perl modules instead though (as the xmlBlasterClient.pl
example does).

-- 
David Kerry





Re: [xmlblaster] NPE in ClientSubscriptions.getSubscriptionByOid

2002-10-25 Thread Marcel Ruff
David Kerry wrote:


On Thu, Oct 24, 2002 at 01:36:43AM -0400, David Kerry wrote:

 

Ok - I've attached a short perl client for client #2 in this case.
I don't have a simple client #1 yet.  However, it should be trivial
to whip one up - it only has to login, subscribe, and listen for
callbacks and nothing more.  I'll try to make one in perl tomorrow
if I have a chance.

--
David Kerry
   



Alright - I've attached two scripts that reproduce the problem
right away.

Just run the server script, then follow up with the test.pl script.
No other work needed - it will cause xmlBlaster to NPE right away.

 

Thanks - this way it was easy to locate the problem.
I have fixed it and it is available via cvs on the main branch.
Sorry about the inconvenience.

Your Perl code is cool, may i add it to the xmlBlaster/demo directory to 
Cyrilles
examples (after adding credits to you)?

best regards,

Marcel






[xmlblaster] Re: logout blocking

2002-10-25 Thread Marcel Ruff


> I am now integrating the new
>XmlBlaster into instant news, and a few problems have poped up. Here is
>one of them. When trying to disconnect a client connection (in same VM
>as server if that matters) the stuff just hangs:
>
>"ScannerThread" daemon prio=1 tid=0x0x8582ad8 nid=0x6cb in Object.wait() [4dc33000..4dc34840]
>at java.lang.Object.wait(Native Method)
>- waiting on <0x46bcd3e8> (a org.jacorb.orb.connection.ReplyInputStream)
>at java.lang.Object.wait(Object.java:426)
>at org.jacorb.orb.connection.ReplyInputStream.result(ReplyInputStream.java:142)
>- locked <0x46bcd3e8> (a org.jacorb.orb.connection.ReplyInputStream)
>at org.jacorb.orb.Delegate.invoke(Delegate.java:779)
>at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
>at 
org.xmlBlaster.protocol.corba.authenticateIdl._AuthServerStub.disconnect(_AuthServerStub.java:130)
>at org.xmlBlaster.client.protocol.corba.CorbaConnection.disconnect(CorbaConnection.java:531)
>at 
org.xmlBlaster.client.protocol.XmlBlasterConnection.disconnect(XmlBlasterConnection.java:1176)
>- locked <0x466f5558> (a org.xmlBlaster.client.protocol.XmlBlasterConnection)
>at 
org.xmlBlaster.client.protocol.XmlBlasterConnection.disconnect(XmlBlasterConnection.java:1101)
>at org.backsource.in.blaster.BlasterFactory$BlasterSubscriber.logout(BlasterFactory.java:179)
>
>Is there any way to sort of force a closedown?
>
It seems you client blocks on the disconnect invocation because there is
no response coming back.

1 .JacORB seems to be in a deadlock - or -
2. xmlBlaster does not respond and your JacOrb client waits forever.

The IDL declaration is:

  void disconnect(in string sessionId, in serverIdl::XmlType qos)
  raises (serverIdl::XmlBlasterException);

So the client can only expect an XmlBlasterException but never a return
value.

If it continues to be a problem change the IDL to

  oneway  void disconnect(in string sessionId, in serverIdl::XmlType qos);

-> oneway and without an exception.
Please report to us any progress with this issue.
What does the server side logging say?

Do you have a simple example for me to reproduce the problem?

thanks,

Marcel

>
>//Peter
>
>






Re: [xmlblaster] NPE in ClientSubscriptions.getSubscriptionByOid

2002-10-25 Thread Marcel Ruff
David Kerry wrote:

>On Thu, Oct 24, 2002 at 01:36:43AM -0400, David Kerry wrote:
>
>
>
>>Ok - I've attached a short perl client for client #2 in this case.
>>I don't have a simple client #1 yet.  However, it should be trivial
>>to whip one up - it only has to login, subscribe, and listen for
>>callbacks and nothing more.  I'll try to make one in perl tomorrow
>>if I have a chance.
>>
>>--
>>David Kerry
>>
>>
>
>
>Alright - I've attached two scripts that reproduce the problem
>right away.
>
>Just run the server script, then follow up with the test.pl script.
>No other work needed - it will cause xmlBlaster to NPE right away.
>
>
>
Thanks - this way it was easy to locate the problem.
I have fixed it and it is available via cvs on the main branch.
Sorry about the inconvenience.

Your Perl code is cool, may i add it to the xmlBlaster/demo directory to
Cyrilles
examples (after adding credits to you)?

best regards,

Marcel