You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2020/05/05 01:22:50 UTC
[tika] 03/04: add -Xmx to fuzzing cli
This is an automated email from the ASF dual-hosted git repository.
tallison pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tika.git
commit 18dc79b68997fc0abf71f9f97eedb9aa381c0280
Author: tallison <ta...@apache.org>
AuthorDate: Mon May 4 15:00:10 2020 -0400
add -Xmx to fuzzing cli
---
.../main/java/org/apache/tika/fuzzing/cli/FuzzingCLI.java | 6 +++++-
.../java/org/apache/tika/fuzzing/cli/FuzzingCLIConfig.java | 14 ++++++++++++++
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/cli/FuzzingCLI.java b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/cli/FuzzingCLI.java
index 3857a9a..a6a5f93 100644
--- a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/cli/FuzzingCLI.java
+++ b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/cli/FuzzingCLI.java
@@ -122,6 +122,8 @@ public class FuzzingCLI {
String[] args = new String[] {
"java",
+ "-XX:-OmitStackTraceInFastThrow",
+ "-Xmx"+config.xmx,
"-ea",
"-cp",
ProcessUtils.escapeCommandLine(cp),
@@ -210,7 +212,9 @@ public class FuzzingCLI {
LOG.info("hit maxfiles; file crawler is stopping early");
return FileVisitResult.TERMINATE;
}
-
+ if (!file.getFileName().toString().contains("sas7bdat")) {
+ return FileVisitResult.CONTINUE;
+ }
try {
boolean offered = queue.offer(file, 10, TimeUnit.MINUTES);
if (offered) {
diff --git a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/cli/FuzzingCLIConfig.java b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/cli/FuzzingCLIConfig.java
index 324b934..206510b 100644
--- a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/cli/FuzzingCLIConfig.java
+++ b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/cli/FuzzingCLIConfig.java
@@ -37,6 +37,8 @@ public class FuzzingCLIConfig {
private static final int DEFAULT_RETRIES = 2;
+ private static final String DEFAULT_XMX = "512m";
+
static Options OPTIONS;
static {
//By the time this commandline is parsed, there should be both an extracts and an inputDir
@@ -81,6 +83,12 @@ public class FuzzingCLIConfig {
.hasArg(true)
.required(false)
.build())
+ .addOption(Option.builder("x")
+ .longOpt("xmx")
+ .desc("e.g. 1G, max heap appended to -Xmx in the child process")
+ .hasArg(true)
+ .required(false)
+ .build())
.addOption(Option.builder("r")
.longOpt("retries")
.desc("number of times to retry a seed file if there's a catastrophic failure")
@@ -111,6 +119,9 @@ public class FuzzingCLIConfig {
config.retries = (commandLine.hasOption("r")) ?
Integer.parseInt(commandLine.getOptionValue("r")) :
DEFAULT_RETRIES;
+ config.xmx = (commandLine.hasOption("x")) ?
+ commandLine.getOptionValue("x") :
+ DEFAULT_XMX;
return config;
}
@@ -126,6 +137,9 @@ public class FuzzingCLIConfig {
//times to retry a seed file after a catastrophic failure
int retries;
+
+ //xmx for child process, e.g. 512m or 1G
+ String xmx;
Path inputDir;
Path outputDir;