all groups > vj# > february 2005 >
You're in the

vj#

group:

Bug in ArrayList.toArray() method?


Bug in ArrayList.toArray() method? Keith McLeod
2/18/2005 7:51:04 AM
vj#:
We are writing a GIS application in C# and using Vivid Solutions’ Java
Topology Suite converted to J# for our Computational Geometry library. I am
receiving a null reference exception on the following line of code…

object [] list = spatialIndex.query(new Envelope( minX + (ix * tileWidth),
minX + ((ix + 1) * tileWidth), maxY - (iy * tileHeight), maxY - ((iy + 1) *
tileHeight))).toArray();

This is the method being called…
protected List query(Object searchBounds) {
if (!built) { build(); }
ArrayList matches = new ArrayList();
if (itemBoundables.isEmpty()) {
Assert.isTrue(root.getBounds() == null);
return matches;
}
if (getIntersectsOp().intersects(root.getBounds(), searchBounds)) {
query(searchBounds, root, matches);
}
return matches;
}

I’ve stepped through the code and get all the way to the second "return
matches" statement. The matches object is indeed instantiated and has objects
(in this case they are ints) in it so it is definitely not null. This method
is used throughout the rest of the application and works fine. It just seems
to be the toArray method that is giving us a problem. I’m wondering if this
is a known bug in the J# runtime. We are using the J# redistributable package
1.1 along with the J# supplemental UI library.

One more bit of information, if I step through this code more than twice,
the exception then becomes a System.EngineException and I have to reboot my
computer.

RE: Bug in ArrayList.toArray() method? Amit.vjc NO[at]SPAM online.microsoft.com
2/22/2005 9:42:05 AM
Hi Keith,

Thanks for reporting this issue.
However is it possible for you to narrow it down to a small sample so that
I can compile and reproduce the problem?
This will help us in investigating the problem and get back to you sooner.

Thanks,
Amit
--------------------
[quoted text, click to view]
Re: Bug in ArrayList.toArray() method? Lars-Inge Tønnessen [VJ# MVP]
2/27/2005 6:13:15 PM

Do you have any code we can copy & paste into Visual Studio and run ?

I would like to see the System.EngineException. I have never seen that one
before.


Regards,
Lars-Inge

RE: Bug in ArrayList.toArray() method? Steve Hickman
3/8/2005 8:53:10 AM
The problem may not be with toArray(). I've noticed that ArrayList will
occasionally be improperly constructed, with nextItem being null when in fact
I'm not at the end of the list. In these situations, the length of the
ArrayList as shown in the .NET debugger shows more items than I can navigate
to by opening nextItem. However, if I open prevItem and then the nextItem of
the prevItem, I can always (so far at least) get to all the items on the
list. This construction problem, when I've seen it, has always happened
between the first and second items in the ArrayList.

I haven't yet figured out the exact cause of this. The problem is showing up
consistently for me right now, but the code where it shows up works the first
4 times it executes, then consistently fails the 5th time with an improperly
constructed list. I'd provide a simple example if I could, but I don't have
one at this time.

[quoted text, click to view]
RE: Bug in ArrayList.toArray() method? Steve Hickman
3/8/2005 9:09:10 AM
My apologies - I misposted. The bug I'm experiencing is with LinkedList, not
ArrayList.

[quoted text, click to view]
AddThis Social Bookmark Button