hi paul;
i have time to work on this again over the next few days....
here is the current error message with beta11 on my win2k sp1 box
*** Debugger Output for Process com.singingfish.cpp.apps.xmlValidator(2)
***
Launched VM Java Debug Interface (Reference Implementation) version 1.3
Java Debug Wire Protocol (Reference Implementation) version 1.0
JVM Debug Interface version 1.0
JVM version 1.3.0_01 (Java HotSpot(TM) Client VM, interpreted mode)
initSIOConnect: starting standard I/O handshake.
initSIOConnect: starting SIO connect thread.
Debugger waiting for Emacs to connect to app SIO port 3527.
vm started...
All threads suspended...
Launch command line:
javaw -classpath
u:/dest_classpath;s:/java/jars/jdbc2_0-stdext/lib/jdbc2_0-stdext.jar;s:/java/jars/jta-spec1_0_1/jta-spec1_0_1.jar;s:/java/jars/jndi1_2_1/lib/jndi.jar;s:/java/jars/ldap1_2_1/lib/providerutil.jar;s:/java/jars/rmiregistry1_2_1/lib/rmiregistry.jar;s:/java/jars/oracle_jdbc/lib/classes12.zip;s:/java/jars/xerces_1_0_3/xerces.jar;s:/java/jars/Xalan/xalan.jar;s:/java/jars/toplink/TOPLink.jar;s:/java/jars/toplink/Tools.jar;s:/java/jars/toplink/TOPLinkX.jar;s:/java/jars/PerlTools-1.2.0a/PerlTools.jar;s:/java/jars/servlet1_2_2/servlet.jar;s:/java/jars/oracle_aq/aqapi.jar;s:/java/jars/aimie_1_0_0/aimie.jar;s:/java/jars/junit3_5/junit.jar;s:/java/jars/oreilly_1_0_0/oreilly.jar;s:/java/jars/javamail_1_1_3/mail.jar;s:/java/jars/quicktime_4_1/QTJava.zip;s:/java/jars/jaf_1_0_1/activation.jar;s:/java/jars/ant_1.3
com.singingfish.cpp.apps.xmlValidator
Emacs connected to standard IO port 3526 for process
com.singingfish.cpp.apps.xmlValidator.
Gave up waiting for Emacs to connect to SIO port: 3527
so, which el file do i brutally hack to hardcode the port number? :-)
i poked around in jde-db.el and jde-bug.el, but i didnt see anything
pertinent. so i decided to give up and ask.
i *really* want to make progress on this!
tnx!
johnu
On Fri, 27 Apr 2001, Paul Kinnucan wrote:
> Hi John,
>
> I think you are on to something here. I failed to notice that Javier tried
> to launch a debuggee process twice in succession. Apparently JDE failed to
> get the message to connect to port 1900 on the first attempt, perhaps
> because standard I/O was blocked. On the second attemp, the message from
> the first attempt finally reaches the JDE and the JDE connects to socket
> 1900. Meanwhile JDEbug has created another socket 1901 and has sent a
> message to connect to that socket to the JDE. Again this second never
> message never reaches the JDE and thus JDE never attempts to connect to the
> socket and eventually the socket times out, resulting in the "gave up
> waiting" message for JDEbug.
>
> I think the problem may be figuring out what is blocking the JDE from
> getting the socket message from JDEbug. Another approach may be just to cut
> the Gordian knot and abandon the whole idea of having the operating system
> assign a port. Rather, the JDE can include a predetermined (but
> configurable) port number in the launch process command to JDEbug. For
> example, the default port might by 5656. So JDE would pass this port number
> ot JDEbug, wait a little while to give JDEbug time to launch the
> application and set up a socket, and then attempt to connect to port 5656,
> assuming that JDEbug has had time to create a server socket at 5656.
>
> - Paul
>
>
> At 11:54 AM 4/27/01 -0700, you wrote:
> >Wild guess made without looking at the code:
> >
> >it may be trying to connect twice because it somehow didnt get hooked up
> >with the successful java connection to port 1900.
> >
> >so java has sucessfully engaged port 1900 and is patiently waiting there.
> >
> >JDEbug may have timed out and attempted to reconnect. but it's discovered
> >that there is 'some guy' on port 1900 so it tries to get java to start up
> >with 1901.
> >
> >java sees no reason to honor the request because it's already busy waiting
> >on 1900.
> >
> >thus, two lonely ships pass in the night :-)
> >
> >
> >again, this is just a guess.
> >
> >On Fri, 27 Apr 2001, Paul Kinnucan wrote:
> >
> >> At 11:10 AM 4/27/01 -0400, Javier Lopez wrote:
> >> >
> >> > I tried it on simple class, (JDE->Debug App)
> >> > and I get something like
> >> > Error: debugger didn't respond to command:
> >> > -1 2607 launch 12 -vmexec javaw -classic
> >> >
> >> > or something like
> >> > No response to command 2612. (process = 13; timeout = 30 sec.)
> >> >
> >> > But the most intersting one is this one.
> >> > this JDE->Debug App wait for it to fail and repeat JDE-Debug App
> >> >
> >> > *** Debugger Output for Process Test(2) ***
> >> >
> >> > Launched VM Java Debug Interface (Reference Implementation) version 1.3
> >> > Java Debug Wire Protocol (Reference Implementation) version 1.0
> >> > JVM Debug Interface version 1.0
> >> > JVM version 1.3.0_01 (Classic VM, native threads, nojit)
> >> > initSIOConnect: starting standard I/O handshake.
> >> > initSIOConnect: starting SIO connect thread.
> >> > Debugger waiting for Emacs to connect to app SIO port 1901.
> >> > vm started...
> >> > All threads suspended...
> >> > Launch command line:
> >> > javaw -classic Test c:/code/Development/src/ config
> ConfigVariables.vars
> >> > tmpl
> >> >
> >> > Emacs connected to standard IO port 1900 for process Test.
> >> > VM options: '-classic '
> >> > Gave up waiting for Emacs to connect to SIO port: 1901
> >> >
> >>
> >>
> >>
> >> Wow! Putting a timout on the socket accept process in JDE-2.2.7beta11 really
> >> paid off. I should have done this ages ago. It appears that for some reason
> >> Emacs and Java are off by 1 on the socket number. This is the first solid
> >> information I've gotten on this problem in about a year and would
> explain the
> >> hangup. Now the question is why the difference? I can't look at this right
> >now
> >> but if anyone else wants to pursue it, here is some background. One of the
> >> steps performed by JDEbug when launching an application is to create a
> server
> >> socket. JDEbug allows Java to choose the port number of the server socket
> >> (e.g., 1900). JDEbug then sends this port number back to the JDE. The JDE
> >then
> >> triees to connect to the socket on the specified port. What appears is that
> >> somehow, on some systems, the port number gets bumped by 1 so that
> JDEbug is
> >> waiting on port 1901 while the JDE is trying to connect to port 1900.
> >>
> >> Any thoughts as to why this might be happening?
> >>
> >> - Paul
> >>
> >> >
> >> > Javier
> >> >
> >> >
> >> > -----Original Message-----
> >> > From: Jim Goodwin [mailto:[EMAIL PROTECTED]]
> >> > Sent: Friday, April 27, 2001 10:55 AM
> >> > To: '[EMAIL PROTECTED]'
> >> > Subject: JDEBug vs Win2K and/or NT4: Status?
> >> >>
> >> >> Hi all,
> >> >>
> >> >> I see in the mail-traffic that Paul K has changed the JDEBug code to
> >avoid
> >> >> setting priority on the thread when launching the debuggee process, in
> >an
> >> >> effort to cure the problems with deadlocking at launch.
> >> >>
> >> >> What has not appeared is any user report of whether this has helped or
> >> >> cause the problems to go away. Has anyone tried this yet with Win2K
> >> >> and/or NT 4? And if so, what experience have y'all had?
> >> >> jim
> >> >
> >> >
> >>
> >>
>
>