-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26806/
-----------------------------------------------------------

Review request for qpid, Gordon Sim and Kim van der Riet.


Bugs: QPID-6157
    https://issues.apache.org/jira/browse/QPID-6157


Repository: qpid


Description
-------

For reason of the segfault, read description of relevant JIRA since "Additional 
info:".

Simply, popEmptyFile method needs to do _atomic_ test-and-create-and-grab for 
an efp file, otherwise the scenario to segfault can happen. Therefore whole 
method is newly under the emptyFileListMutex lock (what has some side-effect to 
createEmptyFile method (called from popEmptyFile) that would be waiting on the 
same already acquired lock).


Diffs
-----

  trunk/qpid/cpp/src/qpid/linearstore/journal/EmptyFilePool.cpp 1631725 

Diff: https://reviews.apache.org/r/26806/diff/


Testing
-------

Reproducer does not show any segfault.

Few scenarios like "EFP having 1 file only", "EFP having many files" tried many 
times, no deadlock or segfault.

Automated tests for linearstore passed.


Thanks,

Pavel Moravec

Reply via email to