|
|
Re: JmDNS provider problem 0.5.3 [message #591935 is a reply to message #591927] |
Fri, 09 December 2005 15:40 |
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!
>>
>>
>>
|
|
|
|
Powered by
FUDForum. Page generated in 0.04417 seconds