You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Matthias Pohl (Jira)" <ji...@apache.org> on 2023/02/27 12:58:00 UTC

[jira] [Created] (FLINK-31244) OffHeapUnsafeMemorySegmentTest.testCallCleanerOnceOnConcurrentFree prints IllegalStateException

Matthias Pohl created FLINK-31244:
-------------------------------------

             Summary: OffHeapUnsafeMemorySegmentTest.testCallCleanerOnceOnConcurrentFree prints IllegalStateException
                 Key: FLINK-31244
                 URL: https://issues.apache.org/jira/browse/FLINK-31244
             Project: Flink
          Issue Type: Bug
          Components: Runtime / Network, Tests
    Affects Versions: 1.16.1, 1.15.3, 1.17.0
            Reporter: Matthias Pohl


We're observing strange IllegalStateException stacktrace output in {{OffHeapUnsafeMemorySegmentTest.testCallCleanerOnceOnConcurrentFree}} in CI like:

[https://dev.azure.com/apache-flink/apache-flink/_build/results?buildId=46283&view=logs&j=4d4a0d10-fca2-5507-8eed-c07f0bdf4887&t=7b25afdf-cc6c-566f-5459-359dc2585798&l=5584] 
{code:java}
Feb 18 03:58:47 [INFO] Running org.apache.flink.core.memory.OffHeapUnsafeMemorySegmentTest
Exception in thread "Thread-13" java.lang.IllegalStateException: MemorySegment can be freed only once!
    at org.apache.flink.core.memory.MemorySegment.free(MemorySegment.java:244)
    at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-15" java.lang.IllegalStateException: MemorySegment can be freed only once!
    at org.apache.flink.core.memory.MemorySegment.free(MemorySegment.java:244)
    at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-17" java.lang.IllegalStateException: MemorySegment can be freed only once!
    at org.apache.flink.core.memory.MemorySegment.free(MemorySegment.java:244)
    at java.lang.Thread.run(Thread.java:748){code}
This is caused by FLINK-21798. The corresponding system property is enabled as part of the CI run (see [tools/ci/test_controller.sh:108|https://github.com/apache/flink/blob/7e37d59f834bca805f5fbee99db87eb909d1814f/tools/ci/test_controller.sh#L108]) which makes the {{IllegalStateException}} to be thrown.

AFAIU, the intention of this test was to make sure that the cleaner logic is only called once even if the free method is called multiple times. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)