Opened 11 months ago

Closed 11 months ago

Last modified 11 months ago

#6939 closed defect (fixed)

Unsafe use of VRT in multithreaded situations / VRT_SHARED_SOURCE

Reported by: Crapaud04 Owned by: warmerdam
Priority: high Milestone: 2.3.0
Component: GDAL_Raster Version: 2.1.3
Severity: major Keywords: VRT
Cc:

Description

Since version QGIS 2.18.5 it is impossible for me to use a simple project with a VRT. I tested the generated with the new version but without success.

By zooming and zooming I have a black or red , blue, green background and so I have not my orthophoto. This problem is repeated 2 - 3 times then QGIS crach.

Attached a screenshot of my problem + Several backtrace with all the quoted problems but my raster does 6 Go.

i have open a ticket on redmine Qgis https://issues.qgis.org/issues/16507

Attachments (4)

2017-05-02 09_37_23-QGIS 2.18.7.png (310.6 KB) - added by Crapaud04 11 months ago.
GOSA-SIG11 - 3.LOG (1.7 KB) - added by Crapaud04 11 months ago.
two open QGIS and two bug
GOSA-SIG11-2.LOG (112.8 KB) - added by Crapaud04 11 months ago.
two open QGIS and two bug
vrt.jpg (263.7 KB) - added by Crapaud04 11 months ago.

Download all attachments as: .zip

Change History (10)

Changed 11 months ago by Crapaud04

Changed 11 months ago by Crapaud04

Attachment: GOSA-SIG11 - 3.LOG added

two open QGIS and two bug

Changed 11 months ago by Crapaud04

Attachment: GOSA-SIG11-2.LOG added

two open QGIS and two bug

Changed 11 months ago by Crapaud04

Attachment: vrt.jpg added

comment:1 Changed 11 months ago by Even Rouault

Fixed in QGIS by defining VRT_SHARED_SOURCE=NO

It would be good to avoid this hack and have a proper fix in GDAL someday

comment:2 Changed 11 months ago by Even Rouault

Summary: Navigation problem with a VRT in QGISUnsafe use of VRT in multithreaded situations / VRT_SHARED_SOURCE

comment:3 Changed 11 months ago by Even Rouault

r39379 GDALProxyPoolDataset/GDALProxyRasterBand: don't open underlying dataset if not already opened. This is useless and could potentially lead to recursion in some situations (VRT FlushCache?? implementation to follow) (relates to #6939)

r39380 VRT: implement FlushCache??(). Helps more easily diagnosing multithreading issues. And also potentially useful if VRT sources have been changed and fresh content fetching is wished (but that's not a completely reliable way to do so anyway...) (relates to #6939)

r39381 multireadtest: fix mutex issue, change/add new options (relates to #6939)

r39382 Proxy pool: fix breakage introduced in r39379 / r39380 that make vrt_read_18 test do use-after-free

comment:4 Changed 11 months ago by Even Rouault

Resolution: fixed
Status: newclosed

In 39386:

VRT: fix use of VRTs that point to the same source in multi-threaded scenarios (fixes #6939)

comment:5 Changed 11 months ago by Even Rouault

Milestone: 2.3.0

comment:6 Changed 11 months ago by Even Rouault

In 39387:

Add test for refs #6939

Note: See TracTickets for help on using tickets.