You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Shan Jiang (Jira)" <ji...@apache.org> on 2026/03/06 02:29:00 UTC

[jira] [Created] (CODEC-334) `BaseNCodecOutputStream.close()` throws on second call — violates Closeable idempotency contract

Shan Jiang created CODEC-334:
--------------------------------

             Summary: `BaseNCodecOutputStream.close()` throws on second call — violates Closeable idempotency contract
                 Key: CODEC-334
                 URL: https://issues.apache.org/jira/browse/CODEC-334
             Project: Commons Codec
          Issue Type: Bug
            Reporter: Shan Jiang


### Summary

`BaseNCodecOutputStream.close()` is not idempotent: the second call attempts to flush to an already-closed underlying stream, throwing `IOException`. The `Closeable` contract (JDK 21 Javadoc) states: "If the stream is already closed then invoking this method has no effect."

### How this was found

Detected by automated JDK conformance oracle (`checkCloseIdempotent`).



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