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.
Dev build, JDK 6, Mevenide installed. Tried to close a newly created (NBM) project using Alt-F C. IDE froze. Thread dumps reveal something about Maven projects. I do have some project groups (not currently active) using Maven projects.
Created attachment 61299 [details] Thread dump
IDE came back to life a few minutes later. Note that I have a working internet connection, so I am not sure why it is hung here (though of course nothing ought to be making network calls in EQ to begin with).
not really sure what I can do there. 1. the stacktrace shows that a certain maven project is being loaded. in general the project loading avoids touching the network, with 2 exceptions. parent poms and extensions (these defined packaging) which are necessary for correct project loading. 2. even parent poms and extensions are only checked when not present locally. one exception to the rule could be when you are using a SNAPSHOT extension and the remote repo is checked for update. (I guess I could force no update checking here) 3. for most projects this project loading happens either on startup where it's lazy and out of AWT or when creating the project which also happens out of AWT. I think that in this case the primary problem and place to fix the issue is the org.netbeans.modules.project.ui.groups.SubprojectsGroup class which should somehow cache the title value.
http://fisheye.codehaus.org/changelog/mevenide/?cs=5257
I don't think it should ever block on a network connection. SubprojectsGroup should not have to cache the title. There probably _is_ a problem that the submenu was calculated just because I posted the File menu. This is very undesirable of course: there is no reason to determine the contents of the submenu unless it is posted.
well, in order to get the project name I need to load the project model (along with all parents poms that this one inherits from, if these are not present locally these *have* to be downloaded or the model falls apart. the model is cached until rendered obsolete. The model replacement is done asynchronosly, however the first time loading can under certain conditions (this being the first one I know of) happen in AWT. As I mentioned earlier, for most common scenarios it's happening early in the project's lifetime and is done away from AWT. I don't see a way to change the project loading to satisfy this usecase on maven side, closing as WONTFIX.
If determination of the correct project name cannot happen without accessing the network, the project type should return some placeholder string, such as the name of the project directory. I am still unable to determine what actual project is involved here. The only candidate I can see is kind=subprojects path=file:/space/src/hudson/ which does not specify a name in the group definition. But /space/src/hudson/pom.xml clearly states <packaging>pom</packaging> <name>Hudson</name> which ought to be everything Mevenide needs to know. Your comments suggest that you load a complete project model just to report the name of the project, which seems like overkill when the name is just a simple field in the XML.
well, the name could be defined in parent's pom parent and it could be defined like this: <name>Hudson - ${artifactId}</name> Only when the complete project is loaded and variables get replaced I can figure the real value.
I suppose the name could hypothetically be defined in such a way, though that is not my case.
x