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 99777

Summary: CND doesn't work if user installed cygwin on d:\ disk
Product: cnd Reporter: soldatov <soldatov>
Component: -- Other --Assignee: _ gordonp <gordonp>
Status: CLOSED FIXED    
Severity: blocker    
Priority: P1    
Version: 5.x   
Hardware: All   
OS: Windows XP   
Issue Type: DEFECT Exception Reporter:
Attachments: NPE when project created with the previous CND version is opened
NPE when project properties dialog is invoked using context menu
NPW when file properties dialog is invoked for C++ file

Description soldatov 2007-04-03 10:25:22 UTC
Steps:
- install cygwin on d:/cygwin
- run Netbeans
- create sample project
==> Parser cannot parse project, hyperlink and code completion doesn't work
Comment 1 Alexander Simon 2007-04-03 11:36:18 UTC
Are you add cygwin in path?  (d:\cygwin\bin)
I have a cygwnn on D:\ and all work right.
Comment 2 soldatov 2007-04-03 12:08:12 UTC
Are you using latest CND build? I had not this problem yesterday.
Comment 3 Maria Tishkova 2007-04-03 16:32:52 UTC
Actually the problem is occurred in case you open existing project which was
created with previous CND build.
It is not occurred for newly created projects, only  for the old ones.

Please see attachments with NPE which occurres during the work with such "old"
CND projects
Comment 4 Maria Tishkova 2007-04-03 16:36:10 UTC
Created attachment 40349 [details]
NPE when project created with the previous CND version is opened
Comment 5 Maria Tishkova 2007-04-03 16:37:06 UTC
Created attachment 40351 [details]
NPE when project properties dialog is invoked using context menu
Comment 6 Maria Tishkova 2007-04-03 16:38:10 UTC
Created attachment 40352 [details]
NPW when file properties dialog is invoked for C++ file
Comment 7 _ gordonp 2007-04-03 16:51:07 UTC
This doesn't look like a codemodel problem but one related to the build
tools setup I committed last night.
Comment 8 _ gordonp 2007-04-03 19:14:14 UTC
Is the summary line of this IZ correct? It D:\cygwin\bin the problem or
is it opening an old project (old meaning pre-build-tools commit)? It
looks like the Cygwin dir isn't the problem but would like verification.

Otherwise, I'll spend time trying to find a 2-disk PC where I can install
Cygwin on a D: drive...
Comment 9 Maria Tishkova 2007-04-03 19:17:26 UTC
Gordon, here is enviroment this problem is reproducible at:
Windows XP
netbeans installed in C:\netbeans-5.5.1beta
Cygwin installed in D:\Cygwin

and I have D:\usr folder in my laptop.

I can rename my D:\usr folder and try if it is reproducible, but I will can do
it tomorrow only
Comment 10 _ gordonp 2007-04-03 19:35:36 UTC
What I need to determine is whether the problem is caused by opening 
pre-build-tools-commit projects or because your Cygwin is on the D drive
(since I'm looking for Cygwin from your path, I'd be surprized if that
were the problem).

If you can (even temporarily) move your Cygwin and /usr dir to C: and
see if that resolves the problem, it would help me focus on the real
cause. If you can't, I'll find a PC with multiple drives and see if
I can duplicate it.

I'll spend much of today trying to duplicate these NPEs, so perhaps I'll
have an answer before you get in tomorrow.
Comment 11 Maria Tishkova 2007-04-03 19:55:03 UTC
Gordon,

Please try to create project with the previous build on Windows,
and the install new CND build and open created project.

When I have renamed my D:/usr to D:/usr_ I do not get NPE anymore,
but IllegalArgumentException is occurred if I am pushing Cancel in the dialog
occurred when I am trying to open project created with the previous CND build.

It is connected as I think with changes of configuration.xml file.
it used to have numbers as set of compilers collection and now it has names, is
it correct? For me it looks like a bug.

I will investigate the problem tomorrow once again if the problem 


please see stack trace below (it is not so big so I am including it in comment)

java.lang.IllegalArgumentException: Project Quote_1-previous is not open and
cannot be set as main.
	at
org.netbeans.modules.project.ui.OpenProjectList.setMainProject(OpenProjectList.java:421)
	at
org.netbeans.modules.project.ui.actions.OpenProject.actionPerformed(OpenProject.java:120)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
	at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
	at java.awt.Component.processMouseEvent(Component.java:5488)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
	at java.awt.Component.processEvent(Component.java:5253)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3955)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
	at java.awt.Container.dispatchEventImpl(Container.java:2010)
	at java.awt.Window.dispatchEventImpl(Window.java:1778)
	at java.awt.Component.dispatchEvent(Component.java:3803)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


Comment 12 Maria Tishkova 2007-04-03 19:55:21 UTC
Gordon,

Please try to create project with the previous build on Windows,
and the install new CND build and open created project.

When I have renamed my D:/usr to D:/usr_ I do not get NPE anymore,
but IllegalArgumentException is occurred if I am pushing Cancel in the dialog
occurred when I am trying to open project created with the previous CND build.

It is connected as I think with changes of configuration.xml file.
it used to have numbers as set of compilers collection and now it has names, is
it correct? For me it looks like a bug.

I will investigate the problem tomorrow once again if the problem with NPE
actually exists.


please see stack trace below (it is not so big so I am including it in comment)

java.lang.IllegalArgumentException: Project Quote_1-previous is not open and
cannot be set as main.
	at
org.netbeans.modules.project.ui.OpenProjectList.setMainProject(OpenProjectList.java:421)
	at
org.netbeans.modules.project.ui.actions.OpenProject.actionPerformed(OpenProject.java:120)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
	at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
	at java.awt.Component.processMouseEvent(Component.java:5488)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
	at java.awt.Component.processEvent(Component.java:5253)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3955)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
	at java.awt.Container.dispatchEventImpl(Container.java:2010)
	at java.awt.Window.dispatchEventImpl(Window.java:1778)
	at java.awt.Component.dispatchEvent(Component.java:3803)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


Comment 13 _ gordonp 2007-04-03 20:57:05 UTC
The IllegalStateException you get is a known problem (ie, its on my list
of known bugs). I've even documented it in the code (that I need to talk
to Thomas about the proper way of closing the project).

As for opening a project created in an early version, thats what I'm planning
on trying in a few minutes. I'm hoping the problem isn't related to where
your Cygwin is but to the earlier version of project.

Its possible (call it a working hypothesis) that this problem is because
configuration.xml version 33 (my commit changed it to 34) had 2 compiler
sets, 0 ("Sun") and 1 ("Gnu"). My implementation maps old-style integer
IDs to "Sun" or "GNU". It occurred to me this morning, that the GNU one
on Windows should look for Cygwin (and other supported GNU implementations).
If I can duplcate your problem, thats the fix I'll try first.
Comment 14 _ gordonp 2007-04-03 21:40:13 UTC
> Please try to create project with the previous build on Windows,
> and the install new CND build and open created project.

I just did that and did find a bug, but not the NPE you found. When
I opened the project it posted the Build Tools (BT) panel with the
selected compiler set of "Sun Studio Compiler Collection [Missing
Compilers]". I would have expected it to say "GNU Compiler Collection
[Missing Compilers]" rather than Sun.

I think it should accept any GNU implementation (Cygwin, MinGW, DJGPP,
or Interix) when it sees GNU (which is what version 33 and earlier stored
in the configurations file). But it doesn't and somehow mapped it to a
missing Sun compiler set rather than choosing one which was in my path.
I'll fix that this afternoon.

> When I have renamed my D:/usr to D:/usr_ I do not get NPE anymore,
> but IllegalArgumentException is occurred if I am pushing Cancel in the dialog
> occurred when I am trying to open project created with the previous CND build.

How does D:/usr fit into this? Is that where you put your projects? Please
tell me the significance of D:/usr and I'll try doing the same thing.


> It is connected as I think with changes of configuration.xml file.
> it used to have numbers as set of compilers collection and now it has
> names, is it correct? For me it looks like a bug.

Numbers vs text isn't a bug. The old model had exactly 2 compiler sets,
Sun and GNU. It didn't map well to a model supporting multiple compiler
sets (like Cygwin, MinGW, GNU, etc). So I swithced from numbers to text.
But in the method which reads the xml file, I look for an integer for
versions < 34 and text for versions > 34. So that shouldn't be the problem.

I opened IZ 99885 on the IllegalStateException. To me, its a different
problem than what you've described here. I CC'ed you on it. I made it a
P2 more because its in-your-face than because its a serious issue. I don't
think it actually breaks any functionality or causes any harm (other than
posting the exception dialog and letting the user know).
Comment 15 _ gordonp 2007-04-04 01:42:17 UTC
I think this is now completely fixed. If not, I'd prefer new bugs being
filed as this one was rather confusing (the summary said one thing, the
problem(s) seemed to be something different, and the 3 attachments for NPEs
were only vaguely related to the problem.

In any case, I think it should work.
Comment 16 _ gordonp 2007-04-04 01:45:31 UTC
Forgot to change state to fixed...
Comment 17 Vladimir Voskresensky 2007-04-04 07:11:37 UTC
reopen issue because fix is not integrated in main development branch (551)
Comment 18 _ gordonp 2007-04-04 16:00:19 UTC
Fixed but accidentally committed to the wrong branch. Reclosing since
the changes have been merged to release551.
Comment 19 Maria Tishkova 2007-08-06 16:55:17 UTC
verified with 5.5.1u1 : I have created project with 5.5.1 then installed 5.5.1u1 and opened NB, everything is OK, no
exceptions occurred