Opened 2 years ago

Closed 2 years ago

Last modified 21 months ago

#5992 closed defect (fixed)

Crash with VRT use in multi-threaded context

Reported by: Even Rouault Owned by: Even Rouault
Priority: normal Milestone: 2.0.0
Component: GDAL_Raster Version: unspecified
Severity: normal Keywords: vrt
Cc: antonio

Description

There's a known issue related to VRT as documented in the VRT driver doc: "When using VRT datasets in a multi-threading environment, you should be careful to open the VRT dataset by the thread that will use it afterwards. The reason for that is that the VRT dataset uses GDALOpenShared when opening the underlying datasets. So, if you open twice the same VRT dataset by the same thread, both VRT datasets will share the same handles to the underlying datasets."

However such a restriction might be impractical and it would be desirable that the VRT driver might be instructed to open sources in non-shared mode.

Change History (5)

comment:1 Changed 2 years ago by Even Rouault

trunk r29324 "VRT: add handling of a shared='0' attribute on <SourceFilename?> to open sources in non-shared mode, and VRT_SERIALIZE_SHARED config option that can be set to 0 in case the shared attribute isn't there (#5992)"

comment:2 Changed 2 years ago by Even Rouault

trunk r29325 "VRT: fix doc of previous commit: the config option name is VRT_SHARED_SOURCE (#5992)"

branches/2.0 r29326 (post RC1): "VRT: add handling of a shared='0' attribute on <SourceFilename?> to open sources in non-shared mode, and VRT_SHARED_SOURCE config option that can be set to 0 in case the shared attribute isn't there (#5992)"

Last edited 2 years ago by Even Rouault (previous) (diff)

comment:3 Changed 2 years ago by antonio

Cc: antonio added

comment:4 Changed 2 years ago by Even Rouault

Milestone: 2.0
Resolution: fixed
Status: newclosed

trunk r29341, branches/2.0 r29342 "VRT: change version for shared attribute / VRT_SHARED_SOURCE to 2.0.0 (#5992)"

comment:5 Changed 21 months ago by Even Rouault

Milestone: 2.02.0.0

Milestone renamed

Note: See TracTickets for help on using tickets.