[GRASS-dev] [GRASS GIS] #1866: broken db driver communication in winGRASS 7

GRASS GIS trac at osgeo.org
Tue Mar 12 12:52:09 PDT 2013

#1866: broken db driver communication in winGRASS 7
 Reporter:  martinl           |       Owner:  grass-dev@…              
     Type:  defect            |      Status:  new                      
 Priority:  blocker           |   Milestone:  7.0.0                    
Component:  Database          |     Version:  unspecified              
 Keywords:  sqlite, wingrass  |    Platform:  MSWindows 2K             
      Cpu:  Unspecified       |  

Comment(by mmetz):

 Replying to [comment:15 glynn]:
 > Replying to [comment:14 mmetz]:
 > > Fixed in r55332
 > r55332 doesn't fix anything, but instead breaks linking (because libxdr
 typically won't exist).

 libxdr exists in osgeo4w [0]. I don't know why r55332 works, but it works.
 IOW, r53256 works, r53257 does not work.

 > Reverted in r55335.

 I am inclined to revert r55335 until a proper solution is found.
 > In what way does the DBMI client lib receive "garbage"? Is the data
 simply corrupted, or does it bear absolutely no relation to what the
 driver sends?

 The communication pipe first sends the size of the string, then the string
 itself [1]. After the first few transmissions, the size of the string as
 sent by the driver is correct, but the size of the string as received by
 the dblib is too large. That means the driver continues sending correct
 data with `db__send_string()` while `db__recv_string()` still waits for a
 very large string to appear, which never appears. As a result, nothing
 happens and the modules using dblib hang.

 [0] http://download.osgeo.org/osgeo4w/release/libxdr/libxdr/

Ticket URL: <https://trac.osgeo.org/grass/ticket/1866#comment:17>
GRASS GIS <http://grass.osgeo.org>

More information about the grass-dev mailing list