theonedev/onedev · error · org.apache.wicket.response.ResponseIOException

org.apache.wicket.response.ResponseIOException

Error message

org.apache.wicket.response.ResponseIOException

What it means

ServletWebResponse.write(CharSequence) catches IOException from the servlet response writer and rethrows it as Wicket's unchecked ResponseIOException, propagating container-level I/O failures (broken pipes, aborted connections) out of the render path.

Source

Thrown at server-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java:114

		httpServletResponse.setHeader(name, value);
	}

	@Override
	public void addHeader(String name, String value)
	{
		httpServletResponse.addHeader(name, value);
	}

	@Override
	public void write(CharSequence sequence)
	{
		try
		{
			httpServletResponse.getWriter().append(sequence);
		}
		catch (IOException e)
		{
			throw new ResponseIOException(e);
		}
	}

	@Override
	public void write(byte[] array)
	{
		try
		{
			httpServletResponse.getOutputStream().write(array);
		}
		catch (IOException e)
		{
			throw new ResponseIOException(e);
		}
	}

	@Override
	public void write(byte[] array, int offset, int length)

View on GitHub (pinned to d44925c47c)

Solutions

  1. Treat it as a client-disconnect/transport failure, usually not actionable server-side.
  2. Catch ResponseIOException at the request cycle boundary for logging.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at server-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java:114 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of theonedev/onedev@d44925c47c (2026-09-06). Data as JSON: /api/errors/0fa5fa1fc6edfcf0. Report an issue: GitHub.