Tencent/matrix · error · TaskExecuteException
e.getMessage()
Error message
e.getMessage()
What it means
UncompressedFileTask.call() wraps any exception raised while scanning the APK for uncompressed entries into a TaskExecuteException with message e.getMessage(). It is a generic wrapper; the actionable information is in the cause.
Solutions
- Check e.getCause() for the real failure and its stack trace.
- Validate the APK opens as a zip (e.g. unzip -t app.apk) before running.
- Rebuild/re-download the APK if corrupt.
- Check file read permissions for the user running matrix.
Example fix
// before
catch (Exception e) { log.warn(e.getMessage()); }
// after
catch (TaskExecuteException e) {
Throwable cause = e.getCause();
log.error("UncompressedFileTask failed: " + e.getMessage(), cause);
} Defensive patterns
Strategy: try-catch
Try / catch
try {
taskResult = task.call();
} catch (TaskExecuteException e) {
Throwable cause = e.getCause();
if (cause instanceof ZipException || cause instanceof IOException) {
log.error("APK unreadable/corrupt: {}", cause.getMessage(), cause);
} else {
log.error("UncompressedFileTask failed", cause);
}
} Prevention
- Sanity-check the APK with `unzip -t` before analysis.
- Avoid mutating/deleting the APK while the task runs.
- Confirm workspace file permissions for the CI user.
- Retain the original cause stack traces in logs.
When it happens
Trigger: IOException opening/reading the APK (corrupt or truncated file), ZipException on a non-zip file, or errors building the JSON result.
Common situations: Pointing at a partially downloaded/corrupt APK; APK replaced on disk mid-run; file permission problems in CI workspaces.
Understand the failure class
Background: "This is a bug, please report it": internal invariant violations, unreachable panics, and SNH errors explained — this error's family across 47 libraries.
Related errors
- e.getMessage()
- TAG + "---The path of tool 'nm' is not given!"
- TAG + "---Can not find the tool 'nm'!"
- TAG + "---APK-UNZIP-PATH can not be null!"
- TAG + "---APK-FILE-PATH can not be null!"
AI-assisted analysis of Tencent/matrix@3b8293bd65 (2026-09-08).
Data as JSON: /api/errors/0ce237b22b7306fa.
Report an issue: GitHub.
Appendix: source
Thrown at matrix/matrix-android/matrix-apk-canary/src/main/java/com/tencent/matrix/apk/model/task/UncompressedFileTask.java:138
Log.d(TAG, "file: %s, filter by suffix.", entry.getKey());
}
}
}
for (String suffix : uncompressSizeMap.keySet()) {
if (uncompressSizeMap.get(suffix).equals(compressSizeMap.get(suffix))) {
JsonObject fileItem = new JsonObject();
fileItem.addProperty("suffix", suffix);
fileItem.addProperty("total-size", uncompressSizeMap.get(suffix));
jsonArray.add(fileItem);
}
}
((TaskJsonResult) taskResult).add("files", jsonArray);
taskResult.setStartTime(startTime);
taskResult.setEndTime(System.currentTimeMillis());
return taskResult;
} catch (Exception e) {
throw new TaskExecuteException(e.getMessage(), e);
}
}
}
View on GitHub (pinned to 3b8293bd65)