IOException saving graph model. · Issue #10228 · deeplearning4j/deeplearning4j · GitHub
Skip to content

IOException saving graph model. #10228

@MintakaB

Description

@MintakaB

hi
I am having an Intermittent non‑fatal IOException: flush() failed: stream is closed is thrown by ModelSerializer.writeModel(...) when saving a ComputationGraph.
Despite the exception, the produced ZIP file is valid and can be successfully reloaded. This creates noisy WARN logs.

Method Call: ModelSerializer.writeModel(graph, targetFile, true, normalizer) inside a background training thread.

Non-fatal issue while saving best model (known flush anomaly?). Attempting fallback.: java.io.IOException: flush() failed: stream is closed

	at org.apache.commons.io.output.ClosedOutputStream.flush(ClosedOutputStream.java:62)

	at org.apache.commons.io.output.ProxyOutputStream.flush(ProxyOutputStream.java:142)

	at java.base/java.util.zip.DeflaterOutputStream.flush(DeflaterOutputStream.java:290)

	at java.base/java.io.BufferedOutputStream.implFlush(BufferedOutputStream.java:253)

	at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:240)

	at java.base/java.io.FilterOutputStream.close(FilterOutputStream.java:184)

	at java.base/java.io.FilterOutputStream.close(FilterOutputStream.java:193)

	at org.deeplearning4j.util.ModelSerializer.writeModel(ModelSerializer.java:195)

	at org.deeplearning4j.util.ModelSerializer.writeModel(ModelSerializer.java:93)

	at tng.telementry.thunder.train.ThunderNetwork.saveBestModel(ThunderNetwork.java:622)

	at tng.telementry.thunder.train.ThunderNetwork.trainModel(ThunderNetwork.java:588)

	at tng.telementry.thunder.train.ThunderNetwork.lambda$networkTrainer$8(ThunderNetwork.java:424)

	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)

	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)

	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)

	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)

	at java.base/java.lang.Thread.run(Thread.java:1583)

	Suppressed: java.io.IOException: flush() failed: stream is closed

		at org.apache.commons.io.output.ClosedOutputStream.flush(ClosedOutputStream.java:62)

		at org.apache.commons.io.output.ProxyOutputStream.flush(ProxyOutputStream.java:142)

		at java.base/java.util.zip.DeflaterOutputStream.flush(DeflaterOutputStream.java:290)

		at java.base/java.io.BufferedOutputStream.implFlush(BufferedOutputStream.java:253)

		at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:240)

		at java.base/java.io.DataOutputStream.flush(DataOutputStream.java:131)

		at java.base/java.io.FilterOutputStream.close(FilterOutputStream.java:184)

		... 10 more

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions