[geos-devel] intersection() segfaulting

Yury A. Bychkov me at yury.ca
Fri Sep 5 14:16:17 EDT 2003


This is weird. Thanks for reporting it. I'll try to fix it before Monday.

Yury

----- Original Message ----- 
From: "David Blasby" <dblasby at refractions.net>
To: <vinko at cprsig.cl>; <geos-devel at geos.refractions.net>
Sent: Friday, September 05, 2003 10:49 AM
Subject: [geos-devel] intersection() segfaulting


> It appears that intersection() is doing something bad.
>
> You'll see in this example that the first g1->intersection(g2) works,
> but doing the operation again causes a segfault.
>
> * note: g1 & g2 are the same in this example (a big one-ring polygon)
> * note: after the g1->intersection(g2), most geos functions on g1 will
>          segfault (ie. g1->isValid() ).  Also you can create new
> geometries  and they'll cause segfaults for most operation.
>
> It appears that this particular intersection() is sometimes screwing
> something up inside geos.
>
> Attached is a little program to reproduce the crash and a valgrind
> report of the errors.
>
> dave
>


--------------------------------------------------------------------------------


// g++ -g test5.cpp -I/usr/local/include/geos -lgeos  ; ./a.out

#include "stdio.h"
#include "io.h"
#include "geom.h"

using namespace geos;

extern "C" int main(int, char**);

int main(int argC, char* argV[])
{

WKTReader *r = new WKTReader();
GeometryFactory *geomFactory;
Geometry *g1, *g2,*g3, *g4 ;

geomFactory= new GeometryFactory( new PrecisionModel(), -1);

try{


g1 = r->read("MULTIPOLYGON (((238719.296875 6245682.5, 238707.59375 6245577,
238621.25 6245295, 238586.484375 6245217, 238500.3125 6245065, 238416.40625
6244967, 238268.46875 6244838, 238144.703125 6244710, 238040.09375 6244626,
237750.375 6244424, 237713.078125 6244390, 237658.890625 6244324, 237574.796875
6244145, 237515.984375 6243922, 237516.109375 6243780, 237534.9375 6243701,
237578.53125 6243597, 237621.109375 6243530, 237775.609375 6243378, 237840.59375
6243329, 237973.734375 6243257, 238031.515625 6243240, 238160.1875 6243236,
238261.484375 6243256, 238393.703125 6243311, 238450 6243345, 238689.109375
6243583, 238891.625 6243767, 238961.921875 6243849, 239094.515625 6243979,
239169.40625 6244079, 239254.59375 6244173, 239472.5 6244395, 239662.734375
6244516, 239754.484375 6244559, 239913.8125 6244596, 240108.234375 6244659,
240266.390625 6244693, 240406.1875 6244701, 240475.109375 6244695, 240631.453125
6244663, 240754 6244602, 240927.1875 6244463, 241121.5 6244253, 241268.71875
6244131, 241369.890625 6244018, 241475.484375 6243928, 241615.421875 6243845,
241696.3125 6243818, 241851.015625 6243795, 242080.078125 6243798, 242128.90625
6243782, 242183.515625 6243744, 242295.28125 6243613, 242379.6875 6243465,
242542.734375 6243235, 242591.109375 6243142, 242690.5 6242910, 242757.328125
6242748, 242834.484375 6242355, 242851.984375 6242182, 242871.796875 6242113,
242924.71875 6241995, 242974.796875 6241933, 243021.8125 6241892, 243178.0625
6241808, 243302.90625 6241765, 243457.8125 6241734, 243613.03125 6241736,
243790.578125 6241761, 243856.28125 6241779, 244004.828125 6241842, 244100.6875
6241918, 244238.609375 6241997, 244305.6875 6242056, 244347.578125 6242107,
244421.421875 6242246, 244514.28125 6242658, 244556.375 6242794, 244606.765625
6242906, 244707.625 6243079, 244754.296875 6243141, 244840.9375 6243233,
244921.796875 6243300, 245052 6243378, 245284.515625 6243489, 245336.109375
6243511, 245502.796875 6243557, 245649.109375 6243632, 245701.984375 6243647,
245815.8125 6243654, 245841.734375 6243641, 245913.6875 6243577, 245939.40625
6243528, 245957.8125 6243465, 245957.515625 6243346, 245937.1875 6243211,
245888.03125 6243062, 245752.515625 6242722, 245702.078125 6242524, 245633.3125
6242125, 245610.421875 6242052, 245477.40625 6241813, 245436.09375 6241685,
245445.28125 6241621, 245477.375 6241575, 245532.421875 6241529, 245625.3125
6241500, 245809.28125 6241509, 246147.421875 6241567, 246574.796875 6241655,
246848.125 6241671, 247007.1875 6241647, 247275.109375 6241581, 247407.0625
6241528, 247620.546875 6241415, 247735.484375 6241333, 247830.28125 6241247,
247912.578125 6241157, 247973.515625 6241059, 248006.828125 6240948, 248021.3125
6240833, 248056.609375 6240316, 248076.609375 6240230, 248101.015625 6240172,
248176.609375 6240044, 248265.5625 6239940, 248407.015625 6239819, 248489.234375
6239778, 248514.6875 6239773, 248573.78125 6239791, 248674.625 6239859,
248691.78125 6239878, 248771.609375 6240026, 248866.890625 6240255,
248968.796875 6240428, 249041.5 6240505, 249117.265625 6240563, 249171.078125
6240587, 249213.109375 6240595, 249417.671875 6240515, 249451.1875 6240494,
249504.765625 6240433, 249600.3125 6240271, 249668.6875 6240133, 249702.59375
6240049, 249748.1875 6239860, 249826.1875 6239642, 249859.09375 6239405,
249853.90625 6239315, 249789.609375 6239119, 249784.859375 6239108.5,
249748.453125 6239041.5, 249635.09375 6238870, 249566.703125 6238721,
249541.984375 6238650, 249547.25 6238596, 249564.484375 6238570, 249591.59375
6238550, 249631.484375 6238529, 249699.078125 6238513, 250027.21875 6238518,
250167.8125 6238488, 250340.265625 6238281, 250354.5 6238223, 250349.203125
6238184, 250294.3125 6238056, 250180.609375 6237899, 250090.234375 6237819,
250013.8125 6237737, 249988.734375 6237677, 249985.78125 6237646, 249994.125
6237619, 250079.53125 6237551, 250116.703125 6237538, 250389.578125 6237521,
250459.671875 6237509, 250517.40625 6237483, 250564.109375 6237442, 250623.59375
6237351, 250633.0625 6237327, 250637 6237229, 250650.625 6237192, 250667.578125
6237171, 250716.671875 6237138, 250833.5 6237084, 250962.078125 6237059,
251049.078125 6237029, 251281.625 6236866, 251373.5625 6236792, 251392.125
6236763, 251404.796875 6236712, 251405.078125 6236656, 251377.765625 6236540,
251319.96875 6236423, 251295.40625 6236349, 251295.3125 6236211, 251303.796875
6236174, 251323.8125 6236139, 251385.625 6236055, 251438.59375 6235966,
251452.8125 6235910, 251456.546875 6235818, 251446.21875 6235680, 251424.90625
6235576, 251386.984375 6235524, 251205.796875 6235332, 251071.9375 6235173,
251001.375 6235106, 250776.609375 6234933, 250597.578125 6234752, 250519.59375
6234684, 250439.875 6234630, 250320.5625 6234590, 250079.109375 6234568,
250006.421875 6234534, 249943.5 6234476, 249920.40625 6234445, 249857.109375
6234395, 249772.671875 6234342, 249684.328125 6234314, 249616.671875 6234316,
249505.0625 6234343, 249446.484375 6234344, 249402.40625 6234322, 249333.109375
6234249, 249304.296875 6234182, 249300.828125 6234124, 249340.3125 6233980,
249327.375 6233941, 249300.28125 6233906, 249265.3125 6233880, 249208.46875
6233862, 249082.3125 6233865, 249022.6875 6233853, 248975.25 6233818, 248907.375
6233736, 248857.578125 6233644, 248852.421875 6233364, 248834.4375 6233276,
248778.8125 6233119, 248753.609375 6233015, 248743.53125 6232964, 248741.765625
6232838, 248704.4375 6232761, 248669.640625 6232727, 248617.3125 6232685,
248548.90625 6232669, 248394.8125 6232713, 248314.578125 6232711, 248272.78125
6232700, 248206.1875 6232666, 248173.890625 6232635, 248121.5 6232501,
248085.390625 6232468, 247988.0625 6232438, 247868.984375 6232459, 247800.59375
6232447, 247758.109375 6232417, 247649.5 6232285, 247616.609375 6232276,
247516.0625 6232269, 247497.203125 6232262, 247461.34375 6232226, 247356.9375
6231985, 247340.578125 6231928, 247341.5 6231893, 247368.796875 6231829,
247378.984375 6231781, 247378.78125 6231743, 247356.09375 6231687, 247353.078125
6231656, 247378.671875 6231604, 247375.515625 6231579, 247361.984375 6231561,
247218.1875 6231506, 247192.625 6231465, 247175.875 6231375, 247186.5 6231172,
247111.484375 6231023, 247083.09375 6230896, 247006.078125 6230728,
246933.078125 6230414, 246913.265625 6230392, 246838.5 6230376, 246630.234375
6230354, 246528.28125 6230305, 246494.625 6230277, 246428.078125 6230191,
246372.71875 6230074, 246326.421875 6229997, 246191.09375 6229865, 246118.203125
6229760, 246078.296875 6229711, 245946.625 6229584, 245821.390625 6229455,
245797.484375 6229443, 245721.328125 6229430, 245667.1875 6229401, 245636.4375
6229358, 245620.4375 6229280, 245608.1875 6229258, 245570.84375 6229225,
245402.515625 6229123, 245327.703125 6229104, 245258.921875 6229051,
245190.484375 6229037, 245091.578125 6228961, 245036.90625 6228906, 245023.40625
6228882, 245016.328125 6228859, 245020.125 6228754, 245008.09375 6228722,
244929.421875 6228657, 244809.625 6228606, 244772.015625 6228578, 244773.8125
6228557, 244849.71875 6228370, 244863.890625 6228152, 244855.71875 6228066,
244830.015625 6227969, 244821.484375 6227901, 244799.59375 6227856,
244754.109375 6227682, 244757.234375 6227659, 244794.296875 6227599,
244796.90625 6227545, 244781.875 6227479, 244753.515625 6227441, 244683.578125
6227224, 244650.875 6227151, 244641.296875 6227073, 244622.59375 6227058,
244535.59375 6227021, 244414.875 6226898, 244369.78125 6226705, 244318.3125
6226623, 244288.265625 6226491, 244286.90625 6226446, 244255.296875 6226381,
244181.921875 6226308, 244027.1875 6226221, 243950.328125 6226187, 243805.390625
6226067, 243642.484375 6225901, 243547.0625 6225733, 243416.09375 6225562,
243351.921875 6225424, 243298.328125 6225268, 243300.984375 6225210,
243323.09375 6225084, 243358.6875 6224614, 243424.078125 6224279, 243418.5
6224246, 243408.53125 6224238, 243240.328125 6224186, 243040.796875 6224108,
242854.5 6224066, 242691.984375 6224042, 242441.71875 6223955, 242211 6223904,
242032.125 6223820, 241682.28125 6223740, 241446.421875 6223798, 241166.515625
6223885, 240694.921875 6223995, 240519.921875 6224010, 240412.5 6224028,
240090.71875 6224108, 239721.953125 6224184, 239566.015625 6224201,
239438.671875 6224196, 239342.59375 6224162, 238937.015625 6223860,
238774.703125 6223721, 238482.625 6223521, 238269.203125 6223386.5,
238079.984375 6223250, 237957.765625 6223193, 237728.109375 6222942,
237625.609375 6222857, 237523.578125 6222806, 237375.71875 6222706,
237228.578125 6222624, 237093.09375 6222533, 236767.40625 6222352, 236560.484375
6222211, 236430.421875 6222111, 236389.984375 6222096, 236327.578125 6222147,
236230.609375 6222259, 236058.1875 6222540, 235759.0625 6222894, 235597.203125
6223109, 235252.6875 6223496, 235144.78125 6223636, 235050.71875 6223734,
234878.515625 6223955, 234788.078125 6224055, 234687.921875 6224143,
234547.40625 6224210, 234500.078125 6224214, 234443.09375 6224200, 234286
6224111, 234120.6875 6223883, 234057.21875 6223823, 233946.984375 6223685,
233844.953125 6223586, 233768.59375 6223530, 233634.671875 6223374,
233533.296875 6223299, 233357.296875 6223091, 233273.21875 6223039, 233165.1875
6223027, 232853.734375 6223102, 232681.71875 6223154, 232527.109375 6223223,
232339.71875 6223333, 232309.828125 6223358, 232265.984375 6223375,
232071.890625 6223444, 231923.015625 6223487, 231659.40625 6223589, 231533.6875
6223623, 231194.09375 6223754, 230969.53125 6223817, 230929.484375 6223840,
230645.53125 6223939, 230438.109375 6224031, 230230.03125 6224098, 230014.578125
6224205, 229931.703125 6224262, 229850.4375 6224304, 229801.609375 6224374,
229777.53125 6224526, 229715.5 6225199, 229705 6225793, 229696.484375 6225826,
229661.921875 6225889, 229600.609375 6225948, 229546.703125 6225962,
229459.015625 6225954, 229413.90625 6225975, 229392.796875 6226003,
229298.609375 6226212, 229277.890625 6226225, 229140.234375 6226228,
228994.28125 6226253, 228945.515625 6226270, 228835.5625 6226333, 228719.09375
6226356, 228590.515625 6226405, 228492.1875 6226432, 228529.921875 6226541,
228587.703125 6226814, 228616.796875 6227124, 228620.953125 6227334,
228641.28125 6227485, 228630.8125 6227655, 228661.59375 6227713, 228668.5625
6227755, 228689.53125 6227801, 228686.59375 6227967, 228690.03125 6227993,
228700.03125 6228006, 228688.78125 6228142, 228657.703125 6228246, 228657.1875
6228275, 228692.40625 6228303, 228697.296875 6228316, 228685.625 6228406,
228665.78125 6228419.5, 228671.265625 6228545.5, 228648.46875 6228612,
228642.203125 6228685.5, 228598.203125 6228723.5, 228602.953125 6228741,
228625.671875 6228755, 228638 6228779.5, 228632.0625 6228976.5, 228610.265625
6229061, 228561.078125 6229108.5, 228563.171875 6229136, 228589.875 6229213,
228571.6875 6229311.5, 228581.671875 6229319.5, 228623.703125 6229325.5, 228674
6229365.5, 228721.25 6229430, 228750.40625 6229441, 228784.296875 6229476,
228828.28125 6229580.5, 228832.359375 6229720, 228842.765625 6229784,
228900.90625 6229808.5, 228924.46875 6229845.5, 228993.953125 6229879,
229022.640625 6229920, 229073.234375 6229941, 229091.953125 6229966.5,
229112.578125 6230026, 229111.96875 6230062, 229101 6230107, 229085.265625
6230134, 229083.234375 6230178, 229054.75 6230205, 229065.734375 6230232,
229092.28125 6230244.5, 229146.953125 6230253, 229190.859375 6230292,
229321.953125 6230303.5, 229379.015625 6230326.5, 229420.21875 6230376.5,
229515.96875 6230585, 229568.40625 6230653.5, 229607.265625 6230689,
229636.390625 6230703, 229701.15625 6230711.5, 229770.96875 6230731.5,
229871.96875 6230788, 229949.390625 6230879, 230004.65625 6230925, 230046.5625
6231010, 230066.65625 6231030, 230118.484375 6231055.5, 230210.1875 6231057,
230289.015625 6231072.5, 230491.75 6231212, 230518.078125 6231238, 230649.703125
6231440, 230697.46875 6231552, 230714.890625 6231654, 230834.0625 6231840,
230871.734375 6231872, 230899.703125 6231879.5, 230932.0625 6231924.5,
230992.296875 6231977, 231074.5625 6232009.5, 231118.484375 6232055,
231169.46875 6232126, 231260.0625 6232194, 231291.953125 6232265, 231356.515625
6232297.5, 231426.734375 6232362, 231459.234375 6232397, 231497.578125
6232464.5, 231535.25 6232497, 231555.75 6232568, 231585.75 6232600.5,
231610.171875 6232666.5, 231647.9375 6232691, 231700.53125 6232743, 231764.15625
6232826, 231956.46875 6232987, 231999.75 6233060, 232048.84375 6233096,
232091.078125 6233162.5, 232153.78125 6233224, 232179.75 6233272, 232244.0625
6233308, 232292.546875 6233377.5, 232356.875 6233424, 232387.96875 6233466,
232421.984375 6233564.5, 232489.15625 6233662.5, 232508.59375 6233719,
232584.859375 6233805, 232604 6233880, 232651.703125 6233923.5, 232653.796875
6233952, 232770.921875 6234064, 232811.828125 6234149, 232867.234375 6234358,
232884.296875 6234386, 232925.09375 6234429, 233010.078125 6234484, 233066.59375
6234560, 233151.671875 6234613, 233173.625 6234650, 233202.015625 6234730,
233231.296875 6234915, 233254.53125 6235182, 233273.703125 6235272, 233330.25
6235389, 233336.59375 6235486, 233350.875 6235519, 233389.0625 6235567,
233442.078125 6235629, 233488.1875 6235668, 233562.6875 6235783, 233588.984375
6235798, 233633.375 6235850, 233675.5 6235939, 233692.828125 6236003,
233731.6875 6236303, 233737.46875 6236418, 233719.921875 6236502, 233734.015625
6236591, 233732.8125 6236634, 233711.375 6236766, 233691.21875 6237226,
233672.515625 6237350, 233631.328125 6237413, 233616.921875 6237519,
233581.078125 6237573, 233580.578125 6237590, 233605.625 6237655, 233632.234375
6237940, 233667.5 6238091, 233674.703125 6238338, 233709.703125 6238360,
233724.28125 6238388, 233717.1875 6238414, 233694.9375 6238436, 233697.984375
6238465, 233738.734375 6238510, 233828.8125 6238523, 233939.4375 6238526,
233973.09375 6238552, 234026.46875 6238647, 234103.0625 6238686, 234133.78125
6238679, 234177.328125 6238626, 234272.390625 6238638, 234329.078125 6238660,
234455.515625 6238785, 234557.890625 6238903, 234601.1875 6238996, 234659.765625
6239040, 234674.609375 6239104, 234707.921875 6239192, 234707.40625 6239254,
234731.0625 6239273, 234734.578125 6239286, 234740.53125 6239349, 234772.3125
6239441, 234775.40625 6239514, 234811.09375 6239559, 234824.796875 6239616,
234874.796875 6239741, 234893.296875 6239766, 234934.703125 6239787,
235000.703125 6239888, 235080.984375 6240067, 235161.890625 6240182,
235186.703125 6240252, 235224.171875 6240279, 235269.734375 6240337,
235329.515625 6240386, 235378.015625 6240473, 235546.28125 6240603, 235617.1875
6240615, 235674.296875 6240668, 235704.984375 6240666, 235750.03125 6240648,
235807.3125 6240648, 235931.5 6240668, 236033.5625 6240705, 236118.984375
6240747, 236328.390625 6240909, 236420.328125 6241038, 236436.6875 6241093,
236481.3125 6241138, 236480.6875 6241157, 236611.59375 6241490, 236642.8125
6241608, 236659.875 6241635, 236689.078125 6241916, 236705.8125 6242001,
236706.90625 6242103, 236750.8125 6242406, 236733.703125 6242796, 236718.53125
6242885, 236719.25 6243045, 236712.09375 6243073, 236692.40625 6243095,
236680.875 6243142, 236681.4375 6243310, 236696.984375 6243346, 236733.203125
6243373, 236738.828125 6243445, 236836.53125 6243505, 236885.515625 6243575,
236887.90625 6243626, 236909.0625 6243734, 236928.265625 6243779, 236983.6875
6243986, 237049.6875 6244131, 237059.203125 6244205, 237090.296875 6244230,
237122.078125 6244277, 237117.796875 6244481, 237129.578125 6244515,
237229.515625 6244587, 237348.921875 6244736, 237412.515625 6244781,
237483.265625 6244801, 237536.40625 6244859, 237610.46875 6244897, 237676.578125
6244994, 237703.828125 6245023, 237762.515625 6245064, 237892.484375 6245289,
237914.921875 6245310, 238003.296875 6245334, 238078.5 6245332, 238103.109375
6245270, 238125.578125 6245253, 238197.1875 6245162, 238284.28125 6245170,
238324.484375 6245186, 238409.09375 6245243, 238505 6245343, 238602.0625
6245554, 238617.671875 6245619, 238634.265625 6245654, 238667.96875 6245674,
238719.296875 6245682.5)))");
g2 = r->read("MULTIPOLYGON (((238719.296875 6245682.5, 238707.59375 6245577,
238621.25 6245295, 238586.484375 6245217, 238500.3125 6245065, 238416.40625
6244967, 238268.46875 6244838, 238144.703125 6244710, 238040.09375 6244626,
237750.375 6244424, 237713.078125 6244390, 237658.890625 6244324, 237574.796875
6244145, 237515.984375 6243922, 237516.109375 6243780, 237534.9375 6243701,
237578.53125 6243597, 237621.109375 6243530, 237775.609375 6243378, 237840.59375
6243329, 237973.734375 6243257, 238031.515625 6243240, 238160.1875 6243236,
238261.484375 6243256, 238393.703125 6243311, 238450 6243345, 238689.109375
6243583, 238891.625 6243767, 238961.921875 6243849, 239094.515625 6243979,
239169.40625 6244079, 239254.59375 6244173, 239472.5 6244395, 239662.734375
6244516, 239754.484375 6244559, 239913.8125 6244596, 240108.234375 6244659,
240266.390625 6244693, 240406.1875 6244701, 240475.109375 6244695, 240631.453125
6244663, 240754 6244602, 240927.1875 6244463, 241121.5 6244253, 241268.71875
6244131, 241369.890625 6244018, 241475.484375 6243928, 241615.421875 6243845,
241696.3125 6243818, 241851.015625 6243795, 242080.078125 6243798, 242128.90625
6243782, 242183.515625 6243744, 242295.28125 6243613, 242379.6875 6243465,
242542.734375 6243235, 242591.109375 6243142, 242690.5 6242910, 242757.328125
6242748, 242834.484375 6242355, 242851.984375 6242182, 242871.796875 6242113,
242924.71875 6241995, 242974.796875 6241933, 243021.8125 6241892, 243178.0625
6241808, 243302.90625 6241765, 243457.8125 6241734, 243613.03125 6241736,
243790.578125 6241761, 243856.28125 6241779, 244004.828125 6241842, 244100.6875
6241918, 244238.609375 6241997, 244305.6875 6242056, 244347.578125 6242107,
244421.421875 6242246, 244514.28125 6242658, 244556.375 6242794, 244606.765625
6242906, 244707.625 6243079, 244754.296875 6243141, 244840.9375 6243233,
244921.796875 6243300, 245052 6243378, 245284.515625 6243489, 245336.109375
6243511, 245502.796875 6243557, 245649.109375 6243632, 245701.984375 6243647,
245815.8125 6243654, 245841.734375 6243641, 245913.6875 6243577, 245939.40625
6243528, 245957.8125 6243465, 245957.515625 6243346, 245937.1875 6243211,
245888.03125 6243062, 245752.515625 6242722, 245702.078125 6242524, 245633.3125
6242125, 245610.421875 6242052, 245477.40625 6241813, 245436.09375 6241685,
245445.28125 6241621, 245477.375 6241575, 245532.421875 6241529, 245625.3125
6241500, 245809.28125 6241509, 246147.421875 6241567, 246574.796875 6241655,
246848.125 6241671, 247007.1875 6241647, 247275.109375 6241581, 247407.0625
6241528, 247620.546875 6241415, 247735.484375 6241333, 247830.28125 6241247,
247912.578125 6241157, 247973.515625 6241059, 248006.828125 6240948, 248021.3125
6240833, 248056.609375 6240316, 248076.609375 6240230, 248101.015625 6240172,
248176.609375 6240044, 248265.5625 6239940, 248407.015625 6239819, 248489.234375
6239778, 248514.6875 6239773, 248573.78125 6239791, 248674.625 6239859,
248691.78125 6239878, 248771.609375 6240026, 248866.890625 6240255,
248968.796875 6240428, 249041.5 6240505, 249117.265625 6240563, 249171.078125
6240587, 249213.109375 6240595, 249417.671875 6240515, 249451.1875 6240494,
249504.765625 6240433, 249600.3125 6240271, 249668.6875 6240133, 249702.59375
6240049, 249748.1875 6239860, 249826.1875 6239642, 249859.09375 6239405,
249853.90625 6239315, 249789.609375 6239119, 249784.859375 6239108.5,
249748.453125 6239041.5, 249635.09375 6238870, 249566.703125 6238721,
249541.984375 6238650, 249547.25 6238596, 249564.484375 6238570, 249591.59375
6238550, 249631.484375 6238529, 249699.078125 6238513, 250027.21875 6238518,
250167.8125 6238488, 250340.265625 6238281, 250354.5 6238223, 250349.203125
6238184, 250294.3125 6238056, 250180.609375 6237899, 250090.234375 6237819,
250013.8125 6237737, 249988.734375 6237677, 249985.78125 6237646, 249994.125
6237619, 250079.53125 6237551, 250116.703125 6237538, 250389.578125 6237521,
250459.671875 6237509, 250517.40625 6237483, 250564.109375 6237442, 250623.59375
6237351, 250633.0625 6237327, 250637 6237229, 250650.625 6237192, 250667.578125
6237171, 250716.671875 6237138, 250833.5 6237084, 250962.078125 6237059,
251049.078125 6237029, 251281.625 6236866, 251373.5625 6236792, 251392.125
6236763, 251404.796875 6236712, 251405.078125 6236656, 251377.765625 6236540,
251319.96875 6236423, 251295.40625 6236349, 251295.3125 6236211, 251303.796875
6236174, 251323.8125 6236139, 251385.625 6236055, 251438.59375 6235966,
251452.8125 6235910, 251456.546875 6235818, 251446.21875 6235680, 251424.90625
6235576, 251386.984375 6235524, 251205.796875 6235332, 251071.9375 6235173,
251001.375 6235106, 250776.609375 6234933, 250597.578125 6234752, 250519.59375
6234684, 250439.875 6234630, 250320.5625 6234590, 250079.109375 6234568,
250006.421875 6234534, 249943.5 6234476, 249920.40625 6234445, 249857.109375
6234395, 249772.671875 6234342, 249684.328125 6234314, 249616.671875 6234316,
249505.0625 6234343, 249446.484375 6234344, 249402.40625 6234322, 249333.109375
6234249, 249304.296875 6234182, 249300.828125 6234124, 249340.3125 6233980,
249327.375 6233941, 249300.28125 6233906, 249265.3125 6233880, 249208.46875
6233862, 249082.3125 6233865, 249022.6875 6233853, 248975.25 6233818, 248907.375
6233736, 248857.578125 6233644, 248852.421875 6233364, 248834.4375 6233276,
248778.8125 6233119, 248753.609375 6233015, 248743.53125 6232964, 248741.765625
6232838, 248704.4375 6232761, 248669.640625 6232727, 248617.3125 6232685,
248548.90625 6232669, 248394.8125 6232713, 248314.578125 6232711, 248272.78125
6232700, 248206.1875 6232666, 248173.890625 6232635, 248121.5 6232501,
248085.390625 6232468, 247988.0625 6232438, 247868.984375 6232459, 247800.59375
6232447, 247758.109375 6232417, 247649.5 6232285, 247616.609375 6232276,
247516.0625 6232269, 247497.203125 6232262, 247461.34375 6232226, 247356.9375
6231985, 247340.578125 6231928, 247341.5 6231893, 247368.796875 6231829,
247378.984375 6231781, 247378.78125 6231743, 247356.09375 6231687, 247353.078125
6231656, 247378.671875 6231604, 247375.515625 6231579, 247361.984375 6231561,
247218.1875 6231506, 247192.625 6231465, 247175.875 6231375, 247186.5 6231172,
247111.484375 6231023, 247083.09375 6230896, 247006.078125 6230728,
246933.078125 6230414, 246913.265625 6230392, 246838.5 6230376, 246630.234375
6230354, 246528.28125 6230305, 246494.625 6230277, 246428.078125 6230191,
246372.71875 6230074, 246326.421875 6229997, 246191.09375 6229865, 246118.203125
6229760, 246078.296875 6229711, 245946.625 6229584, 245821.390625 6229455,
245797.484375 6229443, 245721.328125 6229430, 245667.1875 6229401, 245636.4375
6229358, 245620.4375 6229280, 245608.1875 6229258, 245570.84375 6229225,
245402.515625 6229123, 245327.703125 6229104, 245258.921875 6229051,
245190.484375 6229037, 245091.578125 6228961, 245036.90625 6228906, 245023.40625
6228882, 245016.328125 6228859, 245020.125 6228754, 245008.09375 6228722,
244929.421875 6228657, 244809.625 6228606, 244772.015625 6228578, 244773.8125
6228557, 244849.71875 6228370, 244863.890625 6228152, 244855.71875 6228066,
244830.015625 6227969, 244821.484375 6227901, 244799.59375 6227856,
244754.109375 6227682, 244757.234375 6227659, 244794.296875 6227599,
244796.90625 6227545, 244781.875 6227479, 244753.515625 6227441, 244683.578125
6227224, 244650.875 6227151, 244641.296875 6227073, 244622.59375 6227058,
244535.59375 6227021, 244414.875 6226898, 244369.78125 6226705, 244318.3125
6226623, 244288.265625 6226491, 244286.90625 6226446, 244255.296875 6226381,
244181.921875 6226308, 244027.1875 6226221, 243950.328125 6226187, 243805.390625
6226067, 243642.484375 6225901, 243547.0625 6225733, 243416.09375 6225562,
243351.921875 6225424, 243298.328125 6225268, 243300.984375 6225210,
243323.09375 6225084, 243358.6875 6224614, 243424.078125 6224279, 243418.5
6224246, 243408.53125 6224238, 243240.328125 6224186, 243040.796875 6224108,
242854.5 6224066, 242691.984375 6224042, 242441.71875 6223955, 242211 6223904,
242032.125 6223820, 241682.28125 6223740, 241446.421875 6223798, 241166.515625
6223885, 240694.921875 6223995, 240519.921875 6224010, 240412.5 6224028,
240090.71875 6224108, 239721.953125 6224184, 239566.015625 6224201,
239438.671875 6224196, 239342.59375 6224162, 238937.015625 6223860,
238774.703125 6223721, 238482.625 6223521, 238269.203125 6223386.5,
238079.984375 6223250, 237957.765625 6223193, 237728.109375 6222942,
237625.609375 6222857, 237523.578125 6222806, 237375.71875 6222706,
237228.578125 6222624, 237093.09375 6222533, 236767.40625 6222352, 236560.484375
6222211, 236430.421875 6222111, 236389.984375 6222096, 236327.578125 6222147,
236230.609375 6222259, 236058.1875 6222540, 235759.0625 6222894, 235597.203125
6223109, 235252.6875 6223496, 235144.78125 6223636, 235050.71875 6223734,
234878.515625 6223955, 234788.078125 6224055, 234687.921875 6224143,
234547.40625 6224210, 234500.078125 6224214, 234443.09375 6224200, 234286
6224111, 234120.6875 6223883, 234057.21875 6223823, 233946.984375 6223685,
233844.953125 6223586, 233768.59375 6223530, 233634.671875 6223374,
233533.296875 6223299, 233357.296875 6223091, 233273.21875 6223039, 233165.1875
6223027, 232853.734375 6223102, 232681.71875 6223154, 232527.109375 6223223,
232339.71875 6223333, 232309.828125 6223358, 232265.984375 6223375,
232071.890625 6223444, 231923.015625 6223487, 231659.40625 6223589, 231533.6875
6223623, 231194.09375 6223754, 230969.53125 6223817, 230929.484375 6223840,
230645.53125 6223939, 230438.109375 6224031, 230230.03125 6224098, 230014.578125
6224205, 229931.703125 6224262, 229850.4375 6224304, 229801.609375 6224374,
229777.53125 6224526, 229715.5 6225199, 229705 6225793, 229696.484375 6225826,
229661.921875 6225889, 229600.609375 6225948, 229546.703125 6225962,
229459.015625 6225954, 229413.90625 6225975, 229392.796875 6226003,
229298.609375 6226212, 229277.890625 6226225, 229140.234375 6226228,
228994.28125 6226253, 228945.515625 6226270, 228835.5625 6226333, 228719.09375
6226356, 228590.515625 6226405, 228492.1875 6226432, 228529.921875 6226541,
228587.703125 6226814, 228616.796875 6227124, 228620.953125 6227334,
228641.28125 6227485, 228630.8125 6227655, 228661.59375 6227713, 228668.5625
6227755, 228689.53125 6227801, 228686.59375 6227967, 228690.03125 6227993,
228700.03125 6228006, 228688.78125 6228142, 228657.703125 6228246, 228657.1875
6228275, 228692.40625 6228303, 228697.296875 6228316, 228685.625 6228406,
228665.78125 6228419.5, 228671.265625 6228545.5, 228648.46875 6228612,
228642.203125 6228685.5, 228598.203125 6228723.5, 228602.953125 6228741,
228625.671875 6228755, 228638 6228779.5, 228632.0625 6228976.5, 228610.265625
6229061, 228561.078125 6229108.5, 228563.171875 6229136, 228589.875 6229213,
228571.6875 6229311.5, 228581.671875 6229319.5, 228623.703125 6229325.5, 228674
6229365.5, 228721.25 6229430, 228750.40625 6229441, 228784.296875 6229476,
228828.28125 6229580.5, 228832.359375 6229720, 228842.765625 6229784,
228900.90625 6229808.5, 228924.46875 6229845.5, 228993.953125 6229879,
229022.640625 6229920, 229073.234375 6229941, 229091.953125 6229966.5,
229112.578125 6230026, 229111.96875 6230062, 229101 6230107, 229085.265625
6230134, 229083.234375 6230178, 229054.75 6230205, 229065.734375 6230232,
229092.28125 6230244.5, 229146.953125 6230253, 229190.859375 6230292,
229321.953125 6230303.5, 229379.015625 6230326.5, 229420.21875 6230376.5,
229515.96875 6230585, 229568.40625 6230653.5, 229607.265625 6230689,
229636.390625 6230703, 229701.15625 6230711.5, 229770.96875 6230731.5,
229871.96875 6230788, 229949.390625 6230879, 230004.65625 6230925, 230046.5625
6231010, 230066.65625 6231030, 230118.484375 6231055.5, 230210.1875 6231057,
230289.015625 6231072.5, 230491.75 6231212, 230518.078125 6231238, 230649.703125
6231440, 230697.46875 6231552, 230714.890625 6231654, 230834.0625 6231840,
230871.734375 6231872, 230899.703125 6231879.5, 230932.0625 6231924.5,
230992.296875 6231977, 231074.5625 6232009.5, 231118.484375 6232055,
231169.46875 6232126, 231260.0625 6232194, 231291.953125 6232265, 231356.515625
6232297.5, 231426.734375 6232362, 231459.234375 6232397, 231497.578125
6232464.5, 231535.25 6232497, 231555.75 6232568, 231585.75 6232600.5,
231610.171875 6232666.5, 231647.9375 6232691, 231700.53125 6232743, 231764.15625
6232826, 231956.46875 6232987, 231999.75 6233060, 232048.84375 6233096,
232091.078125 6233162.5, 232153.78125 6233224, 232179.75 6233272, 232244.0625
6233308, 232292.546875 6233377.5, 232356.875 6233424, 232387.96875 6233466,
232421.984375 6233564.5, 232489.15625 6233662.5, 232508.59375 6233719,
232584.859375 6233805, 232604 6233880, 232651.703125 6233923.5, 232653.796875
6233952, 232770.921875 6234064, 232811.828125 6234149, 232867.234375 6234358,
232884.296875 6234386, 232925.09375 6234429, 233010.078125 6234484, 233066.59375
6234560, 233151.671875 6234613, 233173.625 6234650, 233202.015625 6234730,
233231.296875 6234915, 233254.53125 6235182, 233273.703125 6235272, 233330.25
6235389, 233336.59375 6235486, 233350.875 6235519, 233389.0625 6235567,
233442.078125 6235629, 233488.1875 6235668, 233562.6875 6235783, 233588.984375
6235798, 233633.375 6235850, 233675.5 6235939, 233692.828125 6236003,
233731.6875 6236303, 233737.46875 6236418, 233719.921875 6236502, 233734.015625
6236591, 233732.8125 6236634, 233711.375 6236766, 233691.21875 6237226,
233672.515625 6237350, 233631.328125 6237413, 233616.921875 6237519,
233581.078125 6237573, 233580.578125 6237590, 233605.625 6237655, 233632.234375
6237940, 233667.5 6238091, 233674.703125 6238338, 233709.703125 6238360,
233724.28125 6238388, 233717.1875 6238414, 233694.9375 6238436, 233697.984375
6238465, 233738.734375 6238510, 233828.8125 6238523, 233939.4375 6238526,
233973.09375 6238552, 234026.46875 6238647, 234103.0625 6238686, 234133.78125
6238679, 234177.328125 6238626, 234272.390625 6238638, 234329.078125 6238660,
234455.515625 6238785, 234557.890625 6238903, 234601.1875 6238996, 234659.765625
6239040, 234674.609375 6239104, 234707.921875 6239192, 234707.40625 6239254,
234731.0625 6239273, 234734.578125 6239286, 234740.53125 6239349, 234772.3125
6239441, 234775.40625 6239514, 234811.09375 6239559, 234824.796875 6239616,
234874.796875 6239741, 234893.296875 6239766, 234934.703125 6239787,
235000.703125 6239888, 235080.984375 6240067, 235161.890625 6240182,
235186.703125 6240252, 235224.171875 6240279, 235269.734375 6240337,
235329.515625 6240386, 235378.015625 6240473, 235546.28125 6240603, 235617.1875
6240615, 235674.296875 6240668, 235704.984375 6240666, 235750.03125 6240648,
235807.3125 6240648, 235931.5 6240668, 236033.5625 6240705, 236118.984375
6240747, 236328.390625 6240909, 236420.328125 6241038, 236436.6875 6241093,
236481.3125 6241138, 236480.6875 6241157, 236611.59375 6241490, 236642.8125
6241608, 236659.875 6241635, 236689.078125 6241916, 236705.8125 6242001,
236706.90625 6242103, 236750.8125 6242406, 236733.703125 6242796, 236718.53125
6242885, 236719.25 6243045, 236712.09375 6243073, 236692.40625 6243095,
236680.875 6243142, 236681.4375 6243310, 236696.984375 6243346, 236733.203125
6243373, 236738.828125 6243445, 236836.53125 6243505, 236885.515625 6243575,
236887.90625 6243626, 236909.0625 6243734, 236928.265625 6243779, 236983.6875
6243986, 237049.6875 6244131, 237059.203125 6244205, 237090.296875 6244230,
237122.078125 6244277, 237117.796875 6244481, 237129.578125 6244515,
237229.515625 6244587, 237348.921875 6244736, 237412.515625 6244781,
237483.265625 6244801, 237536.40625 6244859, 237610.46875 6244897, 237676.578125
6244994, 237703.828125 6245023, 237762.515625 6245064, 237892.484375 6245289,
237914.921875 6245310, 238003.296875 6245334, 238078.5 6245332, 238103.109375
6245270, 238125.578125 6245253, 238197.1875 6245162, 238284.28125 6245170,
238324.484375 6245186, 238409.09375 6245243, 238505 6245343, 238602.0625
6245554, 238617.671875 6245619, 238634.265625 6245654, 238667.96875 6245674,
238719.296875 6245682.5)))");


if (g1->isValid())
cout <<"g1 is valid"<< endl;
if (g2->isValid())
cout <<"g2 is valid"<< endl;

    cout << "about to intersection() these 2 geometries" << endl;
g3 = g1->intersection(g2);
cout << "finished intersection"<< endl;

cout << "about to intersection() these 2 geometries" << endl;
g4 = g1->intersection(g2);
cout << "finished intersection"<< endl;


}
catch (exception e)
{
cout << "caught exception"<<endl;
cout << e.what() << endl;
}
catch (char *s)
{
  cout << "caught string exception:"<<s<<endl;
}
catch (...)
{
cout << "anonymous exeception"<< endl;
}
}




--------------------------------------------------------------------------------


> ==12222== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux.
> ==12222== Copyright (C) 2002, and GNU GPL'd, by Julian Seward.
> ==12222== Using valgrind-1.9.6, a program instrumentation system for
x86-linux.
> ==12222== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward.
> ==12222== Estimated CPU clock rate is 1673 MHz
> ==12222== For more details, rerun with: -v
> ==12222==
> g1 is valid
> g2 is valid
> about to intersection() these 2 geometries
> # overlapping MCs: 669
> ==12222== Invalid read of size 4
> ==12222==    at 0x402C16CD: geos::OverlayOp::~OverlayOp(void)
(/usr/include/g++-3/stl_vector.h:95)
> ==12222==    by 0x402C1111: geos::OverlayOp::overlayOp(geos::Geometry *,
geos::Geometry *, int) (../operation/overlay/OverlayOp.cpp:10)
> ==12222==    by 0x4027575E: geos::Geometry::intersection(geos::Geometry *)
(Geometry.cpp:361)
> ==12222==    by 0x8049F22: main (test5.cpp:33)
> ==12222==    Address 0x41286804 is 0 bytes inside a block of size 12 free'd
> ==12222==    at 0x40168F45: __builtin_delete (vg_clientfuncs.c:199)
> ==12222==    by 0x402C1678: geos::OverlayOp::~OverlayOp(void)
(/usr/include/g++-3/stl_vector.h:266)
> ==12222==    by 0x402C1111: geos::OverlayOp::overlayOp(geos::Geometry *,
geos::Geometry *, int) (../operation/overlay/OverlayOp.cpp:10)
> ==12222==    by 0x4027575E: geos::Geometry::intersection(geos::Geometry *)
(Geometry.cpp:361)
> ==12222==
> ==12222== Invalid read of size 4
> ==12222==    at 0x402C16D5: geos::OverlayOp::~OverlayOp(void)
(/usr/include/g++-3/stl_vector.h:95)
> ==12222==    by 0x402C1111: geos::OverlayOp::overlayOp(geos::Geometry *,
geos::Geometry *, int) (../operation/overlay/OverlayOp.cpp:10)
> ==12222==    by 0x4027575E: geos::Geometry::intersection(geos::Geometry *)
(Geometry.cpp:361)
> ==12222==    by 0x8049F22: main (test5.cpp:33)
> ==12222==    Address 0x4128680C is 8 bytes inside a block of size 12 free'd
> ==12222==    at 0x40168F45: __builtin_delete (vg_clientfuncs.c:199)
> ==12222==    by 0x402C1678: geos::OverlayOp::~OverlayOp(void)
(/usr/include/g++-3/stl_vector.h:266)
> ==12222==    by 0x402C1111: geos::OverlayOp::overlayOp(geos::Geometry *,
geos::Geometry *, int) (../operation/overlay/OverlayOp.cpp:10)
> ==12222==    by 0x4027575E: geos::Geometry::intersection(geos::Geometry *)
(Geometry.cpp:361)
> ==12222==
> ==12222== Invalid free() / delete / delete[]
> ==12222==    at 0x40168F45: __builtin_delete (vg_clientfuncs.c:199)
> ==12222==    by 0x402C1745: geos::OverlayOp::~OverlayOp(void)
(/usr/include/g++-3/stl_vector.h:266)
> ==12222==    by 0x402C1111: geos::OverlayOp::overlayOp(geos::Geometry *,
geos::Geometry *, int) (../operation/overlay/OverlayOp.cpp:10)
> ==12222==    by 0x4027575E: geos::Geometry::intersection(geos::Geometry *)
(Geometry.cpp:361)
> ==12222==    Address 0x41286804 is 0 bytes inside a block of size 12 free'd
> ==12222==    at 0x40168F45: __builtin_delete (vg_clientfuncs.c:199)
> ==12222==    by 0x402C1678: geos::OverlayOp::~OverlayOp(void)
(/usr/include/g++-3/stl_vector.h:266)
> ==12222==    by 0x402C1111: geos::OverlayOp::overlayOp(geos::Geometry *,
geos::Geometry *, int) (../operation/overlay/OverlayOp.cpp:10)
> ==12222==    by 0x4027575E: geos::Geometry::intersection(geos::Geometry *)
(Geometry.cpp:361)
> ==12222==
> ==12222== Invalid read of size 4
> ==12222==    at 0x402C1756: geos::OverlayOp::~OverlayOp(void)
(/usr/include/g++-3/stl_vector.h:95)
> ==12222==    by 0x402C1111: geos::OverlayOp::overlayOp(geos::Geometry *,
geos::Geometry *, int) (../operation/overlay/OverlayOp.cpp:10)
> ==12222==    by 0x4027575E: geos::Geometry::intersection(geos::Geometry *)
(Geometry.cpp:361)
> ==12222==    by 0x8049F22: main (test5.cpp:33)
> ==12222==    Address 0x412C3294 is 0 bytes inside a block of size 12 free'd
> ==12222==    at 0x40168F45: __builtin_delete (vg_clientfuncs.c:199)
> ==12222==    by 0x402C15A2: geos::OverlayOp::~OverlayOp(void)
(/usr/include/g++-3/stl_vector.h:266)
> ==12222==    by 0x402C1111: geos::OverlayOp::overlayOp(geos::Geometry *,
geos::Geometry *, int) (../operation/overlay/OverlayOp.cpp:10)
> ==12222==    by 0x4027575E: geos::Geometry::intersection(geos::Geometry *)
(Geometry.cpp:361)
> ==12222==
> ==12222== Invalid read of size 4
> ==12222==    at 0x402C175E: geos::OverlayOp::~OverlayOp(void)
(/usr/include/g++-3/stl_vector.h:95)
> ==12222==    by 0x402C1111: geos::OverlayOp::overlayOp(geos::Geometry *,
geos::Geometry *, int) (../operation/overlay/OverlayOp.cpp:10)
> ==12222==    by 0x4027575E: geos::Geometry::intersection(geos::Geometry *)
(Geometry.cpp:361)
> ==12222==    by 0x8049F22: main (test5.cpp:33)
> ==12222==    Address 0x412C329C is 8 bytes inside a block of size 12 free'd
> ==12222==    at 0x40168F45: __builtin_delete (vg_clientfuncs.c:199)
> ==12222==    by 0x402C15A2: geos::OverlayOp::~OverlayOp(void)
(/usr/include/g++-3/stl_vector.h:266)
> ==12222==    by 0x402C1111: geos::OverlayOp::overlayOp(geos::Geometry *,
geos::Geometry *, int) (../operation/overlay/OverlayOp.cpp:10)
> ==12222==    by 0x4027575E: geos::Geometry::intersection(geos::Geometry *)
(Geometry.cpp:361)
> ==12222==
> ==12222== Invalid free() / delete / delete[]
> ==12222==    at 0x40168F45: __builtin_delete (vg_clientfuncs.c:199)
> ==12222==    by 0x402C17C8: geos::OverlayOp::~OverlayOp(void)
(/usr/include/g++-3/stl_vector.h:266)
> ==12222==    by 0x402C1111: geos::OverlayOp::overlayOp(geos::Geometry *,
geos::Geometry *, int) (../operation/overlay/OverlayOp.cpp:10)
> ==12222==    by 0x4027575E: geos::Geometry::intersection(geos::Geometry *)
(Geometry.cpp:361)
> ==12222==    Address 0x412C3294 is 0 bytes inside a block of size 12 free'd
> ==12222==    at 0x40168F45: __builtin_delete (vg_clientfuncs.c:199)
> ==12222==    by 0x402C15A2: geos::OverlayOp::~OverlayOp(void)
(/usr/include/g++-3/stl_vector.h:266)
> ==12222==    by 0x402C1111: geos::OverlayOp::overlayOp(geos::Geometry *,
geos::Geometry *, int) (../operation/overlay/OverlayOp.cpp:10)
> ==12222==    by 0x4027575E: geos::Geometry::intersection(geos::Geometry *)
(Geometry.cpp:361)
> finished intersection
> about to intersection() these 2 geometries
> ==12222==
> ==12222== Invalid read of size 4
> ==12222==    at 0x402DCBD2: vector<int, allocator<int> >::insert(int *,
unsigned int, int const &) (/usr/include/g++-3/stl_alloc.h:422)
> ==12222==    by 0x4029F91D: geos::TopologyLocation::init(int)
(/usr/include/g++-3/stl_vector.h:197)
> ==12222==    by 0x4029F65D: geos::TopologyLocation::TopologyLocation(int)
(../graph/TopologyLocation.cpp:29)
> ==12222==    by 0x4029AEC6: geos::Label::Label(int, int)
(../graph/Label.cpp:27)
> ==12222==    Address 0xFFFFFFFF is not stack'd, malloc'd or free'd
>


--------------------------------------------------------------------------------


> _______________________________________________
> geos-devel mailing list
> geos-devel at geos.refractions.net
> http://geos.refractions.net/mailman/listinfo/geos-devel
>




More information about the geos-devel mailing list