#POSTGIS IRC Log - 2009-04-07

For logs after Feb 3, 2007, all times are GMT-8. Prior logs are GMT-9.
Back to Logs
00:10:49 CIA-34: strk * r2312 /trunk/source/ ( 2 files in 2 dirs ): Sync HCoordinate class to JTS-1.9 ( rev 1.18 )
00:51:23 CIA-34: mloskot * r3982 /spike/wktraster/rt_pg/rt_pg.c: [wktraster] Make NOTICE messages in RASTER_in|_out easier to identify.
01:01:31 mloskot: strk: ping
01:01:34 mloskot: :w
01:01:52 : * mloskot 's in wrong win
01:02:13 mloskot: strk: but I'm pinging you intentionally :- )
01:04:51 CIA-34: mloskot * r3983 /spike/wktraster/rt_core/rt_api.c: [wktraster] In struct rt_band_t, use more explicite typing in members declaration: offline int -> int32_t and ownsData int -> int32_t.
01:14:55 strk: fixed ?
01:15:16 mloskot: strk: no
01:15:30 mloskot: strk: Do you have a minute to talk?
01:15:50 mloskot: strk: I'm going to prepare a post and send it to you and others anyway, with details I've discovered
01:15:59 mloskot: The problem seems to be on low-low-level
01:16:26 strk: I'm busy with funded work, sorry
01:17:02 mloskot: strk: I understand, but perhaps you will be able to give it 10 minutes to read the post and give some comments
01:17:16 mloskot: strk: anyway
01:52:10 CIA-34: strk * r2313 /trunk/source/headers/geos/noding/SegmentStringUtil.h: Update port info, minor tweaks to doxygen comments
01:53:07 CIA-34: strk * r2314 /trunk/source/operation/valid/ ( 4 files ): Port IndexedNestedRingTester and have IsValidOp use it, syncing the operation to JTS-1.9
02:15:23 CIA-34: strk * r2315 /trunk/source/headers/geos/operation/valid/IsValidOp.h: Port info, indenting
02:20:52 CIA-34: mloskot * r3984 /spike/wktraster/rt_pg/rt_pg.c: [wktraster] Disabled NOTICE message.
02:25:45 CIA-34: mloskot * r3985 /spike/wktraster/rt_core/rt_api.c:
02:25:45 CIA-34: [wktraster] Instrumented rt_core with debugging utils to track all steps of
02:25:45 CIA-34: serialization. Added funtions d_binary_to_hex and d_print_binary_hex for this
02:25:45 CIA-34: purpose. All the instrumentation is activated by defining RT_API_DEBUG macro or
02:25:45 CIA-34: using dedicated option ./configure --enable-rtapi-debug.
02:44:34 CIA-34: strk * r2316 /trunk/source/headers/geos/noding/NodedSegmentString.h: Fix signed vs. unsigned compiler warning
03:07:58 CIA-34: strk * r2317 /trunk/source/ ( 3 files in 2 dirs ): Sync HotPixel to JTS-1.9 ( rev 1.3 ); fix a few bugs and use standard algorithms for min/max
04:33:14 CIA-34: strk * r2318 /trunk/source/operation/valid/ ( IndexedNestedRingTester.cpp IndexedNestedRingTester.h ): update copyright notice
04:38:08 reflex: Hi!
04:38:52 reflex: I trying to merge two linestring. But I always get a MULTILINESTRING. Any one knows why I get a multiline?
04:39:00 reflex: the lines are correlatives each other
04:39:53 reflex: contiguous*
04:50:02 mloskot: reflex: -> manual -> ST_LineMerge
04:57:35 reflex: Yes I read that, but I dont know why some times works and sometimes dont
04:58:11 mloskot: reflex: your question is "why I always get multi type"
04:58:19 mloskot: it is what you should expect
04:58:28 mloskot: it is exactly what manual says
04:58:47 mloskot: So, no idea what you mean it sometimes works sometimes don't
04:58:58 mloskot: From what you've written, it works and works well
04:59:28 reflex: Sorry, I made wrong my question
04:59:44 reflex: How could I get a linestring from a multilnestring?
06:21:04 : * strk hits the jts wall with snapround package
06:21:10 strk: I forgot what kind of jungle it was ...
06:22:37 strk: pramsey: I'm trying to get password reminder for the JTS list ( at RR ). It seems you're the owner. I'm not getting any reminder. Could you please check what address I'm subscribed with ? Or what's wrong with that password reminder?
06:42:04 CIA-34: mloskot * r3986 /spike/wktraster/rt_core/rt_api.c:
06:42:05 CIA-34: [wktraster] Added comment with warning that rt_raster_t.size value may be
06:42:05 CIA-34: updated after object is returned from core to upper layers ( ie. rt_pg ). It means
06:42:05 CIA-34: that it should be used with caution, if at all, in core functions like
06:42:05 CIA-34: rt_raster_deserialize.
08:12:58 mloskot: strk: quick question, could you give some background where does the decision about calculatig memory alignment and checking with ( uint64_t )ptr % 8 == 0 comes from?
08:14:04 pramsey: strk: you aren't subscribed to jts-devel
08:18:43 strk: mloskot: a pointer-to-double must have an address for which %sizeof( double ) == 0
08:18:46 strk: pramsey: thanks
08:23:28 mloskot: strk: it calculates ptr to structures and blocks
08:23:46 mloskot: strk: let me ask this way, is it platform specific or not?
08:27:07 strk: the alignment requirement ? yes it is platform specific. Some platforms don't force that constraint.
08:27:39 mloskot: strk: are you aware of the fact that depending on different compilation options, you can get different results?
08:28:39 strk: of what ? structure size ?
08:29:04 mloskot: ( uint64_t )ptr % 8
08:29:50 mloskot: strk: try to compile and run this program on diff platforms with -O1 and -O2
08:29:51 mloskot: http://osgeo.pastebin.com/m319351d6
08:29:52 sigq: Title: osgeo private pastebin - collaborative debugging tool ( at osgeo.pastebin.com )
08:29:59 mloskot: I'm not asking about visual c++ from obvious reasons ;- )
08:30:57 mloskot: http://osgeo.pastebin.com/m2e10d9fe
08:30:58 sigq: Title: osgeo private pastebin - collaborative debugging tool ( at osgeo.pastebin.com )
08:31:20 mloskot: strk: chances are my test program is invalid and I don't understand how it's supposed to work, in wktraster
08:32:45 mloskot: strk: but I'm sure that _deserialize function skips over padding bytes randomly
08:38:39 mloskot: strk: just to give more clear summary, calculation that is supposed to skip padding bytes during deserialization ( rt_api.c:2799 in current trynk ) works randomly, sometimes well sometimes it "eats" band data.
08:39:06 mloskot: strk: loops like: while ( ( uint64_t )ptr % 8 )
08:39:15 mloskot: work randomly as well, on the same machine/system
08:40:12 mloskot: strk: this is only a random success that on 64-bit this calculation works, so my bug I called CAR5, does not leak.
08:40:44 mloskot: strk: The alignment test I made and pasted above and its results, show why on 64-bit this calculation works, it's just more stable
08:49:21 mloskot: strk: just an addition, I understand what you mean that ptr-to-double % 8 == 0, and I understand that this assumption usually works for pointers to structs, however you don't use ptr to double or ptr to plain structs
08:49:49 mloskot: but padding is calculated using ptr to unsigned char*
08:50:00 mloskot: IOW, ptr to memory block, typeless
08:50:33 strk: will be typed when we cast it to a struct
08:50:55 mloskot: strk: I'm commenting your code, there are no casts
08:51:21 strk: I'm not looking at it now, busy doing geos work...
08:51:30 mloskot: cool, have fun
09:02:08 strk: damn blacklisting
09:02:27 vcs: has anyone been able to build postgis on centos
09:02:32 vcs: using only packages from yum
09:02:54 vcs: configure works fine for me but when I make I gt undefined functions
10:57:00 CIA-34: strk * r2319 /trunk/ ( 40 files in 10 dirs ): Refactor SegmentString to be an abstract class, to be in sync with JTS-1.9.