Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Communications Framework (ECF) » JmDNS provider problem 0.5.3
JmDNS provider problem 0.5.3 [message #591917] Thu, 08 December 2005 17:49 Go to next message
Bill Joy is currently offline Bill Joy
Messages: 60
Registered: July 2009
Member
I updated to 0.5.3 and am starting to have problems with the JmDNS provider
crashing with a buffer overrun. I see a similar error if I use the ECF
Dynamic Service Discovery view (except in my case I don't get the "WARNING:
recover() We are back!" output).

I did notice that 0.5.3 is using a newer version of JmDNS than what is
available from SourceForge as a download.

Here is what I am getting using ECF Dynamic Service Discovery:

Dec 8, 2005 2:36:45 PM javax.jmdns.JmDNS$TypeResolver run
WARNING: run() exception
java.io.IOException: buffer full
at javax.jmdns.DNSOutgoing.writeByte(DNSOutgoing.java:138)
at javax.jmdns.DNSOutgoing.writeName(DNSOutgoing.java:253)
at javax.jmdns.DNSRecord$Pointer.write(DNSRecord.java:411)
at javax.jmdns.DNSOutgoing.writeRecord(DNSOutgoing.java:285)
at javax.jmdns.DNSOutgoing.addAnswer(DNSOutgoing.java:109)
at javax.jmdns.JmDNS$TypeResolver.run(JmDNS.java:1962)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Dec 8, 2005 2:36:45 PM javax.jmdns.JmDNS recover
WARNING: recover() Start services exception
java.lang.IllegalThreadStateException
at java.lang.Thread.start(Thread.java:571)
at javax.jmdns.JmDNS.start(JmDNS.java:242)
at javax.jmdns.JmDNS.recover(JmDNS.java:2290)
at javax.jmdns.JmDNS$TypeResolver.run(JmDNS.java:1984)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Dec 8, 2005 2:36:45 PM javax.jmdns.JmDNS recover
WARNING: recover() We are back!
Re: JmDNS provider problem 0.5.3 [message #591927 is a reply to message #591917] Fri, 09 December 2005 02:21 Go to previous messageGo to next message
Scott Lewis is currently offline Scott Lewis
Messages: 970
Registered: July 2009
Senior Member
Hi Bill,

Could you explain what you are doing to get this problem? I can't
curently reproduce. Can you get it to happen consistently? If so, how?
Which version of VM and OS are you running this on?

I'm in touch with one of the JmDNS authors and the source is available
so I expect that this problem will be fixable.

Thanks,

Scott


Bill Joy wrote:
> I updated to 0.5.3 and am starting to have problems with the JmDNS provider
> crashing with a buffer overrun. I see a similar error if I use the ECF
> Dynamic Service Discovery view (except in my case I don't get the "WARNING:
> recover() We are back!" output).
>
> I did notice that 0.5.3 is using a newer version of JmDNS than what is
> available from SourceForge as a download.
>
> Here is what I am getting using ECF Dynamic Service Discovery:
>
> Dec 8, 2005 2:36:45 PM javax.jmdns.JmDNS$TypeResolver run
> WARNING: run() exception
> java.io.IOException: buffer full
> at javax.jmdns.DNSOutgoing.writeByte(DNSOutgoing.java:138)
> at javax.jmdns.DNSOutgoing.writeName(DNSOutgoing.java:253)
> at javax.jmdns.DNSRecord$Pointer.write(DNSRecord.java:411)
> at javax.jmdns.DNSOutgoing.writeRecord(DNSOutgoing.java:285)
> at javax.jmdns.DNSOutgoing.addAnswer(DNSOutgoing.java:109)
> at javax.jmdns.JmDNS$TypeResolver.run(JmDNS.java:1962)
> at java.util.TimerThread.mainLoop(Timer.java:512)
> at java.util.TimerThread.run(Timer.java:462)
> Dec 8, 2005 2:36:45 PM javax.jmdns.JmDNS recover
> WARNING: recover() Start services exception
> java.lang.IllegalThreadStateException
> at java.lang.Thread.start(Thread.java:571)
> at javax.jmdns.JmDNS.start(JmDNS.java:242)
> at javax.jmdns.JmDNS.recover(JmDNS.java:2290)
> at javax.jmdns.JmDNS$TypeResolver.run(JmDNS.java:1984)
> at java.util.TimerThread.mainLoop(Timer.java:512)
> at java.util.TimerThread.run(Timer.java:462)
> Dec 8, 2005 2:36:45 PM javax.jmdns.JmDNS recover
> WARNING: recover() We are back!
>
>
>
>
Re: JmDNS provider problem 0.5.3 [message #591935 is a reply to message #591927] Fri, 09 December 2005 10:40 Go to previous messageGo to next message
Bill Joy is currently offline Bill Joy
Messages: 60
Registered: July 2009
Member
I am running Windows XP and JDK 1.5.0_03-b07.

This is probably related to specifically to the services which are running
on my network. The buffer is only 1460 bytes and I am seeing
JmDNS.serviceTypes having 49 entries (with a few having pretty long names).

Since the service it dies on is the next-to-the-last entry displayed by ECF
Dynamic Service Discovery, my guess is the problem is just that the buffer
is too small for my network. This is happening consistently since
yesterday.

As an experiment, I ran the JmDNS browser application that is part of the
1.0 download from SourceForge. It also crashed the same way. I changed the
buffer size arbitrarily to 1660 and the problem went away for that
application.

So my conclusion is that it is not directly an ECF problem, but rather a too
optimistic value for DNSConstants.MAX_MSG_TYPICAL.

Perhaps the JmDNS authors could either increase that value or else size the
buffer dynamically?


"Scott Lewis" <slewis@composent.com> wrote in message
news:4399306C.9000408@composent.com...
> Hi Bill,
>
> Could you explain what you are doing to get this problem? I can't
> curently reproduce. Can you get it to happen consistently? If so, how?
> Which version of VM and OS are you running this on?
>
> I'm in touch with one of the JmDNS authors and the source is available so
> I expect that this problem will be fixable.
>
> Thanks,
>
> Scott
>
>
> Bill Joy wrote:
>> I updated to 0.5.3 and am starting to have problems with the JmDNS
>> provider crashing with a buffer overrun. I see a similar error if I use
>> the ECF Dynamic Service Discovery view (except in my case I don't get the
>> "WARNING: recover() We are back!" output).
>>
>> I did notice that 0.5.3 is using a newer version of JmDNS than what is
>> available from SourceForge as a download.
>>
>> Here is what I am getting using ECF Dynamic Service Discovery:
>>
>> Dec 8, 2005 2:36:45 PM javax.jmdns.JmDNS$TypeResolver run
>> WARNING: run() exception
>> java.io.IOException: buffer full
>> at javax.jmdns.DNSOutgoing.writeByte(DNSOutgoing.java:138)
>> at javax.jmdns.DNSOutgoing.writeName(DNSOutgoing.java:253)
>> at javax.jmdns.DNSRecord$Pointer.write(DNSRecord.java:411)
>> at javax.jmdns.DNSOutgoing.writeRecord(DNSOutgoing.java:285)
>> at javax.jmdns.DNSOutgoing.addAnswer(DNSOutgoing.java:109)
>> at javax.jmdns.JmDNS$TypeResolver.run(JmDNS.java:1962)
>> at java.util.TimerThread.mainLoop(Timer.java:512)
>> at java.util.TimerThread.run(Timer.java:462)
>> Dec 8, 2005 2:36:45 PM javax.jmdns.JmDNS recover
>> WARNING: recover() Start services exception
>> java.lang.IllegalThreadStateException
>> at java.lang.Thread.start(Thread.java:571)
>> at javax.jmdns.JmDNS.start(JmDNS.java:242)
>> at javax.jmdns.JmDNS.recover(JmDNS.java:2290)
>> at javax.jmdns.JmDNS$TypeResolver.run(JmDNS.java:1984)
>> at java.util.TimerThread.mainLoop(Timer.java:512)
>> at java.util.TimerThread.run(Timer.java:462)
>> Dec 8, 2005 2:36:45 PM javax.jmdns.JmDNS recover
>> WARNING: recover() We are back!
>>
>>
>>
Re: JmDNS provider problem 0.5.3 [message #591950 is a reply to message #591927] Mon, 12 December 2005 10:17 Go to previous message
Bill Joy is currently offline Bill Joy
Messages: 60
Registered: July 2009
Member
Thanks, Scott -- the update you made to JmDNS.jar delivered in the 0.5.4
build fixed the problem I was running into.


"Scott Lewis" <slewis@composent.com> wrote in message
news:4399306C.9000408@composent.com...
> Hi Bill,
>
> Could you explain what you are doing to get this problem? I can't
> curently reproduce. Can you get it to happen consistently? If so, how?
> Which version of VM and OS are you running this on?
>
> I'm in touch with one of the JmDNS authors and the source is available so
> I expect that this problem will be fixable.
>
> Thanks,
>
> Scott
>
>
> Bill Joy wrote:
>> I updated to 0.5.3 and am starting to have problems with the JmDNS
>> provider crashing with a buffer overrun. I see a similar error if I use
>> the ECF Dynamic Service Discovery view (except in my case I don't get the
>> "WARNING: recover() We are back!" output).
>>
>> I did notice that 0.5.3 is using a newer version of JmDNS than what is
>> available from SourceForge as a download.
>>
>> Here is what I am getting using ECF Dynamic Service Discovery:
>>
>> Dec 8, 2005 2:36:45 PM javax.jmdns.JmDNS$TypeResolver run
>> WARNING: run() exception
>> java.io.IOException: buffer full
>> at javax.jmdns.DNSOutgoing.writeByte(DNSOutgoing.java:138)
>> at javax.jmdns.DNSOutgoing.writeName(DNSOutgoing.java:253)
>> at javax.jmdns.DNSRecord$Pointer.write(DNSRecord.java:411)
>> at javax.jmdns.DNSOutgoing.writeRecord(DNSOutgoing.java:285)
>> at javax.jmdns.DNSOutgoing.addAnswer(DNSOutgoing.java:109)
>> at javax.jmdns.JmDNS$TypeResolver.run(JmDNS.java:1962)
>> at java.util.TimerThread.mainLoop(Timer.java:512)
>> at java.util.TimerThread.run(Timer.java:462)
>> Dec 8, 2005 2:36:45 PM javax.jmdns.JmDNS recover
>> WARNING: recover() Start services exception
>> java.lang.IllegalThreadStateException
>> at java.lang.Thread.start(Thread.java:571)
>> at javax.jmdns.JmDNS.start(JmDNS.java:242)
>> at javax.jmdns.JmDNS.recover(JmDNS.java:2290)
>> at javax.jmdns.JmDNS$TypeResolver.run(JmDNS.java:1984)
>> at java.util.TimerThread.mainLoop(Timer.java:512)
>> at java.util.TimerThread.run(Timer.java:462)
>> Dec 8, 2005 2:36:45 PM javax.jmdns.JmDNS recover
>> WARNING: recover() We are back!
>>
>>
>>
Previous Topic:About the ClassLoader in SharedObjectDescription
Next Topic:ECF 0.5.4 stable build
Goto Forum:
  


Current Time: Sat Aug 30 22:39:57 EDT 2014

Powered by FUDForum. Page generated in 0.13219 seconds