Matej Kenda
Matej Kenda
Reproducible with Poco 1.13 on macOS 14.2.
Root of the problem is that renaming, deletion and creating compressed files is handled independently in two threads inside `ArchiveStrategy.cpp` (`compressImpl` and `moveFile`). The situation is even worse with numbered...
@aleks-f, @obiltschnig: I see two possibilities to solve this issue: * Introduce locking between renaming files and compression that also handles file names * Perform log rotation after compression finishes...
Additional investigation shows that PurgeStrategy would have to be synchronised with log file rotation and compression.
Latest version from devel works properly on Apple Silicon (M1 Pro Max) for the snippet provided by the submitter. ``` % c++ --version Apple clang version 14.0.0 (clang-1400.0.29.202) Target: arm64-apple-darwin22.3.0...
However few other tests fail: ``` There were 3 errors: 1: N7CppUnit10TestCallerI8JSONTestEE.testValidJanssonFiles "N4Poco17NotFoundExceptionE: Not found: POCO_BASE" in "", line -1 2: N7CppUnit10TestCallerI8JSONTestEE.testInvalidJanssonFiles "N4Poco17NotFoundExceptionE: Not found: POCO_BASE" in "", line -1...
I added the exact code as provided in the description to the unit test. It works properly on M1 MacBook: ``` % c++ --version Apple clang version 15.0.0 (clang-1500.0.40.1) Target:...
An additional unit tests was added in PR #4315 that covers issues reported in this ticket. The test passes on macOS running on Apple M1.
The problem can be reproduced on macOS with CMAKE if: * CMAKE_BUILD_TYPE is Release * set(CMAKE_CXX_VISIBILITY_PRESET hidden) is set Poco 1.13 does not build on macOS with the aforementioned changes...
I get this static analysis warning in SQLChannel dtor: ``` /poco/Data/src/SQLChannel.cpp:112:3: Call to virtual method 'SQLChannel::close' during destruction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall] ```