skylot/jadx · error · SmaliDebuggerException

Unexpected value: ${tag}

Error message

Unexpected value: ${tag}

What it means

Error "Unexpected value: ${tag}" thrown in skylot/jadx.

Source

Thrown at jadx-gui/src/main/java/jadx/gui/device/debugger/RuntimeType.java:77

				return RuntimeType.LONG;
			case JDWP.Tag.SHORT:
				return RuntimeType.SHORT;
			case JDWP.Tag.VOID:
				return RuntimeType.VOID;
			case JDWP.Tag.BOOLEAN:
				return RuntimeType.BOOLEAN;
			case JDWP.Tag.STRING:
				return RuntimeType.STRING;
			case JDWP.Tag.THREAD:
				return RuntimeType.THREAD;
			case JDWP.Tag.THREAD_GROUP:
				return RuntimeType.THREAD_GROUP;
			case JDWP.Tag.CLASS_LOADER:
				return RuntimeType.CLASS_LOADER;
			case JDWP.Tag.CLASS_OBJECT:
				return RuntimeType.CLASS_OBJECT;
			default:
				throw new SmaliDebuggerException("Unexpected value: " + tag);
		}
	}
}

View on GitHub (pinned to e738a26571)

Solutions

  1. Validate the JDWP tag byte against the known tag constants before the switch, and report the raw tag value when it is unsupported.
  2. Treat unknown tags as a protocol mismatch: check the target VM's JDWP version and abort the operation with a clear message instead of a generic 'Unexpected value'.

When it happens

Trigger: Thrown at jadx-gui/src/main/java/jadx/gui/device/debugger/RuntimeType.java:77 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of skylot/jadx@e738a26571 (2026-08-14). Data as JSON: /api/errors/f4a93b9f2585b0d1. Report an issue: GitHub.