| Summary: | [Locator] Locator service fails to list local host (master) TCF agent | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Tools] TCF | Reporter: | Uwe Stieber <uwe.st> | ||||||||
| Component: | Core | Assignee: | Project Inbox <tcf.core-inbox> | ||||||||
| Status: | RESOLVED FIXED | QA Contact: | Eugene Tarassov <eugene> | ||||||||
| Severity: | normal | ||||||||||
| Priority: | P3 | CC: | cdtdoug, mober.at+eclipse | ||||||||
| Version: | unspecified | ||||||||||
| Target Milestone: | 0.5.0 | ||||||||||
| Hardware: | PC | ||||||||||
| OS: | Windows 7 | ||||||||||
| Whiteboard: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Uwe Stieber
Created attachment 204254 [details]
Screenshot of the target tab with the launch configuration dialog
I cannot reproduce it on Windows XP. I'll try Windows 7 next. Cannot reproduce on Windows 7. Need more details, like JRE version (I'm using 1.6.0_27), additional Eclipse plugins - if any, etc. The Eclipse is plain 3.7.1 SDK (64bit) with only the TCF component installed as described. Nothing else is installed to this Eclipse instance. The (64bit) JRE is 1.6.0_27. I have to correct myself about the used JRE. The default JRE used on my system is 1.7.0. If forcing Eclipse to use 1.6.0_27, the issue is gone. This appears to be a Java 7 bug. Created attachment 204349 [details]
Proposed patch to avoid address reuse
With the patch attached, it does work with Java 7 as well.
Created attachment 204350 [details]
Proposed patch to avoid address reuse
Updated patch
Looks like a bug in Java 7, since the docs clearly say that
When a DatagramSocket is created the initial
setting of SO_REUSEADDR is disabled.
http://download.oracle.com/javase/7/docs/api/java/net/DatagramSocket.html#setReuseAddress(boolean)
Or would it matter whether the C agent has bound the socket with SO_REUSEADDR ?
Have you looked for / filed a defect against Java 7 yet ?
My understanding is that Java 7 is buggy as hell at the moment. I wouldn't consider it a supported environment until it proves itself. I have committed the patch. I have made one change before committing: before calling setReuseAddress(), the socket is now created unbound - "new DatagramSocket()" changed to "new DatagramSocket(null)". Thanks! Fixed in master and 0.5.0: http://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/?h=0.5.0&id=b0cbf190fc914ca3076d0a7abce3673c93c37905 |