Opened 7 years ago

Closed 7 years ago

Last modified 7 years 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 7 years ago.
GOSA-SIG11 - 3.LOG (1.7 KB ) - added by Crapaud04 7 years ago.
two open QGIS and two bug
GOSA-SIG11-2.LOG (112.8 KB ) - added by Crapaud04 7 years ago.
two open QGIS and two bug
vrt.jpg (263.7 KB ) - added by Crapaud04 7 years ago.

Download all attachments as: .zip

Change History (10)

by Crapaud04, 7 years ago

by Crapaud04, 7 years ago

Attachment: GOSA-SIG11 - 3.LOG added

two open QGIS and two bug

by Crapaud04, 7 years ago

Attachment: GOSA-SIG11-2.LOG added

two open QGIS and two bug

by Crapaud04, 7 years ago

Attachment: vrt.jpg added

comment:1 by Even Rouault, 7 years ago

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 by Even Rouault, 7 years ago

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

comment:3 by Even Rouault, 7 years ago

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 by Even Rouault, 7 years ago

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 by Even Rouault, 7 years ago

Milestone: 2.3.0

comment:6 by Even Rouault, 7 years ago

In 39387:

Add test for refs #6939

Note: See TracTickets for help on using tickets.