On Fri, Jun 19, 2009 at 11:42:59PM -0600, we recorded a bogon-computron collision of the <[email protected]> flavor, containing: > On Fri, Jun 19, 2009 at 11:47:50PM -0500, we recorded a bogon-computron > collision of the <[email protected]> flavor, containing: > > On Fri, Jun 19, 2009 at 10:20 PM, Tom Russo<[email protected]> wrote: > > > > > > Not a known error. ?The code is clearly *not* doing some error checking it > > > should do (check for null pointer return from SHPReadObject before > > > dereferencing it), but neither should SHPReadObject ever fail so long as > > > you're > > > accessing a shape number that's lower than the number in the file ?--- > > > ?again, > > > I suspect that the file is advertising more shapes than it actually > > > contains. > > > > Well, you were right about the last shape returning null: > > Reading entity 0... returned 0237cf20 > > Reading entity 1... returned 0237cf20 > > Reading entity 2... returned 0237cf20 > > Reading entity 3... returned 0237cf20 > > Reading entity 4... returned 0237cf20 > > ERROR 3: Error in fseek() or fread() reading object from .shp file. > > Reading entity 5... returned 00000000 > > Bus error > > > > > > However, when I run shpdump on the shapefile, I get entries for entiy 5: > > Shape:5 (Arc) nVertices=36, nParts=1 > > Bounds:( -92.944, 46.011, 0, 0) > > to ( -92.879, 46.125, 0, 0) > > ( -92.879, 46.125, 0, 0) Ring > > ( -92.892, 46.125, 0, 0) > > <and so on> > > K. So it's not that there's no shape 5. But are there really 36 vertices in > shape 5? There's clearly *something* wrong here that is making the shape > read fail.
I just committed a change to shp_hash.c that protects against this segfault/bus error by skipping any shapes for which SHPReadObject fails. There is similar code in the map_shp.c file. I don't know what's up with your shapefile, but if you really have no luck diagnosing the problem, do a CVS update and see if you can move past this problem by skipping the defective record. You'll still have the fread error message, but it shouldn't cause a segfault anymore. -- Tom Russo KM5VY SAR502 DM64ux http://www.swcp.com/~russo/ Tijeras, NM QRPL#1592 K2#398 SOC#236 http://kevan.org/brain.cgi?DDTNM In some cultures what I do would be considered normal. -- Ineffective daily affirmation _______________________________________________ Xastir mailing list [email protected] http://lists.xastir.org/cgi-bin/mailman/listinfo/xastir
