Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [stellation-res] Question about Merging NPE

Grumble grumble... So there's more than one bug in NCA, because that
thing I find is clearly a bug, and it was the NPE in at least one of
the stacktraces that you sent me. Once I finish with this wretched
systems configuration stuff, I'll try to hunt down this other bug.

	-Mark

On Wed, 2002-12-25 at 19:43, Jeffrey Howard wrote:
> Hello,
> 
> I changed the two lines, but unforunately I'm still getting the
> exception.  It's being thrown from inside the nearestCommonAnswer
> method below the one which your fix of the == changes.  The signature
> of the method that's actually throwing the NPE is 
> 
> 	public BranchSpec nearestCommonAncestor(
> 		String projectName,
> 		BranchSpec leaf,
> 		BranchSpecSet targetParents)
> 		throws RepositoryException;
> 
> I think the exception is coming about because the call to
> hc.getAllParents() shown below is returning null.  When nextParents is
> used in the allParents.addAll call in the next line, that method
> (BranchSpecSet.addAll) throws an NPE.
> 
> 	BranchSpecSet nextParents = hc.getAllParents(parentsIt.next());
> 	allParents.addAll(nextParents);
> 
> Assuming I'm right in thinking that I didn't add any logging
> statements that would change the line numbers, the
> allParents.addAll(nextParents) call that's throwing an exception is on
> line 1832 of the file.
> 
> Jeffrey
> 
> 
> 
> 
> 
> On Wed, Dec 25, 2002 at 11:26:10AM +0000, Mark C. Chu-Carroll wrote:
> > Argh. I just took one look at the code, and it's an astonishingly stupid
> > error. Downright idiotic to be truthful.
> > 
> > The code reads:
> > 
> > if (leafParents == null && leafParents.contains(target)) {
> > 	return target;
> > }
> > 
> > In other words, "if leafParents is null, please crash".
> > 
> > That's supposed to be a "!=".
> > 
> > I'm about 99% sure that just changing the two "=="s in that
> > stretch of code to "!="s will fix it. I just did a reinstall of my
> > system to a newer version of Linux, and I haven't finished rebuilding
> > my environment, so I need to finish setting things up before I can test
> > it. At this point, it'll be at least a day before I'm done with all
> > the setup (I'm not able to work full time right now because I'm home
> > with my daughter, and I need to fit in little bursts of works whenever
> > she's occupied with something else. So things that would normally take
> > only an hour or two of uninterrupted work are taking a lot longer.)
> > 
> > I'll make the change and test it as soon as I can. If you're in a hurry,
> > just try changing the two statements that compare to null, and see what
> > happens.
> > 
> > 	-Mark
> > 	
> > 
> > 
> > On Wed, 2002-12-25 at 15:59, Jeffrey Howard wrote:
> > > On Wed, Dec 25, 2002 at 09:57:05AM +0000, Mark C. Chu-Carroll wrote:
> > > 
> > > > You've almost certainly found an edge case that my nearestCommonAncestor
> > > > code doesn't cover. One thing that I'd like, just to make sure, is to
> > > > see the sequence of commands your using to checkout, branch, checkin
> > > > changes, and do the merge.
> > > > 
> > > > 	-Mark
> > > 
> > > Right.  The first time I ran across this, the branches, adds, and
> > > checkins were all done by the Eclipse client.  I was only using the
> > > command line client for the merge.  I started over with a new test
> > > project using only the command line client.  All of these commands
> > > were given with the options: "--location postgresql:stellation -u
> > > jhoward -p password"
> > > 
> > > svc create testproject
> > > svc co testproject
> > > svc fork jhoward-sandbox
> > > echo testfile > testfile
> > > svc add testfile
> > > svc checkin
> > > svc -r main co testproject
> > > svc merge jhoward-sandbox
> > > 
> > > At the final merge command I get the NPE thrown from within the NCA
> > > method.
> > > 
> > > Jeffrey
> > > 
> > > _______________________________________________
> > > stellation-res mailing list
> > > stellation-res@xxxxxxxxxxxxxxx
> > > http://dev.eclipse.org/mailman/listinfo/stellation-res
> > -- 
> > Mark Craig Chu-Carroll,  IBM T.J. Watson Research Center  
> > *** The Stellation project: Advanced SCM for Collaboration
> > ***		http://www.eclipse.org/stellation
> > *** Work Email: mcc@xxxxxxxxxxxxxx  ------- Personal Email: markcc@xxxxxxxxxxx
> > 
> > 
> > _______________________________________________
> > stellation-res mailing list
> > stellation-res@xxxxxxxxxxxxxxx
> > http://dev.eclipse.org/mailman/listinfo/stellation-res
> _______________________________________________
> stellation-res mailing list
> stellation-res@xxxxxxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/stellation-res
-- 
Mark Craig Chu-Carroll,  IBM T.J. Watson Research Center  
*** The Stellation project: Advanced SCM for Collaboration
***		http://www.eclipse.org/stellation
*** Work Email: mcc@xxxxxxxxxxxxxx  ------- Personal Email: markcc@xxxxxxxxxxx




Back to the top