Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Communications Framework (ECF) » JmDNSDiscoveryContainer and startup problem
JmDNSDiscoveryContainer and startup problem [message #597296] Fri, 10 February 2006 19:24 Go to next message
Bill Joy is currently offline Bill JoyFriend
Messages: 60
Registered: July 2009
Member
I am seeing occasionally that JmDNS startup will hang. I am using
1.5.0_03-b07 and ECF 0.6.0.

From the stack traces (see below) I am guessing this is a timing problem in
JmDNSDiscoveryContainer based on the order in which the API is called. My
plugin connects, adds itself as a service listener, then registers as a
service.

JmDNSDiscoveryContainer.registerServiceWithJmDNS() runs synchronized on a
lock. Before the service registration call returns, JmDNS reports in
another thread the discovery of a service (perhaps the same one it is
currently registering). This call hangs because of the lock. My guess is
that not returning from that event prevents registerService() from
completing.

Here are the stack traces I could identify that are associated with JmDNS
usage:

Thread [P2P Restart] (Suspended)
Object.wait(long) line: not available [native method]
ServiceInfo(Object).wait() line: 474
JmDNS.registerService(ServiceInfo) line: 610
JMDNSDiscoveryContainer.registerServiceWithJmDNS(IServiceInf o) line: 369
JMDNSDiscoveryContainer.registerService(IServiceInfo) line: 344
(snip)

Thread [JmDNS.SocketListener] (Suspended)
JMDNSDiscoveryContainer.serviceTypeAdded(ServiceEvent) line: 449
JmDNS.registerServiceType(String) line: 724
JmDNS.handleResponse(DNSIncoming) line: 989
JmDNS.access$6(JmDNS, DNSIncoming) line: 940
JmDNS$SocketListener.run() line: 1150
Thread.run() line: 595

Thread [Timer-0] (Suspended)
JmDNS$Responder.run() line: 1741
TimerThread.mainLoop() line: 512
TimerThread.run() line: 462
Re: JmDNSDiscoveryContainer and startup problem [message #600725 is a reply to message #597296] Sat, 11 February 2006 00:08 Go to previous messageGo to next message
Scott Lewis is currently offline Scott LewisFriend
Messages: 974
Registered: July 2009
Senior Member
Hi Bill,

Thanks for the report. Could/would you also file a bugzilla bug about
this so that it's tracked?

And just for additional context...how frequently does the hang occur?

Thanks,

Scott


Bill Joy wrote:
> I am seeing occasionally that JmDNS startup will hang. I am using
> 1.5.0_03-b07 and ECF 0.6.0.
>
> From the stack traces (see below) I am guessing this is a timing problem in
> JmDNSDiscoveryContainer based on the order in which the API is called. My
> plugin connects, adds itself as a service listener, then registers as a
> service.
>
> JmDNSDiscoveryContainer.registerServiceWithJmDNS() runs synchronized on a
> lock. Before the service registration call returns, JmDNS reports in
> another thread the discovery of a service (perhaps the same one it is
> currently registering). This call hangs because of the lock. My guess is
> that not returning from that event prevents registerService() from
> completing.
>
> Here are the stack traces I could identify that are associated with JmDNS
> usage:
>
> Thread [P2P Restart] (Suspended)
> Object.wait(long) line: not available [native method]
> ServiceInfo(Object).wait() line: 474
> JmDNS.registerService(ServiceInfo) line: 610
> JMDNSDiscoveryContainer.registerServiceWithJmDNS(IServiceInf o) line: 369
> JMDNSDiscoveryContainer.registerService(IServiceInfo) line: 344
> (snip)
>
> Thread [JmDNS.SocketListener] (Suspended)
> JMDNSDiscoveryContainer.serviceTypeAdded(ServiceEvent) line: 449
> JmDNS.registerServiceType(String) line: 724
> JmDNS.handleResponse(DNSIncoming) line: 989
> JmDNS.access$6(JmDNS, DNSIncoming) line: 940
> JmDNS$SocketListener.run() line: 1150
> Thread.run() line: 595
>
> Thread [Timer-0] (Suspended)
> JmDNS$Responder.run() line: 1741
> TimerThread.mainLoop() line: 512
> TimerThread.run() line: 462
>
>
>
>
Re: JmDNSDiscoveryContainer and startup problem [message #600733 is a reply to message #600725] Sat, 11 February 2006 00:18 Go to previous messageGo to next message
Bill Joy is currently offline Bill JoyFriend
Messages: 60
Registered: July 2009
Member
It's timing sensitive so some people run into it more often.

For me, I have seen it twice today -- maybe somewhere in the once in every
10-20 attempts.


"Scott Lewis" <slewis@composent.com> wrote in message
news:43ED2AE1.7090900@composent.com...
> Hi Bill,
>
> Thanks for the report. Could/would you also file a bugzilla bug about
> this so that it's tracked?
>
> And just for additional context...how frequently does the hang occur?
>
> Thanks,
>
> Scott
>
Re: JmDNSDiscoveryContainer and startup problem [message #600809 is a reply to message #597296] Wed, 22 February 2006 00:20 Go to previous messageGo to next message
Bill Joy is currently offline Bill JoyFriend
Messages: 60
Registered: July 2009
Member
I have been using ECF 0.7.1 most of the day and have not seen this problem
appear. Thanks, Scott for getting the fix in.


"Bill Joy" <bjoy@borland.com> wrote in message
news:dsip3u$iuk$1@utils.eclipse.org...
>I am seeing occasionally that JmDNS startup will hang. I am using
>1.5.0_03-b07 and ECF 0.6.0.
>
> From the stack traces (see below) I am guessing this is a timing problem
> in JmDNSDiscoveryContainer based on the order in which the API is called.
> My plugin connects, adds itself as a service listener, then registers as a
> service.
>
> JmDNSDiscoveryContainer.registerServiceWithJmDNS() runs synchronized on a
> lock. Before the service registration call returns, JmDNS reports in
> another thread the discovery of a service (perhaps the same one it is
> currently registering). This call hangs because of the lock. My guess is
> that not returning from that event prevents registerService() from
> completing.
>
> Here are the stack traces I could identify that are associated with JmDNS
> usage:
>
> Thread [P2P Restart] (Suspended)
> Object.wait(long) line: not available [native method]
> ServiceInfo(Object).wait() line: 474
> JmDNS.registerService(ServiceInfo) line: 610
> JMDNSDiscoveryContainer.registerServiceWithJmDNS(IServiceInf o) line: 369
> JMDNSDiscoveryContainer.registerService(IServiceInfo) line: 344
> (snip)
>
> Thread [JmDNS.SocketListener] (Suspended)
> JMDNSDiscoveryContainer.serviceTypeAdded(ServiceEvent) line: 449
> JmDNS.registerServiceType(String) line: 724
> JmDNS.handleResponse(DNSIncoming) line: 989
> JmDNS.access$6(JmDNS, DNSIncoming) line: 940
> JmDNS$SocketListener.run() line: 1150
> Thread.run() line: 595
>
> Thread [Timer-0] (Suspended)
> JmDNS$Responder.run() line: 1741
> TimerThread.mainLoop() line: 512
> TimerThread.run() line: 462
>
>
>
>
Re: JmDNSDiscoveryContainer and startup problem [message #600816 is a reply to message #600809] Wed, 22 February 2006 07:14 Go to previous message
Scott Lewis is currently offline Scott LewisFriend
Messages: 974
Registered: July 2009
Senior Member
Hi Bill,

Good to hear...thanks for the report(s).

Scott

Bill Joy wrote:
> I have been using ECF 0.7.1 most of the day and have not seen this problem
> appear. Thanks, Scott for getting the fix in.
>
>
> "Bill Joy" <bjoy@borland.com> wrote in message
> news:dsip3u$iuk$1@utils.eclipse.org...
>
>>I am seeing occasionally that JmDNS startup will hang. I am using
>>1.5.0_03-b07 and ECF 0.6.0.
>>
>>From the stack traces (see below) I am guessing this is a timing problem
>>in JmDNSDiscoveryContainer based on the order in which the API is called.
>>My plugin connects, adds itself as a service listener, then registers as a
>>service.
>>
>>JmDNSDiscoveryContainer.registerServiceWithJmDNS() runs synchronized on a
>>lock. Before the service registration call returns, JmDNS reports in
>>another thread the discovery of a service (perhaps the same one it is
>>currently registering). This call hangs because of the lock. My guess is
>>that not returning from that event prevents registerService() from
>>completing.
>>
>>Here are the stack traces I could identify that are associated with JmDNS
>>usage:
>>
>>Thread [P2P Restart] (Suspended)
>>Object.wait(long) line: not available [native method]
>>ServiceInfo(Object).wait() line: 474
>>JmDNS.registerService(ServiceInfo) line: 610
>> JMDNSDiscoveryContainer.registerServiceWithJmDNS(IServiceInf o) line: 369
>>JMDNSDiscoveryContainer.registerService(IServiceInfo) line: 344
>>(snip)
>>
>>Thread [JmDNS.SocketListener] (Suspended)
>>JMDNSDiscoveryContainer.serviceTypeAdded(ServiceEvent) line: 449
>>JmDNS.registerServiceType(String) line: 724
>>JmDNS.handleResponse(DNSIncoming) line: 989
>>JmDNS.access$6(JmDNS, DNSIncoming) line: 940
>>JmDNS$SocketListener.run() line: 1150
>>Thread.run() line: 595
>>
>>Thread [Timer-0] (Suspended)
>>JmDNS$Responder.run() line: 1741
>>TimerThread.mainLoop() line: 512
>>TimerThread.run() line: 462
>>
>>
>>
>>
>
>
>
Previous Topic:ECF 0.7.0
Next Topic:Exceptions while testing IRC provider
Goto Forum:
  


Current Time: Wed Nov 26 13:21:35 GMT 2014

Powered by FUDForum. Page generated in 0.02228 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software