[crac] RFR: Improved open file descriptors tracking [v4]

Radim Vansa duke at openjdk.org
Thu Mar 23 15:06:26 UTC 2023


On Thu, 16 Feb 2023 11:18:34 GMT, Radim Vansa <duke at openjdk.org> wrote:

>> Tracks `java.io.FileDescriptor` instances as CRaC resource; before checkpoint these are reported and if not allow-listed (e.g. as opened as standard descriptors) an exception is thrown. Further investigation can use system property `jdk.crac.collect-fd-stacktraces=true` to record origin of those file descriptors.
>> File descriptors claimed in Java code are passed to native; native code checks all open file descriptors and reports error if there's an unexpected FD that is not included in the list passed previously.
>
> Radim Vansa has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 16 commits:
> 
>  - Merge remote-tracking branch 'origin/crac' into newfd
>  - Use descriptor access rather than extending API
>  - 8272472: StackGuardPages test doesn't build with glibc 2.34
>    
>    Backport-of: f77a1a156f3da9068d012d9227c7ee0fee58f571
>  - Empty commit to trigger GHA
>  - Drop native FDs tracking
>  - Avoid claiming invalid FileDescriptor
>  - Whitelist RandomAccessFile opening classpath files
>    
>    This is a workaround for some frameworks opening classpath files in
>    a non-standard way.
>  - Add tracking of FD origin
>  - Track FileDescriptors closed by NIO
>  - Track native FDs from EPoll
>  - ... and 6 more: https://git.openjdk.org/crac/compare/5925959f...9b5e7edd

@AntonKozlov I had to add the changes for locking of resources registered during beforeCheckpoint already into this commit; when running the test I've ran into deadlocks.

-------------

PR Comment: https://git.openjdk.org/crac/pull/43#issuecomment-1481354315


More information about the crac-dev mailing list