#6400 closed defect (fixed)

Deadlock in multi-threaded use of warped VRT

Reported by: Even Rouault Owned by: Even Rouault
Priority: normal Milestone: 2.0.3
Component: GDAL_Raster Version: 2.0.0
Severity: normal Keywords:


Was seen with mapcache, with a GDAL WMS source (with overviews). The issue is that the warped VRT can do writes of block for the alpha band, which is formally a situation of several threads doing writes. The logic added in #6163 to prevent such situations doesn't work well (which shows that the design of the global block cache with multi-threaded write situations is probably a dead end). In the particular case of a warped VRT, we don't actually need the mutex, so let's add a hack to avoid the deadlock...

Change History (1)

comment:1 Changed 13 months ago by Even Rouault

Milestone: 2.0.3
Resolution: fixed
Status: newclosed
Version: unspecified2.0.0

trunk r33650, branches/2.0 r33651 "Warped VRT: fix deadlock in situation where warped VRT datasets are read in multiple threads and the block cache reaches saturation. Also add a GDAL_ENABLE_READ_WRITE_MUTEX config option that can be set to NO to disable the read/write mutex mechanism in cases where it would deadlock (#6400)"

Note: See TracTickets for help on using tickets.