diff --git a/build.py b/build.py
index 0922a84b0ee..c85f80ac67d 100755
--- a/build.py
+++ b/build.py
@@ -70,7 +70,11 @@ def find_java():
def calculate_memory_args():
- return "-Xmx600M -XX:MaxPermSize=256m".split(" ")
+ return (
+ "-Xmx600M",
+ "-XX:MaxPermSize=256m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
+ )
def handle_tools(args):
diff --git a/components/antlib/resources/lifecycle.xml b/components/antlib/resources/lifecycle.xml
index 37df801d722..2300e1dc191 100644
--- a/components/antlib/resources/lifecycle.xml
+++ b/components/antlib/resources/lifecycle.xml
@@ -202,6 +202,7 @@ omero.version=${omero.version}
+
diff --git a/components/tools/OmeroPy/src/omero/install/jvmcfg.py b/components/tools/OmeroPy/src/omero/install/jvmcfg.py
index 2374eea3071..59cbec17d41 100755
--- a/components/tools/OmeroPy/src/omero/install/jvmcfg.py
+++ b/components/tools/OmeroPy/src/omero/install/jvmcfg.py
@@ -279,6 +279,8 @@ def get_memory_settings(self):
self.get_heap_dump(),
self.get_perm_gen(),
]
+ if any([x.startswith("-XX:MaxPermSize") for x in values]):
+ values.append("-XX:+IgnoreUnrecognizedVMOptions")
values += self.get_append()
return [x for x in values if x]
diff --git a/components/tools/OmeroPy/test/unit/old_templates.xml b/components/tools/OmeroPy/test/unit/old_templates.xml
index cb1391797be..ce49a6b3ed0 100644
--- a/components/tools/OmeroPy/test/unit/old_templates.xml
+++ b/components/tools/OmeroPy/test/unit/old_templates.xml
@@ -199,6 +199,7 @@
See #4670
-->
+
diff --git a/components/tools/OmeroPy/test/unit/test_jvmcfg.json b/components/tools/OmeroPy/test/unit/test_jvmcfg.json
index 9f322d2f82d..d55f30714d5 100644
--- a/components/tools/OmeroPy/test/unit/test_jvmcfg.json
+++ b/components/tools/OmeroPy/test/unit/test_jvmcfg.json
@@ -9,6 +9,7 @@
"blitz" : [
"-Xmx512m",
"-XX:MaxPermSize=128m",
+ "-XX:+IgnoreUnrecognizedVMOptions",
"foo",
"bar"
]
@@ -22,7 +23,8 @@
"output": {
"blitz" : [
"-Xmx512m",
- "-XX:MaxPermSize=128m"
+ "-XX:MaxPermSize=128m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -35,7 +37,8 @@
"output": {
"blitz" : [
"-Xmx1G",
- "-XX:MaxPermSize=128m"
+ "-XX:MaxPermSize=128m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -49,7 +52,8 @@
"blitz" : [
"-Xmx512m",
"-XX:+HeapDumpOnOutOfMemoryError",
- "-XX:MaxPermSize=128m"
+ "-XX:MaxPermSize=128m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -62,7 +66,8 @@
"output": {
"blitz" : [
"-Xmx512m",
- "-XX:MaxPermSize=1G"
+ "-XX:MaxPermSize=1G",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -75,7 +80,8 @@
"output": {
"blitz" : [
"-Xmx512m",
- "-XX:MaxPermSize=256m"
+ "-XX:MaxPermSize=256m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -89,7 +95,8 @@
"output": {
"blitz" : [
"-Xmx150m",
- "-XX:MaxPermSize=128m"
+ "-XX:MaxPermSize=128m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -102,7 +109,8 @@
"output": {
"blitz" : [
"-Xmx600m",
- "-XX:MaxPermSize=256m"
+ "-XX:MaxPermSize=256m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -115,7 +123,8 @@
"output": {
"blitz" : [
"-Xmx1200m",
- "-XX:MaxPermSize=512m"
+ "-XX:MaxPermSize=512m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -128,7 +137,8 @@
"output": {
"blitz" : [
"-Xmx3600m",
- "-XX:MaxPermSize=1g"
+ "-XX:MaxPermSize=1g",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -141,7 +151,8 @@
"output": {
"blitz" : [
"-Xmx7200m",
- "-XX:MaxPermSize=1g"
+ "-XX:MaxPermSize=1g",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -154,7 +165,8 @@
"output": {
"blitz" : [
"-Xmx7200m",
- "-XX:MaxPermSize=1g"
+ "-XX:MaxPermSize=1g",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -168,7 +180,8 @@
"output": {
"blitz" : [
"-Xmx9600m",
- "-XX:MaxPermSize=1g"
+ "-XX:MaxPermSize=1g",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -182,6 +195,7 @@
"blitz" : [
"-Xmx512m",
"-XX:MaxPermSize=128m",
+ "-XX:+IgnoreUnrecognizedVMOptions",
"foo"
]
}
@@ -196,7 +210,8 @@
"output": {
"blitz" : [
"-Xmx4000m",
- "-XX:MaxPermSize=512m"
+ "-XX:MaxPermSize=512m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -209,15 +224,18 @@
"output": {
"blitz" : [
"-Xmx1200m",
- "-XX:MaxPermSize=512m"
+ "-XX:MaxPermSize=512m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
],
"pixeldata" : [
"-Xmx1200m",
- "-XX:MaxPermSize=512m"
+ "-XX:MaxPermSize=512m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
],
"indexer" : [
"-Xmx800m",
- "-XX:MaxPermSize=512m"
+ "-XX:MaxPermSize=512m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
},
@@ -230,7 +248,8 @@
"output": {
"blitz" : [
"-Xmx4g",
- "-XX:MaxPermSize=256m"
+ "-XX:MaxPermSize=256m",
+ "-XX:+IgnoreUnrecognizedVMOptions"
]
}
}
diff --git a/components/tools/OmeroPy/test/unit/test_jvmcfg.py b/components/tools/OmeroPy/test/unit/test_jvmcfg.py
index 5e60eb81f29..277f9ca79bb 100644
--- a/components/tools/OmeroPy/test/unit/test_jvmcfg.py
+++ b/components/tools/OmeroPy/test/unit/test_jvmcfg.py
@@ -153,6 +153,7 @@ def test_hard_coded(self):
assert settings == [
"-Xmx512m",
"-XX:MaxPermSize=128m",
+ "-XX:+IgnoreUnrecognizedVMOptions",
]
def test_percent_usage(self):