This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 142861 - Problems initializing remote CSM on IDE restart
Summary: Problems initializing remote CSM on IDE restart
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Remote (show other bugs)
Version: 6.x
Hardware: All All
: P2 blocker (vote)
Assignee: Vladimir Voskresensky
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-05 00:00 UTC by _ gordonp
Modified: 2008-08-18 08:01 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description _ gordonp 2008-08-05 00:00:25 UTC
There seems to be a race condition causing an intermittent failure initializing a remote
compiler collection with an existing userdir.

To duplicate:
1. Remove your userdir
2. Run the IDE and define a remote host and do some action (build or debug).
3. Exit the IDE and restart.

At this point I get a botched compiler collection about 25% of the time. If you open
the T->O panel and select the remote host, it shows 0 compiler sets. If I run with
"-J-Dcnd.remote.logger=FINE" I see the CompilerSetManager.initRemoteCompilerSets()
has been called twice for and that there was an IOException in CompilerSetScriptManager.runScript().

At this point, the remove host is unusable (although I can remove the node and
re-add it).

Here is the cnd.remote.logger output (from messages.log):
> FINE [cnd.remote.logger]: CSM.init: initializing remote compiler set for: gordonp@pucci
> WARNING [cnd.remote.logger]: CSM.initRemoteCompilerSets for gordonp@pucci [PENDING]

1st call to initRemoteCompilerSets

> FINE [cnd.remote.logger]: RSR.validate2: Validating gordonp@pucci
> FINE [cnd.remote.logger]: RemoteCommandSupport<Init>: Running [...] on gordonp@pucci
> FINE [cnd.remote.logger]: RSS.needsSetupOrUpdate: GET_SCRIPT_INFO returned 0
> FINE [cnd.remote.logger]: RemoteCommandSupport<Init>: Running [...] on gordonp@pucci
> FINE [cnd.remote.logger]: RSS.getBinaryUpdates: GET_LIB_INFO returned 0
> FINE [cnd.remote.logger]: CSM.init: initializing remote compiler set for: gordonp@pucci
> WARNING [cnd.remote.logger]: CSM.initRemoteCompilerSets for gordonp@pucci [PENDING]

2nd call...

> FINE [cnd.remote.logger]: CSSM.runScript: Reading input from getCompilerSets.bash
> FINE [cnd.remote.logger]:     platform [SunOS i86pc]
> FINE [cnd.remote.logger]: CSSM.runScript: Reading input from getCompilerSets.bash
> FINE [cnd.remote.logger]:     platform [SunOS i86pc]
> FINE [cnd.remote.logger]:     line [GNU;/opt/sfw/bin;gcc;g++;gdb;gmake]
> FINE [cnd.remote.logger]:     line [SunStudio_10;/opt/ss10/SUNWspro/bin;cc;CC;dmake;gdb=/usr/local/bin/gdb]
> FINE [cnd.remote.logger]:     line [SunStudio_11;/opt/ss11/SUNWspro/bin;cc;CC;dmake;gdb=/usr/local/bin/gdb]
> FINE [cnd.remote.logger]:     line [SunStudio_12;/opt/ss12/SUNWspro/bin;cc;CC;dmake;gdb=/usr/local/bin/gdb]
> WARNING [cnd.remote.logger]: CSSM.runScript: IOException [Stream closed]

Whenever initRemoveCompilerSets is called twice, I get this exception and the CSM
doesn't get initialized.

> FINE [cnd.remote.logger]: CSM.initRemoteCompileSets: platform = 1
> FINE [cnd.remote.logger]: CSM.initRemoteCompileSets: platform = 1
> FINE [cnd.remote.logger]: CSM.initRemoteCompileSets: line = [GNU;/opt/sfw/bin;gcc;g++;gdb;gmake]
> FINE [cnd.remote.logger]: CSM.initRemoteCompileSets: line = [SunStudio_10;...]
> FINE [cnd.remote.logger]: CSM.initRemoteCompileSets: line = [SunStudio_11;...]
> FINE [cnd.remote.logger]: CSM.initRemoteCompileSets: line = [SunStudio_12;...]
> FINE [cnd.remote.logger]: CSM.initRemoteCompilerSets: Found 2 compiler sets
> FINE [cnd.remote.logger]: RemoteCommandSupport<Init>: Running [PATH=/bin:/usr/bin; env] on gordonp@pucci
> FINE [cnd.remote.logger]: RemoteCommandSupport<Init>: Running [/...] on gordonp@pucci
> FINE [cnd.remote.logger]: RemoteCommandSupport<Init>: Running [...] on gordonp@pucci
> FINE [cnd.remote.logger]: RemoteCommandSupport<Init>: Running [...] on gordonp@pucci
> FINE [cnd.remote.logger]: CSM.initRemoteCompilerSets: Found 2 compiler sets
> FINE [cnd.remote.logger]: RemoteCommandSupport<Init>: Running [/usr/bin/test -d "" -o -f ""] on gordonp@pucci
Comment 1 Vladimir Voskresensky 2008-08-18 08:01:11 UTC
fixed by changing threading model