From 0bcb07a900dc53b2acd134e0f87d303d10f1e273 Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Wed, 16 Nov 2022 14:18:52 +0000 Subject: [PATCH 01/44] Use generic return types --- src/main/java/omero/gateway/model/DatasetData.java | 9 +++++---- src/main/java/omero/gateway/model/PlateData.java | 9 +++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/omero/gateway/model/DatasetData.java b/src/main/java/omero/gateway/model/DatasetData.java index 8f70e627..be646558 100644 --- a/src/main/java/omero/gateway/model/DatasetData.java +++ b/src/main/java/omero/gateway/model/DatasetData.java @@ -33,6 +33,7 @@ import omero.model.DatasetAnnotationLink; import omero.model.DatasetI; import omero.model.DatasetImageLink; +import omero.model.Image; import omero.model.LongAnnotation; import omero.model.ProjectDatasetLink; @@ -187,7 +188,7 @@ public Map getAnnotationsCounts() { * * @return See above. */ - public Set getImages() { + public Set getImages() { if (images == null && asDataset().sizeOfImageLinks() >= 0) { List imageLinks = asDataset().copyImageLinks(); images = new HashSet(); @@ -203,9 +204,9 @@ public Set getImages() { * * @return See above. */ - public Set getProjects() { + public Set getProjects() { if (projects == null && asDataset().sizeOfProjectLinks() >= 0) { - projects = new HashSet(); + projects = new HashSet(); List projectLinks = asDataset() .copyProjectLinks(); for (ProjectDatasetLink link : projectLinks) { @@ -273,7 +274,7 @@ public void setProjects(Set newValue) { * * @return See Above */ - public Set getAnnotations() { + public Set getAnnotations() { if (annotations == null) { int size = asDataset().sizeOfAnnotationLinks(); if (size >= 0) { diff --git a/src/main/java/omero/gateway/model/PlateData.java b/src/main/java/omero/gateway/model/PlateData.java index 7b841bd5..46802caf 100644 --- a/src/main/java/omero/gateway/model/PlateData.java +++ b/src/main/java/omero/gateway/model/PlateData.java @@ -20,6 +20,7 @@ */ package omero.gateway.model; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -33,6 +34,7 @@ import omero.model.PlateAcquisition; import omero.model.PlateI; import omero.model.ScreenPlateLink; +import omero.model.Well; import omero.model.enums.UnitsLength; /** @@ -135,6 +137,13 @@ public PlateData(Plate plate) // IMMUTABLES + public Set getWells() { + Set wells = new HashSet(); + for (Well w : asPlate().copyWells()) + wells.add(new WellData(w)); + return wells; + } + /** * Sets the name of the plate. * From 15cdbafadaaab35498305b44b92dfb0f5ced7109 Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Wed, 16 Nov 2022 14:19:12 +0000 Subject: [PATCH 02/44] Add facility for faster 'shallow' loading of objects --- .../omero/gateway/facility/LoadFacility.java | 231 ++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 src/main/java/omero/gateway/facility/LoadFacility.java diff --git a/src/main/java/omero/gateway/facility/LoadFacility.java b/src/main/java/omero/gateway/facility/LoadFacility.java new file mode 100644 index 00000000..db9576fd --- /dev/null +++ b/src/main/java/omero/gateway/facility/LoadFacility.java @@ -0,0 +1,231 @@ +/* + *------------------------------------------------------------------------------ + * Copyright (C) 2022 University of Dundee. All rights reserved. + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + *------------------------------------------------------------------------------ + */ +package omero.gateway.facility; + +import omero.ServerError; +import omero.api.IQueryPrx; +import omero.gateway.Gateway; +import omero.gateway.SecurityContext; +import omero.gateway.exception.DSAccessException; +import omero.gateway.exception.DSOutOfServiceException; +import omero.gateway.model.DatasetData; +import omero.gateway.model.ImageData; +import omero.gateway.model.PlateData; +import omero.gateway.model.ProjectData; +import omero.gateway.model.ScreenData; +import omero.gateway.model.WellData; +import omero.model.DatasetI; +import omero.model.ImageI; +import omero.model.PlateI; +import omero.model.ProjectI; +import omero.model.ScreenI; +import omero.model.WellI; +import omero.sys.ParametersI; + +/** + * A Facility for loading basic objects. Note: These are shallow objects with just + * one level of hierarchy loaded. E.g. a project will have a list of datasets, + * but the datasets only have basic properties like name and id loaded. + */ +public class LoadFacility extends Facility { + + private static String GET_DATASET_QUERY = "select d from Dataset as d " + + "join fetch d.imageLinks as l " + + "join fetch l.child as i " + + "where d.id = :id"; + + private static String GET_PROJECT_QUERY = "select p from Project as p " + + "join fetch p.datasetLinks as l " + + "join fetch l.child as i " + + "where p.id = :id"; + + private static String GET_IMAGE_QUERY = "select i from Image as i " + + "join fetch i.pixels as p " + + "join fetch p.pixelsType as pt " + + "where i.id = :id"; + + private static String GET_PLATE_QUERY = "select p from Plate as p " + + "join fetch p.wells as w " + + "join fetch p.plateAcquisitions as pa " + + "where p.id = :id"; + + private static String GET_SCREEN_QUERY = "select s from Screen as s " + + "join fetch s.plateLinks as l " + + "join fetch l.child as p " + + "where s.id = :id"; + + private static String GET_WELL_QUERY = "select w from Well as w " + + "join fetch w.wellSamples as ws " + + "join fetch ws.plateAcquisition as pa " + + "join fetch ws.image as img " + + "join fetch img.pixels as pix " + + "join fetch pix.pixelsType as pt " + + "where w.id = :id"; + + /** + * Creates a new instance + * + * @param gateway Reference to the {@link Gateway} + */ + LoadFacility(Gateway gateway) { + super(gateway); + } + + /** + * Get a dataset + * @param ctx The SecurityContext + * @param id The id of the dataset + * @return The dataset or null if it can't be found + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public DatasetData getDataset(SecurityContext ctx, long id) throws DSOutOfServiceException, + DSAccessException { + try { + IQueryPrx qs = gateway.getQueryService(ctx); + ParametersI param = new ParametersI(); + param.addId(id); + DatasetI tmp = (DatasetI) qs.findByQuery(GET_DATASET_QUERY, param); + if (tmp != null) + return new DatasetData(tmp); + } catch (DSOutOfServiceException | ServerError e) { + handleException(this, e, "Could not get dataset"); + } + return null; + } + + /** + * Get a project + * @param ctx The SecurityContext + * @param id The id of the project + * @return The project or null if it can't be found + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public ProjectData getProject(SecurityContext ctx, long id) throws DSOutOfServiceException, + DSAccessException { + try { + IQueryPrx qs = gateway.getQueryService(ctx); + ParametersI param = new ParametersI(); + param.addId(id); + ProjectI tmp = (ProjectI) qs.findByQuery(GET_PROJECT_QUERY, param); + if (tmp != null) + return new ProjectData(tmp); + } catch (DSOutOfServiceException | ServerError e) { + handleException(this, e, "Could not get project"); + } + return null; + } + + /** + * Get an image + * @param ctx The SecurityContext + * @param id The id of the image + * @return The image or null if it can't be found + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public ImageData getImage(SecurityContext ctx, long id) throws DSOutOfServiceException, + DSAccessException { + try { + IQueryPrx qs = gateway.getQueryService(ctx); + ParametersI param = new ParametersI(); + param.addId(id); + ImageI tmp = (ImageI) qs.findByQuery(GET_IMAGE_QUERY, param); + if (tmp != null) + return new ImageData(tmp); + } catch (DSOutOfServiceException | ServerError e) { + handleException(this, e, "Could not get image"); + } + return null; + } + + /** + * Get a screen + * @param ctx The SecurityContext + * @param id The id of the screen + * @return The screen or null if it can't be found + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public ScreenData getScreen(SecurityContext ctx, long id) throws DSOutOfServiceException, + DSAccessException { + try { + IQueryPrx qs = gateway.getQueryService(ctx); + ParametersI param = new ParametersI(); + param.addId(id); + ScreenI tmp = (ScreenI) qs.findByQuery(GET_SCREEN_QUERY, param); + if (tmp != null) + return new ScreenData(tmp); + } catch (DSOutOfServiceException | ServerError e) { + handleException(this, e, "Could not get screen"); + } + return null; + } + + /** + * Get a plate + * @param ctx The SecurityContext + * @param id The id of the plate + * @return The plate or null if it can't be found + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public PlateData getPlate(SecurityContext ctx, long id) throws DSOutOfServiceException, + DSAccessException { + try { + IQueryPrx qs = gateway.getQueryService(ctx); + ParametersI param = new ParametersI(); + param.addId(id); + PlateI tmp = (PlateI) qs.findByQuery(GET_PLATE_QUERY, param); + if (tmp != null) + return new PlateData(tmp); + } catch (DSOutOfServiceException | ServerError e) { + handleException(this, e, "Could not get plate"); + } + return null; + } + + /** + * Get a well (Note: This is a slightly deeper object, + * with wellsamples and images loaded) + * @param ctx The SecurityContext + * @param id The id of the well + * @return The well or null if it can't be found + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public WellData getWell(SecurityContext ctx, long id) throws DSOutOfServiceException, + DSAccessException { + try { + IQueryPrx qs = gateway.getQueryService(ctx); + ParametersI param = new ParametersI(); + param.addId(id); + WellI tmp = (WellI) qs.findByQuery(GET_WELL_QUERY, param); + if (tmp != null) + return new WellData(tmp); + } catch (DSOutOfServiceException | ServerError e) { + handleException(this, e, "Could not get well"); + } + return null; + } + +} From 5b26123a94b2071a3e7b22e40aa94d9f7d6dab91 Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Tue, 14 Mar 2023 11:49:16 +0000 Subject: [PATCH 03/44] Fix the hql queries --- .../omero/gateway/facility/LoadFacility.java | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/main/java/omero/gateway/facility/LoadFacility.java b/src/main/java/omero/gateway/facility/LoadFacility.java index db9576fd..d3e625e4 100644 --- a/src/main/java/omero/gateway/facility/LoadFacility.java +++ b/src/main/java/omero/gateway/facility/LoadFacility.java @@ -47,37 +47,37 @@ */ public class LoadFacility extends Facility { - private static String GET_DATASET_QUERY = "select d from Dataset as d " + - "join fetch d.imageLinks as l " + - "join fetch l.child as i " + - "where d.id = :id"; + private static String GET_DATASET_QUERY = "select ds from Dataset as ds " + + "left join fetch ds.imageLinks as l " + + "left join fetch l.child as i " + + "where ds.id = :id"; private static String GET_PROJECT_QUERY = "select p from Project as p " + - "join fetch p.datasetLinks as l " + - "join fetch l.child as i " + + "left join fetch p.datasetLinks as l " + + "left join fetch l.child as i " + "where p.id = :id"; private static String GET_IMAGE_QUERY = "select i from Image as i " + - "join fetch i.pixels as p " + - "join fetch p.pixelsType as pt " + + "left join fetch i.pixels as p " + + "left join fetch p.pixelsType as pt " + "where i.id = :id"; private static String GET_PLATE_QUERY = "select p from Plate as p " + - "join fetch p.wells as w " + - "join fetch p.plateAcquisitions as pa " + + "left join fetch p.wells as w " + + "left join fetch p.plateAcquisitions as pa " + "where p.id = :id"; private static String GET_SCREEN_QUERY = "select s from Screen as s " + - "join fetch s.plateLinks as l " + - "join fetch l.child as p " + + "left join fetch s.plateLinks as l " + + "left join fetch l.child as p " + "where s.id = :id"; private static String GET_WELL_QUERY = "select w from Well as w " + - "join fetch w.wellSamples as ws " + - "join fetch ws.plateAcquisition as pa " + - "join fetch ws.image as img " + - "join fetch img.pixels as pix " + - "join fetch pix.pixelsType as pt " + + "left join fetch w.wellSamples as ws " + + "left join fetch ws.plateAcquisition as pa " + + "left join fetch ws.image as img " + + "left join fetch img.pixels as pix " + + "left join fetch pix.pixelsType as pt " + "where w.id = :id"; /** From ecb8157ffdcb28d7358662be31a6f28ee6bb563d Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Wed, 15 Mar 2023 10:11:50 +0000 Subject: [PATCH 04/44] Update src/main/java/omero/gateway/facility/LoadFacility.java Co-authored-by: jean-marie burel --- src/main/java/omero/gateway/facility/LoadFacility.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/omero/gateway/facility/LoadFacility.java b/src/main/java/omero/gateway/facility/LoadFacility.java index d3e625e4..3707a402 100644 --- a/src/main/java/omero/gateway/facility/LoadFacility.java +++ b/src/main/java/omero/gateway/facility/LoadFacility.java @@ -1,6 +1,6 @@ /* *------------------------------------------------------------------------------ - * Copyright (C) 2022 University of Dundee. All rights reserved. + * Copyright (C) 2023 University of Dundee. All rights reserved. * * * This program is free software; you can redistribute it and/or modify From 606077fb50412975c3d943261ae4a78c402b0e2d Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Wed, 15 Mar 2023 10:11:59 +0000 Subject: [PATCH 05/44] Update src/main/java/omero/gateway/facility/LoadFacility.java Co-authored-by: jean-marie burel --- src/main/java/omero/gateway/facility/LoadFacility.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/omero/gateway/facility/LoadFacility.java b/src/main/java/omero/gateway/facility/LoadFacility.java index 3707a402..92533c84 100644 --- a/src/main/java/omero/gateway/facility/LoadFacility.java +++ b/src/main/java/omero/gateway/facility/LoadFacility.java @@ -42,7 +42,7 @@ /** * A Facility for loading basic objects. Note: These are shallow objects with just - * one level of hierarchy loaded. E.g. a project will have a list of datasets, + * one level of hierarchy loaded e.g. a project will have a list of datasets, * but the datasets only have basic properties like name and id loaded. */ public class LoadFacility extends Facility { From c2b6ebe5e188d42ef1a59311a5c90f3ef3b08165 Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Wed, 15 Mar 2023 10:26:09 +0000 Subject: [PATCH 06/44] Return null if no wells --- src/main/java/omero/gateway/model/PlateData.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/omero/gateway/model/PlateData.java b/src/main/java/omero/gateway/model/PlateData.java index 46802caf..d3668231 100644 --- a/src/main/java/omero/gateway/model/PlateData.java +++ b/src/main/java/omero/gateway/model/PlateData.java @@ -141,7 +141,7 @@ public Set getWells() { Set wells = new HashSet(); for (Well w : asPlate().copyWells()) wells.add(new WellData(w)); - return wells; + return wells.isEmpty() ? null : wells; } /** From 4cd89b296d88ed2dda51f32bfd53ab4388bfab39 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Fri, 17 Mar 2023 09:38:10 +0000 Subject: [PATCH 07/44] add entry for 5.8.0 --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3cbf2974..a578d8c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +5.8.0 (March 2023) +------------------ + +- Add Facility for shallow loading of objects ([#68](https://github.com/ome/omero-gateway-java/pull/68)) + 5.7.2 (March 2023) ------------------ From 462b23099858fbbd01b6d5602f6cabbcb6b869f4 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Fri, 17 Mar 2023 09:39:06 +0000 Subject: [PATCH 08/44] drop snapshot --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index e09fbb8f..15130ebc 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { } group = "org.openmicroscopy" -version = "5.7.3-SNAPSHOT" +version = "5.8.0" repositories { mavenLocal() From 0d101cf7247023d4abdb410f928521b960a303e2 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Fri, 17 Mar 2023 09:48:33 +0000 Subject: [PATCH 09/44] revert to snapshot --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 15130ebc..52b53f02 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { } group = "org.openmicroscopy" -version = "5.8.0" +version = "5.8.1-SNAPSHOT" repositories { mavenLocal() From c520f920243a4260e75edc400510de8cf881c396 Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Fri, 9 Jun 2023 10:06:45 +0100 Subject: [PATCH 10/44] Set StringColumn to the correct size --- .../omero/gateway/facility/TablesFacilityHelper.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/omero/gateway/facility/TablesFacilityHelper.java b/src/main/java/omero/gateway/facility/TablesFacilityHelper.java index 0311aa0e..d0576030 100644 --- a/src/main/java/omero/gateway/facility/TablesFacilityHelper.java +++ b/src/main/java/omero/gateway/facility/TablesFacilityHelper.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2017-2021 University of Dundee & Open Microscopy Environment. + * Copyright (C) 2017-2023 University of Dundee & Open Microscopy Environment. * All rights reserved. * * This program is free software; you can redistribute it and/or modify @@ -57,6 +57,7 @@ import omero.model.RoiI; import omero.model.WellI; +import java.nio.charset.StandardCharsets; import java.util.concurrent.ExecutionException; /** @@ -517,9 +518,14 @@ else if (type.equals(ROIData.class)) { else if (type.equals(String.class)) { String[] d = new String[data.length]; - for (int i = 0; i < data.length; i++) + int size = 0; + for (int i = 0; i < data.length; i++) { d[i] = (String) data[i]; - c = new StringColumn(header, description, Short.MAX_VALUE, d); + byte[] raw = d[i].getBytes(StandardCharsets.UTF_8); + if (raw.length > size) + size = raw.length; + } + c = new StringColumn(header, description, size, d); } else if (type.equals(WellData.class)) { From 3f7f73129a00a21d60bfb33c9d8203cdbc845eed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Fri, 7 Jul 2023 15:48:23 +0200 Subject: [PATCH 11/44] Fix bug on download images based on omero-insight#264 --- gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 61608 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 244 ++++++++++++++++++ gradlew.bat | 92 +++++++ .../facility/TransferFacilityHelper.java | 142 +++++----- 5 files changed, 413 insertions(+), 71 deletions(-) create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..ccebba7710deaf9f98673a68957ea02138b60d0a GIT binary patch literal 61608 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..42defcc9 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip +networkTimeout=10000 +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 00000000..79a61d42 --- /dev/null +++ b/gradlew @@ -0,0 +1,244 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 00000000..93e3f59f --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/src/main/java/omero/gateway/facility/TransferFacilityHelper.java b/src/main/java/omero/gateway/facility/TransferFacilityHelper.java index e6e3a06d..361894fa 100644 --- a/src/main/java/omero/gateway/facility/TransferFacilityHelper.java +++ b/src/main/java/omero/gateway/facility/TransferFacilityHelper.java @@ -23,8 +23,10 @@ import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.concurrent.ExecutionException; import omero.RType; @@ -90,7 +92,7 @@ public class TransferFacilityHelper { List downloadImage(SecurityContext context, String targetPath, long imageId) throws DSAccessException, DSOutOfServiceException { List files = new ArrayList(); - + System.out.println("Test new fonction"); ImageData image = browse.findObject(context, ImageData.class, imageId, true); @@ -125,84 +127,82 @@ List downloadImage(SecurityContext context, String targetPath, throw new DSAccessException("Cannot retrieve original file", e); } + Map result = new HashMap(); if (CollectionUtils.isEmpty(filesets)) return files; - Iterator i; - List values = new ArrayList(); + List downloaded = new ArrayList(); + List notDownloaded = new ArrayList(); + result.put(Boolean.valueOf(true), downloaded); + result.put(Boolean.valueOf(false), notDownloaded); + if (image.isFSImage()) { - i = filesets.iterator(); - Fileset set; - List entries; - Iterator j; - while (i.hasNext()) { - set = (Fileset) i.next(); - entries = set.copyUsedFiles(); - j = entries.iterator(); - while (j.hasNext()) { - FilesetEntry fs = j.next(); - values.add(fs.getOriginalFile()); + for (Object tmp : filesets) { + Fileset fs = (Fileset) tmp; + // File filesetDir = new File(targetPath+File.separator+"Fileset_"+fs.getId().getValue()); + + // filesetDir.mkdir(); + String repoPath = fs.getTemplatePrefix().getValue(); + for (FilesetEntry fse: fs.copyUsedFiles()) { + OriginalFile of = fse.getOriginalFile(); + String ofDir = of.getPath().getValue().replace(repoPath, ""); + // File outDir = new File(filesetDir.getAbsolutePath()+File.separator+ofDir); + File outDir = new File(targetPath+File.separator+ofDir); + outDir.mkdirs(); + File saved = saveOriginalFile(context, of, outDir); + if (saved != null) + downloaded.add(saved); + else + notDownloaded.add(of.getName().getValue()); } } - } else - values.addAll((List) filesets); - - RawFileStorePrx store = null; - OriginalFile of; - long size; - FileOutputStream stream = null; - long offset = 0; - i = values.iterator(); - File f = null; - - while (i.hasNext()) { - of = (OriginalFile) i.next(); - - try { - store = gateway.getRawFileService(context); - store.setFileId(of.getId().getValue()); - - f = new File(targetPath, of.getName().getValue()); - files.add(f); - - stream = new FileOutputStream(f); - size = of.getSize().getValue(); - try { - try { - for (offset = 0; (offset + INC) < size;) { - stream.write(store.read(offset, INC)); - offset += INC; - } - } finally { - stream.write(store.read(offset, (int) (size - offset))); - stream.close(); - } - } catch (Exception e) { - if (stream != null) - stream.close(); - if (f != null) { - f.delete(); - files.remove(f); - } - } - } catch (IOException e) { - if (f != null) { - f.delete(); - files.remove(f); - } - throw new DSAccessException("Cannot create file in folderPath", - e); - } catch (Throwable t) { - throw new DSAccessException("ServerError on retrieveArchived", - t); - } finally { - try { - store.close(); - } catch (ServerError e) { - } + } + else { //Prior to FS + for (Object tmp : filesets) { + OriginalFile of = (OriginalFile) tmp; + File outDir = new File(targetPath); + File saved = saveOriginalFile(context, of, outDir); + if (saved != null) + downloaded.add(saved); + else + notDownloaded.add(of.getName().getValue()); } } - return files; + return downloaded; + } + + /** + * Save an OriginalFile of into directory dir + * @param ctx The SecurityContext + * @param of The OriginalFile + * @param dir The output directory + * @return The File if the operation was successfull, null if it wasn't. + */ + private File saveOriginalFile(SecurityContext ctx, OriginalFile of, File dir) { + File out = new File(dir, of.getName().getValue()); + if (out.exists()) { + return null; + } + + try { + RawFileStorePrx store = gateway.getRawFileService(ctx); + store.setFileId(of.getId().getValue()); + + long size = of.getSize().getValue(); + long offset = 0; + try (FileOutputStream stream = new FileOutputStream(out)) + { + for (offset = 0; (offset+INC) < size;) { + stream.write(store.read(offset, INC)); + offset += INC; + } + stream.write(store.read(offset, (int) (size-offset))); + } + } catch (Exception e) { + + return null; + } + return out; } /** From 0ec66e6e46573282fe1285eaa6c60c1a1811f86a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Mon, 10 Jul 2023 11:17:16 +0200 Subject: [PATCH 12/44] remove unused imports --- .../java/omero/gateway/facility/TransferFacilityHelper.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/omero/gateway/facility/TransferFacilityHelper.java b/src/main/java/omero/gateway/facility/TransferFacilityHelper.java index 361894fa..e38c2b4d 100644 --- a/src/main/java/omero/gateway/facility/TransferFacilityHelper.java +++ b/src/main/java/omero/gateway/facility/TransferFacilityHelper.java @@ -21,16 +21,13 @@ import java.io.File; import java.io.FileOutputStream; -import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.concurrent.ExecutionException; import omero.RType; -import omero.ServerError; import omero.api.IQueryPrx; import omero.api.RawFileStorePrx; import omero.gateway.Gateway; @@ -92,7 +89,6 @@ public class TransferFacilityHelper { List downloadImage(SecurityContext context, String targetPath, long imageId) throws DSAccessException, DSOutOfServiceException { List files = new ArrayList(); - System.out.println("Test new fonction"); ImageData image = browse.findObject(context, ImageData.class, imageId, true); From 112da2bcfdb8f4238965f85365a7fb56e44a679a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Mon, 10 Jul 2023 14:03:36 +0200 Subject: [PATCH 13/44] Remove gradle files --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index c66ec548..1e9c4d67 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,10 @@ # generated files /build +/gradle /src/generated/* +gradlew +*.bat # Local configuration file (sdk path, etc) local.properties From 77e6803fe12f27430c73de50a0733592462d7084 Mon Sep 17 00:00:00 2001 From: Rdornier <64911638+Rdornier@users.noreply.github.com> Date: Mon, 10 Jul 2023 14:06:41 +0200 Subject: [PATCH 14/44] Delete gradlew --- gradlew | 244 -------------------------------------------------------- 1 file changed, 244 deletions(-) delete mode 100644 gradlew diff --git a/gradlew b/gradlew deleted file mode 100644 index 79a61d42..00000000 --- a/gradlew +++ /dev/null @@ -1,244 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" From 21b2b5ab8d4ca0cac6e785df3ffeac77d4609aac Mon Sep 17 00:00:00 2001 From: Rdornier <64911638+Rdornier@users.noreply.github.com> Date: Mon, 10 Jul 2023 14:06:54 +0200 Subject: [PATCH 15/44] Delete gradle/wrapper directory --- gradle/wrapper/gradle-wrapper.jar | Bin 61608 -> 0 bytes gradle/wrapper/gradle-wrapper.properties | 6 ------ 2 files changed, 6 deletions(-) delete mode 100644 gradle/wrapper/gradle-wrapper.jar delete mode 100644 gradle/wrapper/gradle-wrapper.properties diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index ccebba7710deaf9f98673a68957ea02138b60d0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61608 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 42defcc9..00000000 --- a/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip -networkTimeout=10000 -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists From 8993e91ac71f1324c8a0ecf1efb2775e5e7c0327 Mon Sep 17 00:00:00 2001 From: Rdornier <64911638+Rdornier@users.noreply.github.com> Date: Mon, 10 Jul 2023 14:07:03 +0200 Subject: [PATCH 16/44] Delete gradlew.bat --- gradlew.bat | 92 ----------------------------------------------------- 1 file changed, 92 deletions(-) delete mode 100644 gradlew.bat diff --git a/gradlew.bat b/gradlew.bat deleted file mode 100644 index 93e3f59f..00000000 --- a/gradlew.bat +++ /dev/null @@ -1,92 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega From ff0d7a41cba7d1d6d00aff634ed4114bf6eef945 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Mon, 10 Jul 2023 14:22:45 +0200 Subject: [PATCH 17/44] remove commented lines --- hs_err_pid13244.log | 938 ++++++++++++++++++ .../facility/TransferFacilityHelper.java | 3 - 2 files changed, 938 insertions(+), 3 deletions(-) create mode 100644 hs_err_pid13244.log diff --git a/hs_err_pid13244.log b/hs_err_pid13244.log new file mode 100644 index 00000000..71b1c0e4 --- /dev/null +++ b/hs_err_pid13244.log @@ -0,0 +1,938 @@ +# +# A fatal error has been detected by the Java Runtime Environment: +# +# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff8ae1a7e43, pid=13244, tid=22396 +# +# JRE version: OpenJDK Runtime Environment (11.0.2+9) (build 11.0.2+9) +# Java VM: OpenJDK 64-Bit Server VM (11.0.2+9, mixed mode, tiered, compressed oops, g1 gc, windows-amd64) +# Problematic frame: +# V [jvm.dll+0x207e43] +# +# No core dump will be written. Minidumps are not enabled by default on client versions of Windows +# +# If you would like to submit a bug report, please visit: +# http://bugreport.java.com/bugreport/crash.jsp +# + +--------------- S U M M A R Y ------------ + +Command Line: --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xms256m -Xmx512m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.0 + +Host: Intel(R) Core(TM) i7-4930K CPU @ 3.40GHz, 12 cores, 19G, Windows 10 , 64 bit Build 22621 (10.0.22621.1778) +Time: Mon Jul 10 14:08:04 2023 W. Europe Summer Time elapsed time: 11 seconds (0d 0h 0m 11s) + +--------------- T H R E A D --------------- + +Current thread (0x000001e655840800): ConcurrentGCThread "G1 Conc#1" [stack: 0x00000074dea00000,0x00000074deb00000] [id=22396] + +Stack: [0x00000074dea00000,0x00000074deb00000], sp=0x00000074deaff260, free space=1020k +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +V [jvm.dll+0x207e43] +V [jvm.dll+0x207d22] +V [jvm.dll+0x20636d] +V [jvm.dll+0x205b81] +V [jvm.dll+0x2fa069] +V [jvm.dll+0x2f8c76] +V [jvm.dll+0x2fa6ac] +V [jvm.dll+0x2f95b7] +V [jvm.dll+0x2fd0c6] +V [jvm.dll+0x7a4000] +V [jvm.dll+0x633942] +C [ucrtbase.dll+0x29363] +C [KERNEL32.DLL+0x126ad] +C [ntdll.dll+0x5a9f8] + + +siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x0000000000000160 + + +Register to memory mapping: + +RIP=0x00007ff8ae1a7e43 jvm.dll +RAX=0x000001e637945800 points into unknown readable memory: 00 00 00 00 00 00 00 00 +RBX=0x000001e637959a20 points into unknown readable memory: 80 b1 81 ae f8 7f 00 00 +RCX=0x0000000000000014 is an unknown value +RDX=0x0 is NULL +RSP=0x00000074deaff260 points into unknown readable memory: 00 00 00 00 00 00 00 00 +RBP=0x00000074deaff458 points into unknown readable memory: 00 b1 81 ae f8 7f 00 00 +RSI=0x0000000000000020 is an unknown value +RDI=0x0000000000000020 is an unknown value +R8 =0x0000000000000020 is an unknown value +R9 =0x0 is NULL +R10=0x0 is NULL +R11=0x346dc5d63886594b is an unknown value +R12=0x0 is NULL +R13=0x000001e637952fd0 points into unknown readable memory: 00 60 95 37 e6 01 00 00 +R14=0x000000010059df98 is a pointer to class: +R15=0x0 is NULL + + +Registers: +RAX=0x000001e637945800, RBX=0x000001e637959a20, RCX=0x0000000000000014, RDX=0x0000000000000000 +RSP=0x00000074deaff260, RBP=0x00000074deaff458, RSI=0x0000000000000020, RDI=0x0000000000000020 +R8 =0x0000000000000020, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x346dc5d63886594b +R12=0x0000000000000000, R13=0x000001e637952fd0, R14=0x000000010059df98, R15=0x0000000000000000 +RIP=0x00007ff8ae1a7e43, EFLAGS=0x0000000000010246 + +Top of Stack: (sp=0x00000074deaff260) +0x00000074deaff260: 0000000000000000 00007ff8ae1a7f3b +0x00000074deaff270: 01d9b32729151e60 0000000000000000 +0x00000074deaff280: 000000010059df98 00000000e48aa200 +0x00000074deaff290: 0000000000000000 000001e637959b60 +0x00000074deaff2a0: 000000010059df90 00007ff8ae1a7d22 +0x00000074deaff2b0: 000001e637959a20 00000074deaff458 +0x00000074deaff2c0: 00000000e1253b98 00000074deaff458 +0x00000074deaff2d0: 00000000e48aa238 00007ff8ae1a636d +0x00000074deaff2e0: 00000000e48aa238 00000000e48aa230 +0x00000074deaff2f0: 0000000000000003 00000000e48af424 +0x00000074deaff300: 000001e657311701 000001e637952fe8 +0x00000074deaff310: 000000010059dd88 00007ff8ae1a5b81 +0x00000074deaff320: 0000000000000007 00000074deaff458 +0x00000074deaff330: 00000000e48aa200 000001e637959a20 +0x00000074deaff340: 000001e637959a20 00007ff8ae29a069 +0x00000074deaff350: 00000000e48aa200 0000000000000000 + +Instructions: (pc=0x00007ff8ae1a7e43) +0x00007ff8ae1a7e23: 4d 8b d0 44 8b e2 4d 8b f9 49 8b f0 8b 88 c0 02 +0x00007ff8ae1a7e33: 00 00 48 8b 80 b0 02 00 00 49 d3 ea 4e 8b 14 d0 +0x00007ff8ae1a7e43: 4d 3b 82 60 01 00 00 72 0e 32 c0 48 83 c4 28 41 +0x00007ff8ae1a7e53: 5f 41 5d 41 5c 5e c3 49 8b 85 90 00 00 00 48 8b + + +Stack slot to memory mapping: +stack at sp + 0 slots: 0x0 is NULL +stack at sp + 1 slots: 0x00007ff8ae1a7f3b jvm.dll +stack at sp + 2 slots: 0x01d9b32729151e60 is an unknown value +stack at sp + 3 slots: 0x0 is NULL +stack at sp + 4 slots: 0x000000010059df98 is a pointer to class: +stack at sp + 5 slots: 0x00000000e48aa200 is an oop: org.codehaus.groovy.runtime.metaclass.MetaMethodIndex$Entry +{0x00000000e48aa200} - klass: 'org/codehaus/groovy/runtime/metaclass/MetaMethodIndex$Entry' +stack at sp + 6 slots: 0x0 is NULL +stack at sp + 7 slots: 0x000001e637959b60 points into unknown readable memory: 80 f4 85 ae f8 7f 00 00 + + +--------------- P R O C E S S --------------- + +Threads class SMR info: +_java_thread_list=0x000001e65a857520, length=183, elements={ +0x000001e63792c800, 0x000001e654c9f800, 0x000001e654cad000, 0x000001e654d06800, +0x000001e654d07800, 0x000001e654d08800, 0x000001e654d0a800, 0x000001e654d0d800, +0x000001e654e73000, 0x000001e654e96800, 0x000001e658b95800, 0x000001e656e83000, +0x000001e6551ff800, 0x000001e6567aa000, 0x000001e656ff6000, 0x000001e6572d6800, +0x000001e6572d3000, 0x000001e6572d4000, 0x000001e657346000, 0x000001e6572d2800, +0x000001e6572d5800, 0x000001e6572d1800, 0x000001e657367000, 0x000001e659ec6000, +0x000001e65736c000, 0x000001e657368000, 0x000001e657369000, 0x000001e657369800, +0x000001e65736a800, 0x000001e65736d000, 0x000001e65cf41000, 0x000001e659f82800, +0x000001e659f84800, 0x000001e659f83800, 0x000001e659f86000, 0x000001e659f85000, +0x000001e659f87000, 0x000001e659f81000, 0x000001e65cf46000, 0x000001e65cf42000, +0x000001e65cf43800, 0x000001e65cf42800, 0x000001e65cf44800, 0x000001e65cf45000, +0x000001e65cf40800, 0x000001e65cf4a000, 0x000001e65cf48800, 0x000001e65cf47800, +0x000001e65cf49800, 0x000001e65cf4b000, 0x000001e65cf4b800, 0x000001e65cf4c800, +0x000001e65cf47000, 0x000001e65cf4d800, 0x000001e65cf4e000, 0x000001e65cf4f000, +0x000001e659f87800, 0x000001e659f82000, 0x000001e659f88800, 0x000001e659f8c800, +0x000001e659f8b000, 0x000001e659f8f000, 0x000001e659f8b800, 0x000001e659f8d800, +0x000001e659f89800, 0x000001e659f8e000, 0x000001e659f90000, 0x000001e659f8a000, +0x000001e6572d5000, 0x000001e6572d7800, 0x000001e6572d8000, 0x000001e65736b800, +0x000001e65b85f800, 0x000001e65b85f000, 0x000001e65b860800, 0x000001e65b862000, +0x000001e65b861800, 0x000001e65b85d000, 0x000001e65b863000, 0x000001e65b863800, +0x000001e65b85e000, 0x000001e65a68d800, 0x000001e65a68d000, 0x000001e65a68e800, +0x000001e65a692000, 0x000001e65a68f800, 0x000001e65a691000, 0x000001e65a690000, +0x000001e65a68c000, 0x000001e65a696800, 0x000001e65a697800, 0x000001e65a693800, +0x000001e65a695000, 0x000001e65a696000, 0x000001e65a698800, 0x000001e65a692800, +0x000001e65a694800, 0x000001e65a699000, 0x000001e65a69a000, 0x000001e65a69b000, +0x000001e65bf08000, 0x000001e65bf08800, 0x000001e65bf09800, 0x000001e65bf0a800, +0x000001e65bf04800, 0x000001e65bf0b000, 0x000001e65bf05800, 0x000001e65bf0c000, +0x000001e65bf06800, 0x000001e65bf0d000, 0x000001e65bf07000, 0x000001e65bf11800, +0x000001e65bf0f000, 0x000001e65bf10000, 0x000001e65bf12800, 0x000001e65bf11000, +0x000001e65bf13800, 0x000001e65bf0d800, 0x000001e65bf0e800, 0x000001e655d23800, +0x000001e655d1d800, 0x000001e655d22000, 0x000001e655d1f800, 0x000001e655d24800, +0x000001e655d20000, 0x000001e655d21000, 0x000001e655d22800, 0x000001e655d1e800, +0x000001e655d27800, 0x000001e655d29000, 0x000001e655d2a000, 0x000001e655d25000, +0x000001e655d26000, 0x000001e655d2b000, 0x000001e655d2b800, 0x000001e655d2c800, +0x000001e655d28800, 0x000001e655d26800, 0x000001e6551bb000, 0x000001e6551b7800, +0x000001e6551b5000, 0x000001e6551ba000, 0x000001e6551b8800, 0x000001e6551b7000, +0x000001e6551bb800, 0x000001e6551b6000, 0x000001e6551bf000, 0x000001e6551bc800, +0x000001e6551b9000, 0x000001e6551c0000, 0x000001e6551c0800, 0x000001e6551bd800, +0x000001e6551c4000, 0x000001e6551be000, 0x000001e6551c2000, 0x000001e6551c1800, +0x000001e6551c3000, 0x000001e65d6ba000, 0x000001e65d6b8000, 0x000001e65d6b8800, +0x000001e65d6b9800, 0x000001e65d6b7000, 0x000001e65d6bb000, 0x000001e65d6bc000, +0x000001e65d6b6000, 0x000001e65d6c1800, 0x000001e65d6bf000, 0x000001e65d6bc800, +0x000001e65d6be800, 0x000001e65d6c0000, 0x000001e65d6c0800, 0x000001e65d6c2800, +0x000001e65d6c3000, 0x000001e65d6bd800, 0x000001e65d6c4000, 0x000001e65d6c5000, +0x000001e658878000, 0x000001e658879000, 0x000001e65887a000, 0x000001e65887c800, +0x000001e65887a800, 0x000001e658877800, 0x000001e65887b800 +} + +Java Threads: ( => current thread ) + 0x000001e63792c800 JavaThread "main" [_thread_blocked, id=21760, stack(0x00000074dc400000,0x00000074dc500000)] + 0x000001e654c9f800 JavaThread "Reference Handler" daemon [_thread_blocked, id=20260, stack(0x00000074dcb00000,0x00000074dcc00000)] + 0x000001e654cad000 JavaThread "Finalizer" daemon [_thread_blocked, id=22420, stack(0x00000074dcc00000,0x00000074dcd00000)] + 0x000001e654d06800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=5556, stack(0x00000074dcd00000,0x00000074dce00000)] + 0x000001e654d07800 JavaThread "Attach Listener" daemon [_thread_blocked, id=20640, stack(0x00000074dce00000,0x00000074dcf00000)] + 0x000001e654d08800 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=15316, stack(0x00000074dcf00000,0x00000074dd000000)] + 0x000001e654d0a800 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=14716, stack(0x00000074dd000000,0x00000074dd100000)] + 0x000001e654d0d800 JavaThread "Sweeper thread" daemon [_thread_blocked, id=19960, stack(0x00000074dd100000,0x00000074dd200000)] + 0x000001e654e73000 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=20984, stack(0x00000074dd200000,0x00000074dd300000)] + 0x000001e654e96800 JavaThread "Service Thread" daemon [_thread_blocked, id=20312, stack(0x00000074dd300000,0x00000074dd400000)] + 0x000001e658b95800 JavaThread "Daemon health stats" [_thread_blocked, id=6916, stack(0x00000074ddc00000,0x00000074ddd00000)] + 0x000001e656e83000 JavaThread "Incoming local TCP Connector on port 57726" [_thread_in_native, id=21296, stack(0x00000074dd500000,0x00000074dd600000)] + 0x000001e6551ff800 JavaThread "Daemon periodic checks" [_thread_blocked, id=15148, stack(0x00000074ddb00000,0x00000074ddc00000)] + 0x000001e6567aa000 JavaThread "Daemon" [_thread_blocked, id=20364, stack(0x00000074ddd00000,0x00000074dde00000)] + 0x000001e656ff6000 JavaThread "Daemon worker" [_thread_in_Java, id=7268, stack(0x00000074de000000,0x00000074de100000)] + 0x000001e6572d6800 JavaThread "Cache worker for journal cache (C:\Users\dornier\.gradle\caches\journal-1)" [_thread_blocked, id=1632, stack(0x00000074de400000,0x00000074de500000)] + 0x000001e6572d3000 JavaThread "File lock request listener" [_thread_in_native, id=9132, stack(0x00000074de500000,0x00000074de600000)] + 0x000001e6572d4000 JavaThread "Cache worker for file hash cache (C:\Users\dornier\.gradle\caches\8.0\fileHashes)" [_thread_blocked, id=14872, stack(0x00000074dec00000,0x00000074ded00000)] + 0x000001e657346000 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=21596, stack(0x00000074ded00000,0x00000074dee00000)] + 0x000001e6572d2800 JavaThread "File watcher server" daemon [_thread_in_native, id=19592, stack(0x00000074dee00000,0x00000074def00000)] + 0x000001e6572d5800 JavaThread "File watcher consumer" daemon [_thread_blocked, id=14292, stack(0x00000074def00000,0x00000074df000000)] + 0x000001e6572d1800 JavaThread "Cache worker for file content cache (C:\Users\dornier\.gradle\caches\8.0\fileContent)" [_thread_blocked, id=10520, stack(0x00000074df200000,0x00000074df300000)] + 0x000001e657367000 JavaThread "Cache worker for execution history cache (C:\Users\dornier\.gradle\caches\8.0\executionHistory)" [_thread_blocked, id=22056, stack(0x00000074df500000,0x00000074df600000)] + 0x000001e659ec6000 JavaThread "C2 CompilerThread2" daemon [_thread_in_native, id=16404, stack(0x00000074df600000,0x00000074df700000)] + 0x000001e65736c000 JavaThread "jar transforms" [_thread_blocked, id=10388, stack(0x00000074df700000,0x00000074df800000)] + 0x000001e657368000 JavaThread "jar transforms Thread 2" [_thread_blocked, id=19856, stack(0x00000074df800000,0x00000074df900000)] + 0x000001e657369000 JavaThread "jar transforms Thread 3" [_thread_blocked, id=10216, stack(0x00000074df900000,0x00000074dfa00000)] + 0x000001e657369800 JavaThread "jar transforms Thread 4" [_thread_blocked, id=1428, stack(0x00000074dfa00000,0x00000074dfb00000)] + 0x000001e65736a800 JavaThread "jar transforms Thread 5" [_thread_blocked, id=16448, stack(0x00000074dfb00000,0x00000074dfc00000)] + 0x000001e65736d000 JavaThread "jar transforms Thread 6" [_thread_blocked, id=20012, stack(0x00000074dfc00000,0x00000074dfd00000)] + 0x000001e65cf41000 JavaThread "jar transforms Thread 7" [_thread_blocked, id=21692, stack(0x00000074dfe00000,0x00000074dff00000)] + 0x000001e659f82800 JavaThread "jar transforms Thread 8" [_thread_blocked, id=20320, stack(0x00000074e5c00000,0x00000074e5d00000)] + 0x000001e659f84800 JavaThread "jar transforms Thread 9" [_thread_blocked, id=21260, stack(0x00000074e5d00000,0x00000074e5e00000)] + 0x000001e659f83800 JavaThread "jar transforms Thread 10" [_thread_blocked, id=8168, stack(0x00000074e5e00000,0x00000074e5f00000)] + 0x000001e659f86000 JavaThread "jar transforms Thread 11" [_thread_blocked, id=22016, stack(0x00000074e5f00000,0x00000074e6000000)] + 0x000001e659f85000 JavaThread "jar transforms Thread 12" [_thread_blocked, id=19700, stack(0x00000074e6000000,0x00000074e6100000)] + 0x000001e659f87000 JavaThread "Memory manager" [_thread_blocked, id=15936, stack(0x00000074e6100000,0x00000074e6200000)] + 0x000001e659f81000 JavaThread "included builds" [_thread_blocked, id=21256, stack(0x00000074e6200000,0x00000074e6300000)] + 0x000001e65cf46000 JavaThread "Handler for socket connection from /127.0.0.1:57726 to /127.0.0.1:57745" [_thread_in_native, id=9088, stack(0x00000074dde00000,0x00000074ddf00000)] + 0x000001e65cf42000 JavaThread "Cancel handler" [_thread_blocked, id=19608, stack(0x00000074ddf00000,0x00000074de000000)] + 0x000001e65cf43800 JavaThread "Asynchronous log dispatcher for DefaultDaemonConnection: socket connection from /127.0.0.1:57726 to /127.0.0.1:57745" [_thread_blocked, id=14316, stack(0x00000074de100000,0x00000074de200000)] + 0x000001e65cf42800 JavaThread "Stdin handler" [_thread_blocked, id=11020, stack(0x00000074de200000,0x00000074de300000)] + 0x000001e65cf44800 JavaThread "Daemon client event forwarder" [_thread_blocked, id=19864, stack(0x00000074de300000,0x00000074de400000)] + 0x000001e65cf45000 JavaThread "Cache worker for checksums cache (D:\Remy\OMERO\omero-gateway-java\.gradle\8.0\checksums)" [_thread_blocked, id=9188, stack(0x00000074df000000,0x00000074df100000)] + 0x000001e65cf40800 JavaThread "Cache worker for cache directory md-rule (C:\Users\dornier\.gradle\caches\8.0\md-rule)" [_thread_blocked, id=7300, stack(0x00000074df100000,0x00000074df200000)] + 0x000001e65cf4a000 JavaThread "Cache worker for file hash cache (D:\Remy\OMERO\omero-gateway-java\.gradle\8.0\fileHashes)" [_thread_blocked, id=19776, stack(0x00000074df300000,0x00000074df400000)] + 0x000001e65cf48800 JavaThread "Cache worker for cache directory md-supplier (C:\Users\dornier\.gradle\caches\8.0\md-supplier)" [_thread_blocked, id=6672, stack(0x00000074df400000,0x00000074df500000)] + 0x000001e65cf47800 JavaThread "Cache worker for dependencies-accessors (D:\Remy\OMERO\omero-gateway-java\.gradle\8.0\dependencies-accessors)" [_thread_blocked, id=11096, stack(0x00000074dfd00000,0x00000074dfe00000)] + 0x000001e65cf49800 JavaThread "Cache worker for Build Output Cleanup Cache (D:\Remy\OMERO\omero-gateway-java\.gradle\buildOutputCleanup)" [_thread_blocked, id=20016, stack(0x00000074dff00000,0x00000074e0000000)] + 0x000001e65cf4b000 JavaThread "Unconstrained build operations" [_thread_blocked, id=21712, stack(0x00000074e0000000,0x00000074e0100000)] + 0x000001e65cf4b800 JavaThread "Unconstrained build operations Thread 2" [_thread_blocked, id=21424, stack(0x00000074e0100000,0x00000074e0200000)] + 0x000001e65cf4c800 JavaThread "Unconstrained build operations Thread 3" [_thread_blocked, id=19544, stack(0x00000074e0200000,0x00000074e0300000)] + 0x000001e65cf47000 JavaThread "Unconstrained build operations Thread 4" [_thread_blocked, id=17572, stack(0x00000074e0300000,0x00000074e0400000)] + 0x000001e65cf4d800 JavaThread "Unconstrained build operations Thread 5" [_thread_blocked, id=22312, stack(0x00000074e0400000,0x00000074e0500000)] + 0x000001e65cf4e000 JavaThread "Unconstrained build operations Thread 6" [_thread_blocked, id=21772, stack(0x00000074e0500000,0x00000074e0600000)] + 0x000001e65cf4f000 JavaThread "Unconstrained build operations Thread 7" [_thread_blocked, id=1660, stack(0x00000074e0600000,0x00000074e0700000)] + 0x000001e659f87800 JavaThread "Unconstrained build operations Thread 8" [_thread_blocked, id=5460, stack(0x00000074e0700000,0x00000074e0800000)] + 0x000001e659f82000 JavaThread "Unconstrained build operations Thread 9" [_thread_blocked, id=12720, stack(0x00000074e0800000,0x00000074e0900000)] + 0x000001e659f88800 JavaThread "Unconstrained build operations Thread 10" [_thread_blocked, id=19648, stack(0x00000074e0900000,0x00000074e0a00000)] + 0x000001e659f8c800 JavaThread "Unconstrained build operations Thread 11" [_thread_blocked, id=21152, stack(0x00000074e0a00000,0x00000074e0b00000)] + 0x000001e659f8b000 JavaThread "Unconstrained build operations Thread 12" [_thread_blocked, id=9624, stack(0x00000074e0b00000,0x00000074e0c00000)] + 0x000001e659f8f000 JavaThread "Unconstrained build operations Thread 13" [_thread_blocked, id=1932, stack(0x00000074e0c00000,0x00000074e0d00000)] + 0x000001e659f8b800 JavaThread "Unconstrained build operations Thread 14" [_thread_blocked, id=14992, stack(0x00000074e0d00000,0x00000074e0e00000)] + 0x000001e659f8d800 JavaThread "Unconstrained build operations Thread 15" [_thread_blocked, id=21300, stack(0x00000074e0e00000,0x00000074e0f00000)] + 0x000001e659f89800 JavaThread "Unconstrained build operations Thread 16" [_thread_blocked, id=5080, stack(0x00000074e0f00000,0x00000074e1000000)] + 0x000001e659f8e000 JavaThread "Unconstrained build operations Thread 17" [_thread_blocked, id=19668, stack(0x00000074e1000000,0x00000074e1100000)] + 0x000001e659f90000 JavaThread "Unconstrained build operations Thread 18" [_thread_blocked, id=13560, stack(0x00000074e1100000,0x00000074e1200000)] + 0x000001e659f8a000 JavaThread "Unconstrained build operations Thread 19" [_thread_blocked, id=19612, stack(0x00000074e1200000,0x00000074e1300000)] + 0x000001e6572d5000 JavaThread "Unconstrained build operations Thread 20" [_thread_blocked, id=21876, stack(0x00000074e1300000,0x00000074e1400000)] + 0x000001e6572d7800 JavaThread "Unconstrained build operations Thread 21" [_thread_blocked, id=10072, stack(0x00000074e1400000,0x00000074e1500000)] + 0x000001e6572d8000 JavaThread "Unconstrained build operations Thread 22" [_thread_blocked, id=21156, stack(0x00000074e1500000,0x00000074e1600000)] + 0x000001e65736b800 JavaThread "Unconstrained build operations Thread 23" [_thread_blocked, id=12188, stack(0x00000074e1600000,0x00000074e1700000)] + 0x000001e65b85f800 JavaThread "Unconstrained build operations Thread 24" [_thread_blocked, id=18836, stack(0x00000074e1700000,0x00000074e1800000)] + 0x000001e65b85f000 JavaThread "Unconstrained build operations Thread 25" [_thread_blocked, id=18216, stack(0x00000074e1800000,0x00000074e1900000)] + 0x000001e65b860800 JavaThread "Unconstrained build operations Thread 26" [_thread_blocked, id=20088, stack(0x00000074e1900000,0x00000074e1a00000)] + 0x000001e65b862000 JavaThread "Unconstrained build operations Thread 27" [_thread_blocked, id=10092, stack(0x00000074e1a00000,0x00000074e1b00000)] + 0x000001e65b861800 JavaThread "Unconstrained build operations Thread 28" [_thread_blocked, id=21852, stack(0x00000074e1b00000,0x00000074e1c00000)] + 0x000001e65b85d000 JavaThread "Unconstrained build operations Thread 29" [_thread_blocked, id=9524, stack(0x00000074e1c00000,0x00000074e1d00000)] + 0x000001e65b863000 JavaThread "Unconstrained build operations Thread 30" [_thread_blocked, id=5008, stack(0x00000074e1d00000,0x00000074e1e00000)] + 0x000001e65b863800 JavaThread "Unconstrained build operations Thread 31" [_thread_blocked, id=13760, stack(0x00000074e1e00000,0x00000074e1f00000)] + 0x000001e65b85e000 JavaThread "Unconstrained build operations Thread 32" [_thread_blocked, id=1376, stack(0x00000074e1f00000,0x00000074e2000000)] + 0x000001e65a68d800 JavaThread "Unconstrained build operations Thread 33" [_thread_blocked, id=9136, stack(0x00000074e2000000,0x00000074e2100000)] + 0x000001e65a68d000 JavaThread "Unconstrained build operations Thread 34" [_thread_blocked, id=21956, stack(0x00000074e2100000,0x00000074e2200000)] + 0x000001e65a68e800 JavaThread "Unconstrained build operations Thread 35" [_thread_blocked, id=11668, stack(0x00000074e2200000,0x00000074e2300000)] + 0x000001e65a692000 JavaThread "Unconstrained build operations Thread 36" [_thread_blocked, id=20888, stack(0x00000074e2300000,0x00000074e2400000)] + 0x000001e65a68f800 JavaThread "Unconstrained build operations Thread 37" [_thread_blocked, id=18428, stack(0x00000074e2400000,0x00000074e2500000)] + 0x000001e65a691000 JavaThread "Unconstrained build operations Thread 38" [_thread_blocked, id=21768, stack(0x00000074e2500000,0x00000074e2600000)] + 0x000001e65a690000 JavaThread "Unconstrained build operations Thread 39" [_thread_blocked, id=20844, stack(0x00000074e2600000,0x00000074e2700000)] + 0x000001e65a68c000 JavaThread "Unconstrained build operations Thread 40" [_thread_blocked, id=19712, stack(0x00000074e2700000,0x00000074e2800000)] + 0x000001e65a696800 JavaThread "Unconstrained build operations Thread 41" [_thread_blocked, id=18144, stack(0x00000074e2800000,0x00000074e2900000)] + 0x000001e65a697800 JavaThread "Unconstrained build operations Thread 42" [_thread_blocked, id=22428, stack(0x00000074e2900000,0x00000074e2a00000)] + 0x000001e65a693800 JavaThread "Unconstrained build operations Thread 43" [_thread_blocked, id=15756, stack(0x00000074e2a00000,0x00000074e2b00000)] + 0x000001e65a695000 JavaThread "Unconstrained build operations Thread 44" [_thread_blocked, id=19368, stack(0x00000074e2b00000,0x00000074e2c00000)] + 0x000001e65a696000 JavaThread "Unconstrained build operations Thread 45" [_thread_blocked, id=2992, stack(0x00000074e2c00000,0x00000074e2d00000)] + 0x000001e65a698800 JavaThread "Unconstrained build operations Thread 46" [_thread_blocked, id=14988, stack(0x00000074e2d00000,0x00000074e2e00000)] + 0x000001e65a692800 JavaThread "Unconstrained build operations Thread 47" [_thread_blocked, id=11896, stack(0x00000074e2e00000,0x00000074e2f00000)] + 0x000001e65a694800 JavaThread "Unconstrained build operations Thread 48" [_thread_blocked, id=16576, stack(0x00000074e2f00000,0x00000074e3000000)] + 0x000001e65a699000 JavaThread "Unconstrained build operations Thread 49" [_thread_blocked, id=15472, stack(0x00000074e3000000,0x00000074e3100000)] + 0x000001e65a69a000 JavaThread "Unconstrained build operations Thread 50" [_thread_blocked, id=20004, stack(0x00000074e3100000,0x00000074e3200000)] + 0x000001e65a69b000 JavaThread "Unconstrained build operations Thread 51" [_thread_blocked, id=21376, stack(0x00000074e3200000,0x00000074e3300000)] + 0x000001e65bf08000 JavaThread "Unconstrained build operations Thread 52" [_thread_blocked, id=20448, stack(0x00000074e3300000,0x00000074e3400000)] + 0x000001e65bf08800 JavaThread "Unconstrained build operations Thread 53" [_thread_blocked, id=15488, stack(0x00000074e3400000,0x00000074e3500000)] + 0x000001e65bf09800 JavaThread "Unconstrained build operations Thread 54" [_thread_blocked, id=21308, stack(0x00000074e3500000,0x00000074e3600000)] + 0x000001e65bf0a800 JavaThread "Unconstrained build operations Thread 55" [_thread_blocked, id=7432, stack(0x00000074e3600000,0x00000074e3700000)] + 0x000001e65bf04800 JavaThread "Unconstrained build operations Thread 56" [_thread_blocked, id=21336, stack(0x00000074e3700000,0x00000074e3800000)] + 0x000001e65bf0b000 JavaThread "Unconstrained build operations Thread 57" [_thread_blocked, id=2500, stack(0x00000074e3800000,0x00000074e3900000)] + 0x000001e65bf05800 JavaThread "Unconstrained build operations Thread 58" [_thread_blocked, id=11420, stack(0x00000074e3900000,0x00000074e3a00000)] + 0x000001e65bf0c000 JavaThread "Unconstrained build operations Thread 59" [_thread_blocked, id=21476, stack(0x00000074e3a00000,0x00000074e3b00000)] + 0x000001e65bf06800 JavaThread "Unconstrained build operations Thread 60" [_thread_blocked, id=21640, stack(0x00000074e3b00000,0x00000074e3c00000)] + 0x000001e65bf0d000 JavaThread "Unconstrained build operations Thread 61" [_thread_blocked, id=20048, stack(0x00000074e3c00000,0x00000074e3d00000)] + 0x000001e65bf07000 JavaThread "Unconstrained build operations Thread 62" [_thread_blocked, id=7532, stack(0x00000074e3d00000,0x00000074e3e00000)] + 0x000001e65bf11800 JavaThread "Unconstrained build operations Thread 63" [_thread_blocked, id=22320, stack(0x00000074e3e00000,0x00000074e3f00000)] + 0x000001e65bf0f000 JavaThread "Unconstrained build operations Thread 64" [_thread_blocked, id=22228, stack(0x00000074e3f00000,0x00000074e4000000)] + 0x000001e65bf10000 JavaThread "Unconstrained build operations Thread 65" [_thread_blocked, id=22052, stack(0x00000074e4000000,0x00000074e4100000)] + 0x000001e65bf12800 JavaThread "Unconstrained build operations Thread 66" [_thread_blocked, id=19660, stack(0x00000074e4100000,0x00000074e4200000)] + 0x000001e65bf11000 JavaThread "Unconstrained build operations Thread 67" [_thread_blocked, id=21940, stack(0x00000074e4200000,0x00000074e4300000)] + 0x000001e65bf13800 JavaThread "Unconstrained build operations Thread 68" [_thread_blocked, id=21740, stack(0x00000074e4300000,0x00000074e4400000)] + 0x000001e65bf0d800 JavaThread "Unconstrained build operations Thread 69" [_thread_blocked, id=19664, stack(0x00000074e4400000,0x00000074e4500000)] + 0x000001e65bf0e800 JavaThread "Unconstrained build operations Thread 70" [_thread_blocked, id=11848, stack(0x00000074e4500000,0x00000074e4600000)] + 0x000001e655d23800 JavaThread "Unconstrained build operations Thread 71" [_thread_blocked, id=9296, stack(0x00000074e4600000,0x00000074e4700000)] + 0x000001e655d1d800 JavaThread "Unconstrained build operations Thread 72" [_thread_blocked, id=4708, stack(0x00000074e4700000,0x00000074e4800000)] + 0x000001e655d22000 JavaThread "Unconstrained build operations Thread 73" [_thread_blocked, id=8040, stack(0x00000074e4800000,0x00000074e4900000)] + 0x000001e655d1f800 JavaThread "Unconstrained build operations Thread 74" [_thread_blocked, id=21416, stack(0x00000074e4900000,0x00000074e4a00000)] + 0x000001e655d24800 JavaThread "Unconstrained build operations Thread 75" [_thread_blocked, id=21544, stack(0x00000074e4a00000,0x00000074e4b00000)] + 0x000001e655d20000 JavaThread "Unconstrained build operations Thread 76" [_thread_blocked, id=12912, stack(0x00000074e4b00000,0x00000074e4c00000)] + 0x000001e655d21000 JavaThread "Unconstrained build operations Thread 77" [_thread_blocked, id=21988, stack(0x00000074e4c00000,0x00000074e4d00000)] + 0x000001e655d22800 JavaThread "Unconstrained build operations Thread 78" [_thread_blocked, id=5776, stack(0x00000074e4d00000,0x00000074e4e00000)] + 0x000001e655d1e800 JavaThread "Unconstrained build operations Thread 79" [_thread_blocked, id=7544, stack(0x00000074e4e00000,0x00000074e4f00000)] + 0x000001e655d27800 JavaThread "Unconstrained build operations Thread 80" [_thread_blocked, id=3576, stack(0x00000074e4f00000,0x00000074e5000000)] + 0x000001e655d29000 JavaThread "Unconstrained build operations Thread 81" [_thread_blocked, id=8980, stack(0x00000074e5000000,0x00000074e5100000)] + 0x000001e655d2a000 JavaThread "Unconstrained build operations Thread 82" [_thread_blocked, id=11488, stack(0x00000074e5100000,0x00000074e5200000)] + 0x000001e655d25000 JavaThread "Unconstrained build operations Thread 83" [_thread_blocked, id=19740, stack(0x00000074e5200000,0x00000074e5300000)] + 0x000001e655d26000 JavaThread "Unconstrained build operations Thread 84" [_thread_blocked, id=10708, stack(0x00000074e5300000,0x00000074e5400000)] + 0x000001e655d2b000 JavaThread "Unconstrained build operations Thread 85" [_thread_blocked, id=22388, stack(0x00000074e5400000,0x00000074e5500000)] + 0x000001e655d2b800 JavaThread "Unconstrained build operations Thread 86" [_thread_blocked, id=19564, stack(0x00000074e5500000,0x00000074e5600000)] + 0x000001e655d2c800 JavaThread "Unconstrained build operations Thread 87" [_thread_blocked, id=21168, stack(0x00000074e5600000,0x00000074e5700000)] + 0x000001e655d28800 JavaThread "Unconstrained build operations Thread 88" [_thread_blocked, id=21492, stack(0x00000074e5700000,0x00000074e5800000)] + 0x000001e655d26800 JavaThread "Unconstrained build operations Thread 89" [_thread_blocked, id=20216, stack(0x00000074e5800000,0x00000074e5900000)] + 0x000001e6551bb000 JavaThread "Unconstrained build operations Thread 90" [_thread_blocked, id=6124, stack(0x00000074e5900000,0x00000074e5a00000)] + 0x000001e6551b7800 JavaThread "Unconstrained build operations Thread 91" [_thread_blocked, id=10488, stack(0x00000074e5a00000,0x00000074e5b00000)] + 0x000001e6551b5000 JavaThread "Unconstrained build operations Thread 92" [_thread_blocked, id=2356, stack(0x00000074e5b00000,0x00000074e5c00000)] + 0x000001e6551ba000 JavaThread "included builds" [_thread_blocked, id=13796, stack(0x00000074e6300000,0x00000074e6400000)] + 0x000001e6551b8800 JavaThread "Execution worker" [_thread_blocked, id=2388, stack(0x00000074e6400000,0x00000074e6500000)] + 0x000001e6551b7000 JavaThread "Execution worker Thread 2" [_thread_blocked, id=9224, stack(0x00000074e6500000,0x00000074e6600000)] + 0x000001e6551bb800 JavaThread "Execution worker Thread 3" [_thread_blocked, id=20392, stack(0x00000074e6600000,0x00000074e6700000)] + 0x000001e6551b6000 JavaThread "Execution worker Thread 4" [_thread_blocked, id=12092, stack(0x00000074e6700000,0x00000074e6800000)] + 0x000001e6551bf000 JavaThread "Execution worker Thread 5" [_thread_blocked, id=16064, stack(0x00000074e6800000,0x00000074e6900000)] + 0x000001e6551bc800 JavaThread "Execution worker Thread 6" [_thread_blocked, id=12724, stack(0x00000074e6900000,0x00000074e6a00000)] + 0x000001e6551b9000 JavaThread "Execution worker Thread 7" [_thread_blocked, id=21448, stack(0x00000074e6a00000,0x00000074e6b00000)] + 0x000001e6551c0000 JavaThread "Execution worker Thread 8" [_thread_blocked, id=22004, stack(0x00000074e6b00000,0x00000074e6c00000)] + 0x000001e6551c0800 JavaThread "Execution worker Thread 9" [_thread_blocked, id=9636, stack(0x00000074e6c00000,0x00000074e6d00000)] + 0x000001e6551bd800 JavaThread "Execution worker Thread 10" [_thread_blocked, id=10492, stack(0x00000074e6d00000,0x00000074e6e00000)] + 0x000001e6551c4000 JavaThread "Execution worker Thread 11" [_thread_blocked, id=18168, stack(0x00000074e6e00000,0x00000074e6f00000)] + 0x000001e6551be000 JavaThread "Cache worker for execution history cache (D:\Remy\OMERO\omero-gateway-java\.gradle\8.0\executionHistory)" [_thread_blocked, id=12592, stack(0x00000074e6f00000,0x00000074e7000000)] + 0x000001e6551c2000 JavaThread "Unconstrained build operations Thread 93" [_thread_blocked, id=18860, stack(0x00000074e7000000,0x00000074e7100000)] + 0x000001e6551c1800 JavaThread "Unconstrained build operations Thread 94" [_thread_blocked, id=22164, stack(0x00000074e7100000,0x00000074e7200000)] + 0x000001e6551c3000 JavaThread "Unconstrained build operations Thread 95" [_thread_blocked, id=21804, stack(0x00000074e7200000,0x00000074e7300000)] + 0x000001e65d6ba000 JavaThread "Unconstrained build operations Thread 96" [_thread_blocked, id=10164, stack(0x00000074e7300000,0x00000074e7400000)] + 0x000001e65d6b8000 JavaThread "Unconstrained build operations Thread 97" [_thread_blocked, id=11808, stack(0x00000074e7400000,0x00000074e7500000)] + 0x000001e65d6b8800 JavaThread "Unconstrained build operations Thread 98" [_thread_blocked, id=4784, stack(0x00000074e7500000,0x00000074e7600000)] + 0x000001e65d6b9800 JavaThread "Unconstrained build operations Thread 99" [_thread_blocked, id=17464, stack(0x00000074e7600000,0x00000074e7700000)] + 0x000001e65d6b7000 JavaThread "Unconstrained build operations Thread 100" [_thread_blocked, id=11996, stack(0x00000074e7700000,0x00000074e7800000)] + 0x000001e65d6bb000 JavaThread "Unconstrained build operations Thread 101" [_thread_blocked, id=12428, stack(0x00000074e7800000,0x00000074e7900000)] + 0x000001e65d6bc000 JavaThread "Unconstrained build operations Thread 102" [_thread_blocked, id=6584, stack(0x00000074e7900000,0x00000074e7a00000)] + 0x000001e65d6b6000 JavaThread "Unconstrained build operations Thread 103" [_thread_blocked, id=21244, stack(0x00000074e7a00000,0x00000074e7b00000)] + 0x000001e65d6c1800 JavaThread "Unconstrained build operations Thread 104" [_thread_blocked, id=22032, stack(0x00000074e7b00000,0x00000074e7c00000)] + 0x000001e65d6bf000 JavaThread "Unconstrained build operations Thread 105" [_thread_blocked, id=18804, stack(0x00000074e7c00000,0x00000074e7d00000)] + 0x000001e65d6bc800 JavaThread "Unconstrained build operations Thread 106" [_thread_blocked, id=21000, stack(0x00000074e7d00000,0x00000074e7e00000)] + 0x000001e65d6be800 JavaThread "Unconstrained build operations Thread 107" [_thread_blocked, id=4360, stack(0x00000074e7e00000,0x00000074e7f00000)] + 0x000001e65d6c0000 JavaThread "Unconstrained build operations Thread 108" [_thread_blocked, id=18772, stack(0x00000074e7f00000,0x00000074e8000000)] + 0x000001e65d6c0800 JavaThread "Unconstrained build operations Thread 109" [_thread_blocked, id=20552, stack(0x00000074e8000000,0x00000074e8100000)] + 0x000001e65d6c2800 JavaThread "Unconstrained build operations Thread 110" [_thread_blocked, id=15548, stack(0x00000074e8100000,0x00000074e8200000)] + 0x000001e65d6c3000 JavaThread "Unconstrained build operations Thread 111" [_thread_blocked, id=21404, stack(0x00000074e8200000,0x00000074e8300000)] + 0x000001e65d6bd800 JavaThread "Unconstrained build operations Thread 112" [_thread_blocked, id=20924, stack(0x00000074e8300000,0x00000074e8400000)] + 0x000001e65d6c4000 JavaThread "Unconstrained build operations Thread 113" [_thread_blocked, id=11424, stack(0x00000074e8400000,0x00000074e8500000)] + 0x000001e65d6c5000 JavaThread "Unconstrained build operations Thread 114" [_thread_blocked, id=22176, stack(0x00000074e8500000,0x00000074e8600000)] + 0x000001e658878000 JavaThread "Unconstrained build operations Thread 115" [_thread_blocked, id=3440, stack(0x00000074e8600000,0x00000074e8700000)] + 0x000001e658879000 JavaThread "Unconstrained build operations Thread 116" [_thread_blocked, id=20372, stack(0x00000074e8700000,0x00000074e8800000)] + 0x000001e65887a000 JavaThread "Unconstrained build operations Thread 117" [_thread_blocked, id=22468, stack(0x00000074e8800000,0x00000074e8900000)] + 0x000001e65887c800 JavaThread "Unconstrained build operations Thread 118" [_thread_blocked, id=7436, stack(0x00000074e8900000,0x00000074e8a00000)] + 0x000001e65887a800 JavaThread "Unconstrained build operations Thread 119" [_thread_blocked, id=5724, stack(0x00000074e8a00000,0x00000074e8b00000)] + 0x000001e658877800 JavaThread "Unconstrained build operations Thread 120" [_thread_blocked, id=7324, stack(0x00000074e8b00000,0x00000074e8c00000)] + 0x000001e65887b800 JavaThread "idea-tooling-model-converter" [_thread_blocked, id=22008, stack(0x00000074e8c00000,0x00000074e8d00000)] + +Other Threads: + 0x000001e654c7a800 VMThread "VM Thread" [stack: 0x00000074dca00000,0x00000074dcb00000] [id=14880] + 0x000001e654e9e000 WatcherThread [stack: 0x00000074dd400000,0x00000074dd500000] [id=9784] + 0x000001e637944000 GCTaskThread "GC Thread#0" [stack: 0x00000074dc500000,0x00000074dc600000] [id=9632] + 0x000001e655841800 GCTaskThread "GC Thread#1" [stack: 0x00000074dd600000,0x00000074dd700000] [id=21812] + 0x000001e655843000 GCTaskThread "GC Thread#2" [stack: 0x00000074dd700000,0x00000074dd800000] [id=8420] + 0x000001e655846000 GCTaskThread "GC Thread#3" [stack: 0x00000074dd800000,0x00000074dd900000] [id=9712] + 0x000001e655844800 GCTaskThread "GC Thread#4" [stack: 0x00000074dd900000,0x00000074dda00000] [id=19896] + 0x000001e655845800 GCTaskThread "GC Thread#5" [stack: 0x00000074dda00000,0x00000074ddb00000] [id=21732] + 0x000001e655844000 GCTaskThread "GC Thread#6" [stack: 0x00000074de600000,0x00000074de700000] [id=17128] + 0x000001e655842800 GCTaskThread "GC Thread#7" [stack: 0x00000074de700000,0x00000074de800000] [id=5804] + 0x000001e65583f800 GCTaskThread "GC Thread#8" [stack: 0x00000074de800000,0x00000074de900000] [id=21200] + 0x000001e655847000 GCTaskThread "GC Thread#9" [stack: 0x00000074de900000,0x00000074dea00000] [id=9772] + 0x000001e637956000 ConcurrentGCThread "G1 Main Marker" [stack: 0x00000074dc600000,0x00000074dc700000] [id=15960] + 0x000001e637958000 ConcurrentGCThread "G1 Conc#0" [stack: 0x00000074dc700000,0x00000074dc800000] [id=17972] +=>0x000001e655840800 ConcurrentGCThread "G1 Conc#1" [stack: 0x00000074dea00000,0x00000074deb00000] [id=22396] + 0x000001e655841000 ConcurrentGCThread "G1 Conc#2" [stack: 0x00000074deb00000,0x00000074dec00000] [id=4880] + 0x000001e65430d000 ConcurrentGCThread "G1 Refine#0" [stack: 0x00000074dc800000,0x00000074dc900000] [id=20520] + 0x000001e654310000 ConcurrentGCThread "G1 Young RemSet Sampling" [stack: 0x00000074dc900000,0x00000074dca00000] [id=21140] + +Threads with active compile tasks: +C2 CompilerThread010116 % 4 org.gradle.internal.instantiation.generator.AbstractClassGenerator::inspectType @ 107 (560 bytes) +C1 CompilerThread010122 3 org.gradle.api.internal.model.DefaultObjectFactory::property (181 bytes) +C2 CompilerThread110103 4 org.gradle.internal.reflect.MutableClassDetails::property (41 bytes) +C2 CompilerThread210119 4 org.objectweb.asm.Attribute::putAttributes (78 bytes) + +VM state:not at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: None + +Heap address: 0x00000000e0000000, size: 512 MB, Compressed Oops mode: 32-bit +Narrow klass base: 0x0000000000000000, Narrow klass shift: 3 +Compressed class space size: 260046848 Address: 0x0000000100000000 + +Heap: + garbage-first heap total 262144K, used 150407K [0x00000000e0000000, 0x0000000100000000) + region size 1024K, 15 young (15360K), 2 survivors (2048K) + Metaspace used 80161K, capacity 83200K, committed 83408K, reserved 327680K + class space used 10438K, capacity 11534K, committed 11648K, reserved 253952K +Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, A=archive, TAMS=top-at-mark-start (previous, next) +| 0|0x00000000e0000000, 0x00000000e0100000, 0x00000000e0100000|100%|HS| |TAMS 0x00000000e0100000, 0x00000000e0100000| Complete +| 1|0x00000000e0100000, 0x00000000e0200000, 0x00000000e0200000|100%|HC| |TAMS 0x00000000e0200000, 0x00000000e0200000| Complete +| 2|0x00000000e0200000, 0x00000000e0300000, 0x00000000e0300000|100%|HC| |TAMS 0x00000000e0300000, 0x00000000e0300000| Complete +| 3|0x00000000e0300000, 0x00000000e0400000, 0x00000000e0400000|100%|HC| |TAMS 0x00000000e0400000, 0x00000000e0400000| Complete +| 4|0x00000000e0400000, 0x00000000e0500000, 0x00000000e0500000|100%| O| |TAMS 0x00000000e0500000, 0x00000000e0500000| Untracked +| 5|0x00000000e0500000, 0x00000000e0600000, 0x00000000e0600000|100%| O| |TAMS 0x00000000e0600000, 0x00000000e0600000| Untracked +| 6|0x00000000e0600000, 0x00000000e0700000, 0x00000000e0700000|100%| O| |TAMS 0x00000000e0700000, 0x00000000e0700000| Untracked +| 7|0x00000000e0700000, 0x00000000e0800000, 0x00000000e0800000|100%| O| |TAMS 0x00000000e0800000, 0x00000000e0800000| Untracked +| 8|0x00000000e0800000, 0x00000000e0900000, 0x00000000e0900000|100%| O| |TAMS 0x00000000e0900000, 0x00000000e0900000| Untracked +| 9|0x00000000e0900000, 0x00000000e0a00000, 0x00000000e0a00000|100%| O| |TAMS 0x00000000e0a00000, 0x00000000e0a00000| Untracked +| 10|0x00000000e0a00000, 0x00000000e0b00000, 0x00000000e0b00000|100%| O| |TAMS 0x00000000e0b00000, 0x00000000e0b00000| Untracked +| 11|0x00000000e0b00000, 0x00000000e0c00000, 0x00000000e0c00000|100%| O| |TAMS 0x00000000e0c00000, 0x00000000e0c00000| Untracked +| 12|0x00000000e0c00000, 0x00000000e0d00000, 0x00000000e0d00000|100%| O| |TAMS 0x00000000e0d00000, 0x00000000e0d00000| Untracked +| 13|0x00000000e0d00000, 0x00000000e0e00000, 0x00000000e0e00000|100%| O| |TAMS 0x00000000e0e00000, 0x00000000e0e00000| Untracked +| 14|0x00000000e0e00000, 0x00000000e0f00000, 0x00000000e0f00000|100%| O| |TAMS 0x00000000e0f00000, 0x00000000e0f00000| Untracked +| 15|0x00000000e0f00000, 0x00000000e1000000, 0x00000000e1000000|100%| O| |TAMS 0x00000000e1000000, 0x00000000e1000000| Untracked +| 16|0x00000000e1000000, 0x00000000e1100000, 0x00000000e1100000|100%| O| |TAMS 0x00000000e1100000, 0x00000000e1100000| Untracked +| 17|0x00000000e1100000, 0x00000000e1200000, 0x00000000e1200000|100%| O| |TAMS 0x00000000e1200000, 0x00000000e1200000| Untracked +| 18|0x00000000e1200000, 0x00000000e1300000, 0x00000000e1300000|100%| O| |TAMS 0x00000000e1300000, 0x00000000e1300000| Untracked +| 19|0x00000000e1300000, 0x00000000e1400000, 0x00000000e1400000|100%| O| |TAMS 0x00000000e1400000, 0x00000000e1400000| Untracked +| 20|0x00000000e1400000, 0x00000000e1500000, 0x00000000e1500000|100%| O| |TAMS 0x00000000e1500000, 0x00000000e1500000| Untracked +| 21|0x00000000e1500000, 0x00000000e1600000, 0x00000000e1600000|100%| O| |TAMS 0x00000000e1600000, 0x00000000e1600000| Untracked +| 22|0x00000000e1600000, 0x00000000e1700000, 0x00000000e1700000|100%| O| |TAMS 0x00000000e1700000, 0x00000000e1700000| Untracked +| 23|0x00000000e1700000, 0x00000000e1800000, 0x00000000e1800000|100%| O| |TAMS 0x00000000e1800000, 0x00000000e1800000| Untracked +| 24|0x00000000e1800000, 0x00000000e1900000, 0x00000000e1900000|100%| O| |TAMS 0x00000000e1900000, 0x00000000e1900000| Untracked +| 25|0x00000000e1900000, 0x00000000e1a00000, 0x00000000e1a00000|100%| O| |TAMS 0x00000000e1a00000, 0x00000000e1a00000| Untracked +| 26|0x00000000e1a00000, 0x00000000e1b00000, 0x00000000e1b00000|100%| O| |TAMS 0x00000000e1b00000, 0x00000000e1b00000| Untracked +| 27|0x00000000e1b00000, 0x00000000e1c00000, 0x00000000e1c00000|100%| O| |TAMS 0x00000000e1c00000, 0x00000000e1c00000| Untracked +| 28|0x00000000e1c00000, 0x00000000e1d00000, 0x00000000e1d00000|100%| O| |TAMS 0x00000000e1d00000, 0x00000000e1d00000| Untracked +| 29|0x00000000e1d00000, 0x00000000e1e00000, 0x00000000e1e00000|100%| O| |TAMS 0x00000000e1e00000, 0x00000000e1e00000| Untracked +| 30|0x00000000e1e00000, 0x00000000e1f00000, 0x00000000e1f00000|100%| O| |TAMS 0x00000000e1e1f600, 0x00000000e1f00000| Untracked +| 31|0x00000000e1f00000, 0x00000000e2000000, 0x00000000e2000000|100%|HS| |TAMS 0x00000000e1f00000, 0x00000000e2000000| Complete +| 32|0x00000000e2000000, 0x00000000e2100000, 0x00000000e2100000|100%|HC| |TAMS 0x00000000e2000000, 0x00000000e2100000| Complete +| 33|0x00000000e2100000, 0x00000000e2200000, 0x00000000e2200000|100%|HC| |TAMS 0x00000000e2100000, 0x00000000e2200000| Complete +| 34|0x00000000e2200000, 0x00000000e2300000, 0x00000000e2300000|100%|HS| |TAMS 0x00000000e2200000, 0x00000000e2300000| Complete +| 35|0x00000000e2300000, 0x00000000e2400000, 0x00000000e2400000|100%|HC| |TAMS 0x00000000e2300000, 0x00000000e2400000| Complete +| 36|0x00000000e2400000, 0x00000000e2500000, 0x00000000e2500000|100%|HS| |TAMS 0x00000000e2400000, 0x00000000e2500000| Complete +| 37|0x00000000e2500000, 0x00000000e2600000, 0x00000000e2600000|100%|HC| |TAMS 0x00000000e2500000, 0x00000000e2600000| Complete +| 38|0x00000000e2600000, 0x00000000e2700000, 0x00000000e2700000|100%|HC| |TAMS 0x00000000e2600000, 0x00000000e2700000| Complete +| 39|0x00000000e2700000, 0x00000000e2800000, 0x00000000e2800000|100%|HS| |TAMS 0x00000000e2700000, 0x00000000e2800000| Complete +| 40|0x00000000e2800000, 0x00000000e2900000, 0x00000000e2900000|100%|HC| |TAMS 0x00000000e2800000, 0x00000000e2900000| Complete +| 41|0x00000000e2900000, 0x00000000e2a00000, 0x00000000e2a00000|100%|HS| |TAMS 0x00000000e2900000, 0x00000000e2a00000| Complete +| 42|0x00000000e2a00000, 0x00000000e2b00000, 0x00000000e2b00000|100%|HC| |TAMS 0x00000000e2a00000, 0x00000000e2b00000| Complete +| 43|0x00000000e2b00000, 0x00000000e2c00000, 0x00000000e2c00000|100%|HC| |TAMS 0x00000000e2b00000, 0x00000000e2c00000| Complete +| 44|0x00000000e2c00000, 0x00000000e2d00000, 0x00000000e2d00000|100%|HC| |TAMS 0x00000000e2c00000, 0x00000000e2d00000| Complete +| 45|0x00000000e2d00000, 0x00000000e2e00000, 0x00000000e2e00000|100%|HC| |TAMS 0x00000000e2d00000, 0x00000000e2e00000| Complete +| 46|0x00000000e2e00000, 0x00000000e2f00000, 0x00000000e2f00000|100%|HC| |TAMS 0x00000000e2e00000, 0x00000000e2f00000| Complete +| 47|0x00000000e2f00000, 0x00000000e3000000, 0x00000000e3000000|100%|HC| |TAMS 0x00000000e2f00000, 0x00000000e3000000| Complete +| 48|0x00000000e3000000, 0x00000000e3100000, 0x00000000e3100000|100%|HC| |TAMS 0x00000000e3000000, 0x00000000e3100000| Complete +| 49|0x00000000e3100000, 0x00000000e3200000, 0x00000000e3200000|100%|HC| |TAMS 0x00000000e3100000, 0x00000000e3200000| Complete +| 50|0x00000000e3200000, 0x00000000e3300000, 0x00000000e3300000|100%|HC| |TAMS 0x00000000e3200000, 0x00000000e3300000| Complete +| 51|0x00000000e3300000, 0x00000000e3400000, 0x00000000e3400000|100%|HC| |TAMS 0x00000000e3300000, 0x00000000e3400000| Complete +| 52|0x00000000e3400000, 0x00000000e3500000, 0x00000000e3500000|100%|HS| |TAMS 0x00000000e3400000, 0x00000000e3500000| Complete +| 53|0x00000000e3500000, 0x00000000e3600000, 0x00000000e3600000|100%|HC| |TAMS 0x00000000e3500000, 0x00000000e3600000| Complete +| 54|0x00000000e3600000, 0x00000000e3700000, 0x00000000e3700000|100%|HS| |TAMS 0x00000000e3600000, 0x00000000e3700000| Complete +| 55|0x00000000e3700000, 0x00000000e3800000, 0x00000000e3800000|100%|HC| |TAMS 0x00000000e3700000, 0x00000000e3800000| Complete +| 56|0x00000000e3800000, 0x00000000e3900000, 0x00000000e3900000|100%|HC| |TAMS 0x00000000e3800000, 0x00000000e3900000| Complete +| 57|0x00000000e3900000, 0x00000000e3a00000, 0x00000000e3a00000|100%|HC| |TAMS 0x00000000e3900000, 0x00000000e3a00000| Complete +| 58|0x00000000e3a00000, 0x00000000e3b00000, 0x00000000e3b00000|100%|HC| |TAMS 0x00000000e3a00000, 0x00000000e3b00000| Complete +| 59|0x00000000e3b00000, 0x00000000e3c00000, 0x00000000e3c00000|100%|HC| |TAMS 0x00000000e3b00000, 0x00000000e3c00000| Complete +| 60|0x00000000e3c00000, 0x00000000e3d00000, 0x00000000e3d00000|100%|HS| |TAMS 0x00000000e3c00000, 0x00000000e3d00000| Complete +| 61|0x00000000e3d00000, 0x00000000e3e00000, 0x00000000e3e00000|100%|HS| |TAMS 0x00000000e3d00000, 0x00000000e3e00000| Complete +| 62|0x00000000e3e00000, 0x00000000e3f00000, 0x00000000e3f00000|100%|HC| |TAMS 0x00000000e3e00000, 0x00000000e3f00000| Complete +| 63|0x00000000e3f00000, 0x00000000e4000000, 0x00000000e4000000|100%|HS| |TAMS 0x00000000e3f00000, 0x00000000e4000000| Complete +| 64|0x00000000e4000000, 0x00000000e4100000, 0x00000000e4100000|100%|HC| |TAMS 0x00000000e4000000, 0x00000000e4100000| Complete +| 65|0x00000000e4100000, 0x00000000e4200000, 0x00000000e4200000|100%|HC| |TAMS 0x00000000e4100000, 0x00000000e4200000| Complete +| 66|0x00000000e4200000, 0x00000000e4300000, 0x00000000e4300000|100%| O| |TAMS 0x00000000e4200000, 0x00000000e4300000| Untracked +| 67|0x00000000e4300000, 0x00000000e4400000, 0x00000000e4400000|100%| O| |TAMS 0x00000000e4300000, 0x00000000e4400000| Untracked +| 68|0x00000000e4400000, 0x00000000e4500000, 0x00000000e4500000|100%| O| |TAMS 0x00000000e4400000, 0x00000000e4500000| Untracked +| 69|0x00000000e4500000, 0x00000000e4600000, 0x00000000e4600000|100%| O| |TAMS 0x00000000e4500000, 0x00000000e4600000| Untracked +| 70|0x00000000e4600000, 0x00000000e4700000, 0x00000000e4700000|100%| O| |TAMS 0x00000000e4600000, 0x00000000e4700000| Untracked +| 71|0x00000000e4700000, 0x00000000e4800000, 0x00000000e4800000|100%| O| |TAMS 0x00000000e4700000, 0x00000000e4800000| Untracked +| 72|0x00000000e4800000, 0x00000000e4900000, 0x00000000e4900000|100%| O| |TAMS 0x00000000e4800000, 0x00000000e4900000| Untracked +| 73|0x00000000e4900000, 0x00000000e4a00000, 0x00000000e4a00000|100%| O| |TAMS 0x00000000e4900000, 0x00000000e4a00000| Untracked +| 74|0x00000000e4a00000, 0x00000000e4b00000, 0x00000000e4b00000|100%| O| |TAMS 0x00000000e4a00000, 0x00000000e4b00000| Untracked +| 75|0x00000000e4b00000, 0x00000000e4c00000, 0x00000000e4c00000|100%| O| |TAMS 0x00000000e4b00000, 0x00000000e4c00000| Untracked +| 76|0x00000000e4c00000, 0x00000000e4d00000, 0x00000000e4d00000|100%| O| |TAMS 0x00000000e4c00000, 0x00000000e4d00000| Untracked +| 77|0x00000000e4d00000, 0x00000000e4e00000, 0x00000000e4e00000|100%| O| |TAMS 0x00000000e4d00000, 0x00000000e4e00000| Untracked +| 78|0x00000000e4e00000, 0x00000000e4f00000, 0x00000000e4f00000|100%| O| |TAMS 0x00000000e4e00000, 0x00000000e4f00000| Untracked +| 79|0x00000000e4f00000, 0x00000000e5000000, 0x00000000e5000000|100%| O| |TAMS 0x00000000e4f00000, 0x00000000e5000000| Untracked +| 80|0x00000000e5000000, 0x00000000e5100000, 0x00000000e5100000|100%| O| |TAMS 0x00000000e5000000, 0x00000000e5100000| Untracked +| 81|0x00000000e5100000, 0x00000000e5200000, 0x00000000e5200000|100%| O| |TAMS 0x00000000e5100000, 0x00000000e5200000| Untracked +| 82|0x00000000e5200000, 0x00000000e5300000, 0x00000000e5300000|100%| O| |TAMS 0x00000000e5200000, 0x00000000e5300000| Untracked +| 83|0x00000000e5300000, 0x00000000e5400000, 0x00000000e5400000|100%| O| |TAMS 0x00000000e5300000, 0x00000000e5400000| Untracked +| 84|0x00000000e5400000, 0x00000000e5500000, 0x00000000e5500000|100%|HS| |TAMS 0x00000000e5400000, 0x00000000e5500000| Complete +| 85|0x00000000e5500000, 0x00000000e5600000, 0x00000000e5600000|100%|HC| |TAMS 0x00000000e5500000, 0x00000000e5600000| Complete +| 86|0x00000000e5600000, 0x00000000e5700000, 0x00000000e5700000|100%|HS| |TAMS 0x00000000e5600000, 0x00000000e5700000| Complete +| 87|0x00000000e5700000, 0x00000000e5800000, 0x00000000e5800000|100%|HC| |TAMS 0x00000000e5700000, 0x00000000e5800000| Complete +| 88|0x00000000e5800000, 0x00000000e5900000, 0x00000000e5900000|100%|HC| |TAMS 0x00000000e5800000, 0x00000000e5900000| Complete +| 89|0x00000000e5900000, 0x00000000e5a00000, 0x00000000e5a00000|100%|HS| |TAMS 0x00000000e5900000, 0x00000000e5a00000| Complete +| 90|0x00000000e5a00000, 0x00000000e5b00000, 0x00000000e5b00000|100%|HC| |TAMS 0x00000000e5a00000, 0x00000000e5b00000| Complete +| 91|0x00000000e5b00000, 0x00000000e5c00000, 0x00000000e5c00000|100%|HS| |TAMS 0x00000000e5b00000, 0x00000000e5c00000| Complete +| 92|0x00000000e5c00000, 0x00000000e5d00000, 0x00000000e5d00000|100%|HC| |TAMS 0x00000000e5c00000, 0x00000000e5d00000| Complete +| 93|0x00000000e5d00000, 0x00000000e5e00000, 0x00000000e5e00000|100%|HC| |TAMS 0x00000000e5d00000, 0x00000000e5e00000| Complete +| 94|0x00000000e5e00000, 0x00000000e5f00000, 0x00000000e5f00000|100%|HC| |TAMS 0x00000000e5e00000, 0x00000000e5f00000| Complete +| 95|0x00000000e5f00000, 0x00000000e6000000, 0x00000000e6000000|100%|HC| |TAMS 0x00000000e5f00000, 0x00000000e6000000| Complete +| 96|0x00000000e6000000, 0x00000000e6100000, 0x00000000e6100000|100%|HC| |TAMS 0x00000000e6000000, 0x00000000e6100000| Complete +| 97|0x00000000e6100000, 0x00000000e6200000, 0x00000000e6200000|100%|HC| |TAMS 0x00000000e6100000, 0x00000000e6200000| Complete +| 98|0x00000000e6200000, 0x00000000e6300000, 0x00000000e6300000|100%|HC| |TAMS 0x00000000e6200000, 0x00000000e6300000| Complete +| 99|0x00000000e6300000, 0x00000000e6400000, 0x00000000e6400000|100%|HC| |TAMS 0x00000000e6300000, 0x00000000e6400000| Complete +| 100|0x00000000e6400000, 0x00000000e6500000, 0x00000000e6500000|100%|HC| |TAMS 0x00000000e6400000, 0x00000000e6500000| Complete +| 101|0x00000000e6500000, 0x00000000e6600000, 0x00000000e6600000|100%|HC| |TAMS 0x00000000e6500000, 0x00000000e6600000| Complete +| 102|0x00000000e6600000, 0x00000000e6700000, 0x00000000e6700000|100%|HS| |TAMS 0x00000000e6600000, 0x00000000e6700000| Complete +| 103|0x00000000e6700000, 0x00000000e6800000, 0x00000000e6800000|100%|HC| |TAMS 0x00000000e6700000, 0x00000000e6800000| Complete +| 104|0x00000000e6800000, 0x00000000e6900000, 0x00000000e6900000|100%|HS| |TAMS 0x00000000e6800000, 0x00000000e6900000| Complete +| 105|0x00000000e6900000, 0x00000000e6a00000, 0x00000000e6a00000|100%|HC| |TAMS 0x00000000e6900000, 0x00000000e6a00000| Complete +| 106|0x00000000e6a00000, 0x00000000e6b00000, 0x00000000e6b00000|100%|HC| |TAMS 0x00000000e6a00000, 0x00000000e6b00000| Complete +| 107|0x00000000e6b00000, 0x00000000e6c00000, 0x00000000e6c00000|100%|HC| |TAMS 0x00000000e6b00000, 0x00000000e6c00000| Complete +| 108|0x00000000e6c00000, 0x00000000e6d00000, 0x00000000e6d00000|100%|HC| |TAMS 0x00000000e6c00000, 0x00000000e6d00000| Complete +| 109|0x00000000e6d00000, 0x00000000e6e00000, 0x00000000e6e00000|100%|HC| |TAMS 0x00000000e6d00000, 0x00000000e6e00000| Complete +| 110|0x00000000e6e00000, 0x00000000e6f00000, 0x00000000e6f00000|100%|HS| |TAMS 0x00000000e6e00000, 0x00000000e6f00000| Complete +| 111|0x00000000e6f00000, 0x00000000e7000000, 0x00000000e7000000|100%| O| |TAMS 0x00000000e6f00000, 0x00000000e7000000| Untracked +| 112|0x00000000e7000000, 0x00000000e7100000, 0x00000000e7100000|100%| O| |TAMS 0x00000000e7000000, 0x00000000e7100000| Untracked +| 113|0x00000000e7100000, 0x00000000e7200000, 0x00000000e7200000|100%| O| |TAMS 0x00000000e7100000, 0x00000000e7200000| Untracked +| 114|0x00000000e7200000, 0x00000000e7300000, 0x00000000e7300000|100%| O| |TAMS 0x00000000e7200000, 0x00000000e7300000| Untracked +| 115|0x00000000e7300000, 0x00000000e7400000, 0x00000000e7400000|100%| O| |TAMS 0x00000000e7300000, 0x00000000e7400000| Untracked +| 116|0x00000000e7400000, 0x00000000e7500000, 0x00000000e7500000|100%| O| |TAMS 0x00000000e7400000, 0x00000000e7500000| Untracked +| 117|0x00000000e7500000, 0x00000000e7600000, 0x00000000e7600000|100%| O| |TAMS 0x00000000e7500000, 0x00000000e7600000| Untracked +| 118|0x00000000e7600000, 0x00000000e7700000, 0x00000000e7700000|100%| O| |TAMS 0x00000000e7600000, 0x00000000e7700000| Untracked +| 119|0x00000000e7700000, 0x00000000e7800000, 0x00000000e7800000|100%| O| |TAMS 0x00000000e7700000, 0x00000000e7800000| Untracked +| 120|0x00000000e7800000, 0x00000000e7900000, 0x00000000e7900000|100%| O| |TAMS 0x00000000e7800000, 0x00000000e7900000| Untracked +| 121|0x00000000e7900000, 0x00000000e7a00000, 0x00000000e7a00000|100%| O| |TAMS 0x00000000e7900000, 0x00000000e7a00000| Untracked +| 122|0x00000000e7a00000, 0x00000000e7b00000, 0x00000000e7b00000|100%| O| |TAMS 0x00000000e7a00000, 0x00000000e7b00000| Untracked +| 123|0x00000000e7b00000, 0x00000000e7c00000, 0x00000000e7c00000|100%| O| |TAMS 0x00000000e7b00000, 0x00000000e7c00000| Untracked +| 124|0x00000000e7c00000, 0x00000000e7d00000, 0x00000000e7d00000|100%| O| |TAMS 0x00000000e7c00000, 0x00000000e7d00000| Untracked +| 125|0x00000000e7d00000, 0x00000000e7e00000, 0x00000000e7e00000|100%| O| |TAMS 0x00000000e7d00000, 0x00000000e7e00000| Untracked +| 126|0x00000000e7e00000, 0x00000000e7f00000, 0x00000000e7f00000|100%| O| |TAMS 0x00000000e7e00000, 0x00000000e7f00000| Untracked +| 127|0x00000000e7f00000, 0x00000000e8000000, 0x00000000e8000000|100%| O| |TAMS 0x00000000e7f00000, 0x00000000e8000000| Untracked +| 128|0x00000000e8000000, 0x00000000e8100000, 0x00000000e8100000|100%| O| |TAMS 0x00000000e8000000, 0x00000000e8100000| Untracked +| 129|0x00000000e8100000, 0x00000000e8200000, 0x00000000e8200000|100%| O| |TAMS 0x00000000e8100000, 0x00000000e8200000| Untracked +| 130|0x00000000e8200000, 0x00000000e8300000, 0x00000000e8300000|100%| O| |TAMS 0x00000000e8200000, 0x00000000e8300000| Untracked +| 131|0x00000000e8300000, 0x00000000e83e7200, 0x00000000e8400000| 90%| O| |TAMS 0x00000000e8300000, 0x00000000e83e7200| Untracked +| 132|0x00000000e8400000, 0x00000000e8500000, 0x00000000e8500000|100%|HS| |TAMS 0x00000000e8400000, 0x00000000e8400000| Complete +| 133|0x00000000e8500000, 0x00000000e8500000, 0x00000000e8600000| 0%| F| |TAMS 0x00000000e8500000, 0x00000000e8500000| Untracked +| 134|0x00000000e8600000, 0x00000000e8600000, 0x00000000e8700000| 0%| F| |TAMS 0x00000000e8600000, 0x00000000e8600000| Untracked +| 135|0x00000000e8700000, 0x00000000e8700000, 0x00000000e8800000| 0%| F| |TAMS 0x00000000e8700000, 0x00000000e8700000| Untracked +| 136|0x00000000e8800000, 0x00000000e8800000, 0x00000000e8900000| 0%| F| |TAMS 0x00000000e8800000, 0x00000000e8800000| Untracked +| 137|0x00000000e8900000, 0x00000000e8900000, 0x00000000e8a00000| 0%| F| |TAMS 0x00000000e8900000, 0x00000000e8900000| Untracked +| 138|0x00000000e8a00000, 0x00000000e8a00000, 0x00000000e8b00000| 0%| F| |TAMS 0x00000000e8a00000, 0x00000000e8a00000| Untracked +| 139|0x00000000e8b00000, 0x00000000e8b00000, 0x00000000e8c00000| 0%| F| |TAMS 0x00000000e8b00000, 0x00000000e8b00000| Untracked +| 140|0x00000000e8c00000, 0x00000000e8c00000, 0x00000000e8d00000| 0%| F| |TAMS 0x00000000e8c00000, 0x00000000e8c00000| Untracked +| 141|0x00000000e8d00000, 0x00000000e8d00000, 0x00000000e8e00000| 0%| F| |TAMS 0x00000000e8d00000, 0x00000000e8d00000| Untracked +| 142|0x00000000e8e00000, 0x00000000e8e00000, 0x00000000e8f00000| 0%| F| |TAMS 0x00000000e8e00000, 0x00000000e8e00000| Untracked +| 143|0x00000000e8f00000, 0x00000000e8f00000, 0x00000000e9000000| 0%| F| |TAMS 0x00000000e8f00000, 0x00000000e8f00000| Untracked +| 144|0x00000000e9000000, 0x00000000e9000000, 0x00000000e9100000| 0%| F| |TAMS 0x00000000e9000000, 0x00000000e9000000| Untracked +| 145|0x00000000e9100000, 0x00000000e9100000, 0x00000000e9200000| 0%| F| |TAMS 0x00000000e9100000, 0x00000000e9100000| Untracked +| 146|0x00000000e9200000, 0x00000000e9200000, 0x00000000e9300000| 0%| F| |TAMS 0x00000000e9200000, 0x00000000e9200000| Untracked +| 147|0x00000000e9300000, 0x00000000e9300000, 0x00000000e9400000| 0%| F| |TAMS 0x00000000e9300000, 0x00000000e9300000| Untracked +| 148|0x00000000e9400000, 0x00000000e9400000, 0x00000000e9500000| 0%| F| |TAMS 0x00000000e9400000, 0x00000000e9400000| Untracked +| 149|0x00000000e9500000, 0x00000000e9500000, 0x00000000e9600000| 0%| F| |TAMS 0x00000000e9500000, 0x00000000e9500000| Untracked +| 150|0x00000000e9600000, 0x00000000e9600000, 0x00000000e9700000| 0%| F| |TAMS 0x00000000e9600000, 0x00000000e9600000| Untracked +| 151|0x00000000e9700000, 0x00000000e9700000, 0x00000000e9800000| 0%| F| |TAMS 0x00000000e9700000, 0x00000000e9700000| Untracked +| 152|0x00000000e9800000, 0x00000000e9800000, 0x00000000e9900000| 0%| F| |TAMS 0x00000000e9800000, 0x00000000e9800000| Untracked +| 153|0x00000000e9900000, 0x00000000e9900000, 0x00000000e9a00000| 0%| F| |TAMS 0x00000000e9900000, 0x00000000e9900000| Untracked +| 154|0x00000000e9a00000, 0x00000000e9a00000, 0x00000000e9b00000| 0%| F| |TAMS 0x00000000e9a00000, 0x00000000e9a00000| Untracked +| 155|0x00000000e9b00000, 0x00000000e9b00000, 0x00000000e9c00000| 0%| F| |TAMS 0x00000000e9b00000, 0x00000000e9b00000| Untracked +| 156|0x00000000e9c00000, 0x00000000e9c00000, 0x00000000e9d00000| 0%| F| |TAMS 0x00000000e9c00000, 0x00000000e9c00000| Untracked +| 157|0x00000000e9d00000, 0x00000000e9d00000, 0x00000000e9e00000| 0%| F| |TAMS 0x00000000e9d00000, 0x00000000e9d00000| Untracked +| 158|0x00000000e9e00000, 0x00000000e9e00000, 0x00000000e9f00000| 0%| F| |TAMS 0x00000000e9e00000, 0x00000000e9e00000| Untracked +| 159|0x00000000e9f00000, 0x00000000e9f00000, 0x00000000ea000000| 0%| F| |TAMS 0x00000000e9f00000, 0x00000000e9f00000| Untracked +| 160|0x00000000ea000000, 0x00000000ea000000, 0x00000000ea100000| 0%| F| |TAMS 0x00000000ea000000, 0x00000000ea000000| Untracked +| 161|0x00000000ea100000, 0x00000000ea100000, 0x00000000ea200000| 0%| F| |TAMS 0x00000000ea100000, 0x00000000ea100000| Untracked +| 162|0x00000000ea200000, 0x00000000ea200000, 0x00000000ea300000| 0%| F| |TAMS 0x00000000ea200000, 0x00000000ea200000| Untracked +| 163|0x00000000ea300000, 0x00000000ea300000, 0x00000000ea400000| 0%| F| |TAMS 0x00000000ea300000, 0x00000000ea300000| Untracked +| 164|0x00000000ea400000, 0x00000000ea400000, 0x00000000ea500000| 0%| F| |TAMS 0x00000000ea400000, 0x00000000ea400000| Untracked +| 165|0x00000000ea500000, 0x00000000ea500000, 0x00000000ea600000| 0%| F| |TAMS 0x00000000ea500000, 0x00000000ea500000| Untracked +| 166|0x00000000ea600000, 0x00000000ea600000, 0x00000000ea700000| 0%| F| |TAMS 0x00000000ea600000, 0x00000000ea600000| Untracked +| 167|0x00000000ea700000, 0x00000000ea700000, 0x00000000ea800000| 0%| F| |TAMS 0x00000000ea700000, 0x00000000ea700000| Untracked +| 168|0x00000000ea800000, 0x00000000ea800000, 0x00000000ea900000| 0%| F| |TAMS 0x00000000ea800000, 0x00000000ea800000| Untracked +| 169|0x00000000ea900000, 0x00000000ea900000, 0x00000000eaa00000| 0%| F| |TAMS 0x00000000ea900000, 0x00000000ea900000| Untracked +| 170|0x00000000eaa00000, 0x00000000eaa00000, 0x00000000eab00000| 0%| F| |TAMS 0x00000000eaa00000, 0x00000000eaa00000| Untracked +| 171|0x00000000eab00000, 0x00000000eab00000, 0x00000000eac00000| 0%| F| |TAMS 0x00000000eab00000, 0x00000000eab00000| Untracked +| 172|0x00000000eac00000, 0x00000000eac00000, 0x00000000ead00000| 0%| F| |TAMS 0x00000000eac00000, 0x00000000eac00000| Untracked +| 173|0x00000000ead00000, 0x00000000ead00000, 0x00000000eae00000| 0%| F| |TAMS 0x00000000ead00000, 0x00000000ead00000| Untracked +| 174|0x00000000eae00000, 0x00000000eae00000, 0x00000000eaf00000| 0%| F| |TAMS 0x00000000eae00000, 0x00000000eae00000| Untracked +| 175|0x00000000eaf00000, 0x00000000eaf00000, 0x00000000eb000000| 0%| F| |TAMS 0x00000000eaf00000, 0x00000000eaf00000| Untracked +| 176|0x00000000eb000000, 0x00000000eb000000, 0x00000000eb100000| 0%| F| |TAMS 0x00000000eb000000, 0x00000000eb000000| Untracked +| 177|0x00000000eb100000, 0x00000000eb100000, 0x00000000eb200000| 0%| F| |TAMS 0x00000000eb100000, 0x00000000eb100000| Untracked +| 178|0x00000000eb200000, 0x00000000eb200000, 0x00000000eb300000| 0%| F| |TAMS 0x00000000eb200000, 0x00000000eb200000| Untracked +| 179|0x00000000eb300000, 0x00000000eb300000, 0x00000000eb400000| 0%| F| |TAMS 0x00000000eb300000, 0x00000000eb300000| Untracked +| 180|0x00000000eb400000, 0x00000000eb400000, 0x00000000eb500000| 0%| F| |TAMS 0x00000000eb400000, 0x00000000eb400000| Untracked +| 181|0x00000000eb500000, 0x00000000eb500000, 0x00000000eb600000| 0%| F| |TAMS 0x00000000eb500000, 0x00000000eb500000| Untracked +| 182|0x00000000eb600000, 0x00000000eb600000, 0x00000000eb700000| 0%| F| |TAMS 0x00000000eb600000, 0x00000000eb600000| Untracked +| 183|0x00000000eb700000, 0x00000000eb700000, 0x00000000eb800000| 0%| F| |TAMS 0x00000000eb700000, 0x00000000eb700000| Untracked +| 184|0x00000000eb800000, 0x00000000eb800000, 0x00000000eb900000| 0%| F| |TAMS 0x00000000eb800000, 0x00000000eb800000| Untracked +| 185|0x00000000eb900000, 0x00000000eb900000, 0x00000000eba00000| 0%| F| |TAMS 0x00000000eb900000, 0x00000000eb900000| Untracked +| 186|0x00000000eba00000, 0x00000000eba00000, 0x00000000ebb00000| 0%| F| |TAMS 0x00000000eba00000, 0x00000000eba00000| Untracked +| 187|0x00000000ebb00000, 0x00000000ebb00000, 0x00000000ebc00000| 0%| F| |TAMS 0x00000000ebb00000, 0x00000000ebb00000| Untracked +| 188|0x00000000ebc00000, 0x00000000ebc00000, 0x00000000ebd00000| 0%| F| |TAMS 0x00000000ebc00000, 0x00000000ebc00000| Untracked +| 189|0x00000000ebd00000, 0x00000000ebd00000, 0x00000000ebe00000| 0%| F| |TAMS 0x00000000ebd00000, 0x00000000ebd00000| Untracked +| 190|0x00000000ebe00000, 0x00000000ebe00000, 0x00000000ebf00000| 0%| F| |TAMS 0x00000000ebe00000, 0x00000000ebe00000| Untracked +| 191|0x00000000ebf00000, 0x00000000ebf00000, 0x00000000ec000000| 0%| F| |TAMS 0x00000000ebf00000, 0x00000000ebf00000| Untracked +| 192|0x00000000ec000000, 0x00000000ec000000, 0x00000000ec100000| 0%| F| |TAMS 0x00000000ec000000, 0x00000000ec000000| Untracked +| 193|0x00000000ec100000, 0x00000000ec100000, 0x00000000ec200000| 0%| F| |TAMS 0x00000000ec100000, 0x00000000ec100000| Untracked +| 194|0x00000000ec200000, 0x00000000ec200000, 0x00000000ec300000| 0%| F| |TAMS 0x00000000ec200000, 0x00000000ec200000| Untracked +| 195|0x00000000ec300000, 0x00000000ec300000, 0x00000000ec400000| 0%| F| |TAMS 0x00000000ec300000, 0x00000000ec300000| Untracked +| 196|0x00000000ec400000, 0x00000000ec400000, 0x00000000ec500000| 0%| F| |TAMS 0x00000000ec400000, 0x00000000ec400000| Untracked +| 197|0x00000000ec500000, 0x00000000ec500000, 0x00000000ec600000| 0%| F| |TAMS 0x00000000ec500000, 0x00000000ec500000| Untracked +| 198|0x00000000ec600000, 0x00000000ec600000, 0x00000000ec700000| 0%| F| |TAMS 0x00000000ec600000, 0x00000000ec600000| Untracked +| 199|0x00000000ec700000, 0x00000000ec700000, 0x00000000ec800000| 0%| F| |TAMS 0x00000000ec700000, 0x00000000ec700000| Untracked +| 200|0x00000000ec800000, 0x00000000ec800000, 0x00000000ec900000| 0%| F| |TAMS 0x00000000ec800000, 0x00000000ec800000| Untracked +| 201|0x00000000ec900000, 0x00000000ec900000, 0x00000000eca00000| 0%| F| |TAMS 0x00000000ec900000, 0x00000000ec900000| Untracked +| 202|0x00000000eca00000, 0x00000000eca00000, 0x00000000ecb00000| 0%| F| |TAMS 0x00000000eca00000, 0x00000000eca00000| Untracked +| 203|0x00000000ecb00000, 0x00000000ecb00000, 0x00000000ecc00000| 0%| F| |TAMS 0x00000000ecb00000, 0x00000000ecb00000| Untracked +| 204|0x00000000ecc00000, 0x00000000ecc00000, 0x00000000ecd00000| 0%| F| |TAMS 0x00000000ecc00000, 0x00000000ecc00000| Untracked +| 205|0x00000000ecd00000, 0x00000000ecd00000, 0x00000000ece00000| 0%| F| |TAMS 0x00000000ecd00000, 0x00000000ecd00000| Untracked +| 206|0x00000000ece00000, 0x00000000ece00000, 0x00000000ecf00000| 0%| F| |TAMS 0x00000000ece00000, 0x00000000ece00000| Untracked +| 207|0x00000000ecf00000, 0x00000000ecf00000, 0x00000000ed000000| 0%| F| |TAMS 0x00000000ecf00000, 0x00000000ecf00000| Untracked +| 208|0x00000000ed000000, 0x00000000ed000000, 0x00000000ed100000| 0%| F| |TAMS 0x00000000ed000000, 0x00000000ed000000| Untracked +| 209|0x00000000ed100000, 0x00000000ed100000, 0x00000000ed200000| 0%| F| |TAMS 0x00000000ed100000, 0x00000000ed100000| Untracked +| 210|0x00000000ed200000, 0x00000000ed200000, 0x00000000ed300000| 0%| F| |TAMS 0x00000000ed200000, 0x00000000ed200000| Untracked +| 211|0x00000000ed300000, 0x00000000ed300000, 0x00000000ed400000| 0%| F| |TAMS 0x00000000ed300000, 0x00000000ed300000| Untracked +| 212|0x00000000ed400000, 0x00000000ed400000, 0x00000000ed500000| 0%| F| |TAMS 0x00000000ed400000, 0x00000000ed400000| Untracked +| 213|0x00000000ed500000, 0x00000000ed500000, 0x00000000ed600000| 0%| F| |TAMS 0x00000000ed500000, 0x00000000ed500000| Untracked +| 214|0x00000000ed600000, 0x00000000ed600000, 0x00000000ed700000| 0%| F| |TAMS 0x00000000ed600000, 0x00000000ed600000| Untracked +| 215|0x00000000ed700000, 0x00000000ed700000, 0x00000000ed800000| 0%| F| |TAMS 0x00000000ed700000, 0x00000000ed700000| Untracked +| 216|0x00000000ed800000, 0x00000000ed800000, 0x00000000ed900000| 0%| F| |TAMS 0x00000000ed800000, 0x00000000ed800000| Untracked +| 217|0x00000000ed900000, 0x00000000ed900000, 0x00000000eda00000| 0%| F| |TAMS 0x00000000ed900000, 0x00000000ed900000| Untracked +| 218|0x00000000eda00000, 0x00000000eda00000, 0x00000000edb00000| 0%| F| |TAMS 0x00000000eda00000, 0x00000000eda00000| Untracked +| 219|0x00000000edb00000, 0x00000000edb00000, 0x00000000edc00000| 0%| F| |TAMS 0x00000000edb00000, 0x00000000edb00000| Untracked +| 220|0x00000000edc00000, 0x00000000edc00000, 0x00000000edd00000| 0%| F| |TAMS 0x00000000edc00000, 0x00000000edc00000| Untracked +| 221|0x00000000edd00000, 0x00000000edd00000, 0x00000000ede00000| 0%| F| |TAMS 0x00000000edd00000, 0x00000000edd00000| Untracked +| 222|0x00000000ede00000, 0x00000000ede00000, 0x00000000edf00000| 0%| F| |TAMS 0x00000000ede00000, 0x00000000ede00000| Untracked +| 223|0x00000000edf00000, 0x00000000edf00000, 0x00000000ee000000| 0%| F| |TAMS 0x00000000edf00000, 0x00000000edf00000| Untracked +| 224|0x00000000ee000000, 0x00000000ee000000, 0x00000000ee100000| 0%| F| |TAMS 0x00000000ee000000, 0x00000000ee000000| Untracked +| 225|0x00000000ee100000, 0x00000000ee100000, 0x00000000ee200000| 0%| F| |TAMS 0x00000000ee100000, 0x00000000ee100000| Untracked +| 226|0x00000000ee200000, 0x00000000ee200000, 0x00000000ee300000| 0%| F| |TAMS 0x00000000ee200000, 0x00000000ee200000| Untracked +| 227|0x00000000ee300000, 0x00000000ee300000, 0x00000000ee400000| 0%| F| |TAMS 0x00000000ee300000, 0x00000000ee300000| Untracked +| 228|0x00000000ee400000, 0x00000000ee400000, 0x00000000ee500000| 0%| F| |TAMS 0x00000000ee400000, 0x00000000ee400000| Untracked +| 229|0x00000000ee500000, 0x00000000ee500000, 0x00000000ee600000| 0%| F| |TAMS 0x00000000ee500000, 0x00000000ee500000| Untracked +| 230|0x00000000ee600000, 0x00000000ee600000, 0x00000000ee700000| 0%| F| |TAMS 0x00000000ee600000, 0x00000000ee600000| Untracked +| 231|0x00000000ee700000, 0x00000000ee700000, 0x00000000ee800000| 0%| F| |TAMS 0x00000000ee700000, 0x00000000ee700000| Untracked +| 232|0x00000000ee800000, 0x00000000ee800000, 0x00000000ee900000| 0%| F| |TAMS 0x00000000ee800000, 0x00000000ee800000| Untracked +| 233|0x00000000ee900000, 0x00000000ee900000, 0x00000000eea00000| 0%| F| |TAMS 0x00000000ee900000, 0x00000000ee900000| Untracked +| 234|0x00000000eea00000, 0x00000000eea00000, 0x00000000eeb00000| 0%| F| |TAMS 0x00000000eea00000, 0x00000000eea00000| Untracked +| 235|0x00000000eeb00000, 0x00000000eeb00000, 0x00000000eec00000| 0%| F| |TAMS 0x00000000eeb00000, 0x00000000eeb00000| Untracked +| 236|0x00000000eec00000, 0x00000000eec00000, 0x00000000eed00000| 0%| F| |TAMS 0x00000000eec00000, 0x00000000eec00000| Untracked +| 237|0x00000000eed00000, 0x00000000eed00000, 0x00000000eee00000| 0%| F| |TAMS 0x00000000eed00000, 0x00000000eed00000| Untracked +| 238|0x00000000eee00000, 0x00000000eee00000, 0x00000000eef00000| 0%| F| |TAMS 0x00000000eee00000, 0x00000000eee00000| Untracked +| 239|0x00000000eef00000, 0x00000000eef00000, 0x00000000ef000000| 0%| F| |TAMS 0x00000000eef00000, 0x00000000eef00000| Untracked +| 240|0x00000000ef000000, 0x00000000ef000000, 0x00000000ef100000| 0%| F| |TAMS 0x00000000ef000000, 0x00000000ef000000| Untracked +| 241|0x00000000ef100000, 0x00000000ef200000, 0x00000000ef200000|100%| E| |TAMS 0x00000000ef100000, 0x00000000ef100000| Complete +| 242|0x00000000ef200000, 0x00000000ef300000, 0x00000000ef300000|100%| E|CS|TAMS 0x00000000ef200000, 0x00000000ef200000| Complete +| 243|0x00000000ef300000, 0x00000000ef3fab70, 0x00000000ef400000| 97%| S|CS|TAMS 0x00000000ef300000, 0x00000000ef300000| Complete +| 244|0x00000000ef400000, 0x00000000ef500000, 0x00000000ef500000|100%| S|CS|TAMS 0x00000000ef400000, 0x00000000ef400000| Complete +| 245|0x00000000ef500000, 0x00000000ef600000, 0x00000000ef600000|100%| E|CS|TAMS 0x00000000ef500000, 0x00000000ef500000| Complete +| 246|0x00000000ef600000, 0x00000000ef700000, 0x00000000ef700000|100%| E|CS|TAMS 0x00000000ef600000, 0x00000000ef600000| Complete +| 247|0x00000000ef700000, 0x00000000ef800000, 0x00000000ef800000|100%| E|CS|TAMS 0x00000000ef700000, 0x00000000ef700000| Complete +| 248|0x00000000ef800000, 0x00000000ef900000, 0x00000000ef900000|100%| E|CS|TAMS 0x00000000ef800000, 0x00000000ef800000| Complete +| 249|0x00000000ef900000, 0x00000000efa00000, 0x00000000efa00000|100%| E|CS|TAMS 0x00000000ef900000, 0x00000000ef900000| Complete +| 250|0x00000000efa00000, 0x00000000efb00000, 0x00000000efb00000|100%| E|CS|TAMS 0x00000000efa00000, 0x00000000efa00000| Complete +| 251|0x00000000efb00000, 0x00000000efc00000, 0x00000000efc00000|100%| E|CS|TAMS 0x00000000efb00000, 0x00000000efb00000| Complete +| 252|0x00000000efc00000, 0x00000000efd00000, 0x00000000efd00000|100%| E|CS|TAMS 0x00000000efc00000, 0x00000000efc00000| Complete +| 253|0x00000000efd00000, 0x00000000efe00000, 0x00000000efe00000|100%| E|CS|TAMS 0x00000000efd00000, 0x00000000efd00000| Complete +| 254|0x00000000efe00000, 0x00000000eff00000, 0x00000000eff00000|100%| E|CS|TAMS 0x00000000efe00000, 0x00000000efe00000| Complete +| 255|0x00000000eff00000, 0x00000000f0000000, 0x00000000f0000000|100%| E|CS|TAMS 0x00000000eff00000, 0x00000000eff00000| Complete + +Card table byte_map: [0x000001e6505b0000,0x000001e6506b0000] _byte_map_base: 0x000001e64feb0000 + +Marking Bits (Prev, Next): (CMBitMap*) 0x000001e637953020, (CMBitMap*) 0x000001e637952fe8 + Prev Bits: [0x000001e650fb0000, 0x000001e6517b0000) + Next Bits: [0x000001e6507b0000, 0x000001e650fb0000) + +Polling page: 0x000001e635dd0000 + +Metaspace: + +Usage: + Non-class: 69.99 MB capacity, 68.11 MB ( 97%) used, 1.59 MB ( 2%) free+waste, 295.75 KB ( <1%) overhead. + Class: 11.30 MB capacity, 10.20 MB ( 90%) used, 980.73 KB ( 8%) free+waste, 142.25 KB ( 1%) overhead. + Both: 81.29 MB capacity, 78.31 MB ( 96%) used, 2.55 MB ( 3%) free+waste, 438.00 KB ( <1%) overhead. + +Virtual space: + Non-class space: 72.00 MB reserved, 70.08 MB ( 97%) committed + Class space: 248.00 MB reserved, 11.38 MB ( 5%) committed + Both: 320.00 MB reserved, 81.45 MB ( 25%) committed + +Chunk freelists: + Non-Class: 3.13 KB + Class: 2.13 KB + Both: 5.25 KB + +CodeHeap 'non-profiled nmethods': size=120000Kb used=6801Kb max_used=6801Kb free=113198Kb + bounds [0x000001e6482f0000, 0x000001e6489a0000, 0x000001e64f820000] +CodeHeap 'profiled nmethods': size=120000Kb used=21916Kb max_used=21916Kb free=98083Kb + bounds [0x000001e640dc0000, 0x000001e642330000, 0x000001e6482f0000] +CodeHeap 'non-nmethods': size=5760Kb used=2273Kb max_used=2346Kb free=3486Kb + bounds [0x000001e640820000, 0x000001e640a90000, 0x000001e640dc0000] + total_blobs=13226 nmethods=9795 adapters=783 + compilation: enabled + stopped_count=0, restarted_count=0 + full_count=0 + +Compilation events (10 events): +Event: 11.519 Thread 0x000001e657346000 nmethod 10040 0x000001e648974f90 code [0x000001e648975180, 0x000001e648976158] +Event: 11.519 Thread 0x000001e659ec6000 nmethod 9893 0x000001e648976710 code [0x000001e648976aa0, 0x000001e648979c00] +Event: 11.524 Thread 0x000001e654d0a800 10068 3 com.esotericsoftware.kryo.io.Output::writeByte (36 bytes) +Event: 11.524 Thread 0x000001e654d0a800 nmethod 10068 0x000001e642302190 code [0x000001e642302360, 0x000001e642302590] +Event: 11.528 Thread 0x000001e654d08800 10069 ! 4 java.util.zip.ZipFile::getMetaInfEntryNames (106 bytes) +Event: 11.533 Thread 0x000001e657346000 10070 ! 4 java.lang.StringCoding::decode (300 bytes) +Event: 11.534 Thread 0x000001e659ec6000 10071 4 java.lang.StringCoding::decodeUTF8 (45 bytes) +Event: 11.558 Thread 0x000001e659ec6000 nmethod 10071 0x000001e64897bd10 code [0x000001e64897bf40, 0x000001e64897ce90] +Event: 11.559 Thread 0x000001e654d08800 nmethod 10069 0x000001e64897d510 code [0x000001e64897d760, 0x000001e64897efe0] +Event: 11.578 Thread 0x000001e657346000 nmethod 10070 0x000001e64897fd10 code [0x000001e64897ffc0, 0x000001e648981d80] + +GC Heap History (10 events): +Event: 6.851 GC heap before +{Heap before GC invocations=8 (full 0): + garbage-first heap total 262144K, used 81155K [0x00000000e0000000, 0x0000000100000000) + region size 1024K, 59 young (60416K), 15 survivors (15360K) + Metaspace used 58543K, capacity 60078K, committed 60240K, reserved 307200K + class space used 7539K, capacity 8114K, committed 8192K, reserved 253952K +} +Event: 6.866 GC heap after +{Heap after GC invocations=9 (full 0): + garbage-first heap total 262144K, used 38013K [0x00000000e0000000, 0x0000000100000000) + region size 1024K, 7 young (7168K), 7 survivors (7168K) + Metaspace used 58543K, capacity 60078K, committed 60240K, reserved 307200K + class space used 7539K, capacity 8114K, committed 8192K, reserved 253952K +} +Event: 8.165 GC heap before +{Heap before GC invocations=10 (full 0): + garbage-first heap total 262144K, used 189565K [0x00000000e0000000, 0x0000000100000000) + region size 1024K, 152 young (155648K), 7 survivors (7168K) + Metaspace used 66453K, capacity 68388K, committed 68560K, reserved 313344K + class space used 8744K, capacity 9494K, committed 9600K, reserved 253952K +} +Event: 8.174 GC heap after +{Heap after GC invocations=11 (full 0): + garbage-first heap total 262144K, used 53922K [0x00000000e0000000, 0x0000000100000000) + region size 1024K, 19 young (19456K), 19 survivors (19456K) + Metaspace used 66453K, capacity 68388K, committed 68560K, reserved 313344K + class space used 8744K, capacity 9494K, committed 9600K, reserved 253952K +} +Event: 10.171 GC heap before +{Heap before GC invocations=11 (full 0): + garbage-first heap total 262144K, used 222882K [0x00000000e0000000, 0x0000000100000000) + region size 1024K, 153 young (156672K), 19 survivors (19456K) + Metaspace used 72722K, capacity 75403K, committed 75600K, reserved 319488K + class space used 9666K, capacity 10651K, committed 10752K, reserved 253952K +} +Event: 10.186 GC heap after +{Heap after GC invocations=12 (full 0): + garbage-first heap total 262144K, used 96081K [0x00000000e0000000, 0x0000000100000000) + region size 1024K, 11 young (11264K), 11 survivors (11264K) + Metaspace used 72722K, capacity 75403K, committed 75600K, reserved 319488K + class space used 9666K, capacity 10651K, committed 10752K, reserved 253952K +} +Event: 11.456 GC heap before +{Heap before GC invocations=12 (full 0): + garbage-first heap total 262144K, used 233297K [0x00000000e0000000, 0x0000000100000000) + region size 1024K, 119 young (121856K), 11 survivors (11264K) + Metaspace used 77873K, capacity 80806K, committed 81104K, reserved 325632K + class space used 10225K, capacity 11297K, committed 11392K, reserved 253952K +} +Event: 11.466 GC heap after +{Heap after GC invocations=13 (full 0): + garbage-first heap total 262144K, used 135080K [0x00000000e0000000, 0x0000000100000000) + region size 1024K, 12 young (12288K), 12 survivors (12288K) + Metaspace used 77873K, capacity 80806K, committed 81104K, reserved 325632K + class space used 10225K, capacity 11297K, committed 11392K, reserved 253952K +} +Event: 11.550 GC heap before +{Heap before GC invocations=13 (full 0): + garbage-first heap total 262144K, used 145320K [0x00000000e0000000, 0x0000000100000000) + region size 1024K, 23 young (23552K), 12 survivors (12288K) + Metaspace used 78770K, capacity 81785K, committed 82000K, reserved 325632K + class space used 10337K, capacity 11428K, committed 11520K, reserved 253952K +} +Event: 11.556 GC heap after +{Heap after GC invocations=14 (full 0): + garbage-first heap total 262144K, used 137095K [0x00000000e0000000, 0x0000000100000000) + region size 1024K, 2 young (2048K), 2 survivors (2048K) + Metaspace used 78770K, capacity 81785K, committed 82000K, reserved 325632K + class space used 10337K, capacity 11428K, committed 11520K, reserved 253952K +} + +Deoptimization events (10 events): +Event: 10.993 Thread 0x000001e656ff6000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e6488ed774 method=com.esotericsoftware.kryo.io.Input.require(I)I @ 65 c2 +Event: 11.102 Thread 0x000001e65887b800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e648801a4c method=java.lang.ThreadLocal.get()Ljava/lang/Object; @ 11 c2 +Event: 11.115 Thread 0x000001e656ff6000 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x000001e648594754 method=java.lang.Throwable.(Ljava/lang/String;Ljava/lang/Throwable;)V @ 24 c2 +Event: 11.130 Thread 0x000001e656ff6000 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x000001e648594754 method=java.lang.Throwable.(Ljava/lang/String;Ljava/lang/Throwable;)V @ 24 c2 +Event: 11.134 Thread 0x000001e656ff6000 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x000001e648594754 method=java.lang.Throwable.(Ljava/lang/String;Ljava/lang/Throwable;)V @ 24 c2 +Event: 11.428 Thread 0x000001e656ff6000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e6487aa1e0 method=groovy.lang.MetaClassImpl.checkIfStdMethod(Lgroovy/lang/MetaMethod;)V @ 167 c2 +Event: 11.442 Thread 0x000001e656ff6000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000001e6483c5978 method=groovy.lang.MetaMethod.isStatic()Z @ 1 c2 +Event: 11.443 Thread 0x000001e656ff6000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000001e6483c5978 method=groovy.lang.MetaMethod.isStatic()Z @ 1 c2 +Event: 11.444 Thread 0x000001e656ff6000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000001e6483c5978 method=groovy.lang.MetaMethod.isStatic()Z @ 1 c2 +Event: 11.445 Thread 0x000001e656ff6000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000001e6483c5978 method=groovy.lang.MetaMethod.isStatic()Z @ 1 c2 + +Classes redefined (0 events): +No events + +Internal exceptions (10 events): +Event: 11.482 Thread 0x000001e656ff6000 Exception (0x00000000efd1ce40) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231] +Event: 11.482 Thread 0x000001e656ff6000 Exception (0x00000000efd32560) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231] +Event: 11.487 Thread 0x000001e656ff6000 Exception (0x00000000efc6f7f0) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231] +Event: 11.487 Thread 0x000001e656ff6000 Exception (0x00000000efc78c48) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231] +Event: 11.487 Thread 0x000001e656ff6000 Exception (0x00000000efc82300) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231] +Event: 11.488 Thread 0x000001e656ff6000 Exception (0x00000000efca5d58) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231 +Event: 11.494 Thread 0x000001e656ff6000 Exception (0x00000000efb04938) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231] +Event: 11.495 Thread 0x000001e656ff6000 Exception (0x00000000efb15d20) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231 +Event: 11.499 Thread 0x000001e65887b800 Exception > (0x00000000efb883a0) thrown at [t:/workspace/open/src/hotspot/share/prims/jni.cpp, line 1364] +Event: 11.515 Thread 0x000001e65887b800 Exception > (0x00000000ef9891e8) thrown at [t:/workspace/open/src/hotspot/share/prims/jni.cpp, line 1364] + +Events (10 events): +Event: 11.550 Executing VM operation: G1CollectForAllocation +Event: 11.556 Executing VM operation: G1CollectForAllocation done +Event: 11.565 loading class kotlin/collections/ArraysKt___ArraysJvmKt +Event: 11.565 loading class kotlin/collections/ArraysKt___ArraysJvmKt done +Event: 11.566 loading class kotlin/collections/ArraysKt__ArraysKt +Event: 11.566 loading class kotlin/collections/ArraysKt__ArraysKt done +Event: 11.566 loading class kotlin/collections/ArraysKt__ArraysJVMKt +Event: 11.566 loading class kotlin/collections/ArraysKt__ArraysJVMKt done +Event: 11.579 loading class kotlin/collections/EmptyList +Event: 11.579 loading class kotlin/collections/EmptyList done + + +Dynamic libraries: +0x00007ff71f000000 - 0x00007ff71f045000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\java.exe +0x00007ff94d8f0000 - 0x00007ff94db04000 C:\WINDOWS\SYSTEM32\ntdll.dll +0x00007ff94b780000 - 0x00007ff94b842000 C:\WINDOWS\System32\KERNEL32.DLL +0x00007ff94acf0000 - 0x00007ff94b093000 C:\WINDOWS\System32\KERNELBASE.dll +0x00007ff94bfa0000 - 0x00007ff94c14b000 C:\WINDOWS\System32\USER32.dll +0x00007ff94b0a0000 - 0x00007ff94b0c6000 C:\WINDOWS\System32\win32u.dll +0x00007ff94d000000 - 0x00007ff94d029000 C:\WINDOWS\System32\GDI32.dll +0x00007ff94b270000 - 0x00007ff94b389000 C:\WINDOWS\System32\gdi32full.dll +0x00007ff94b630000 - 0x00007ff94b6ca000 C:\WINDOWS\System32\msvcp_win.dll +0x00007ff94b150000 - 0x00007ff94b261000 C:\WINDOWS\System32\ucrtbase.dll +0x00007ff93bfc0000 - 0x00007ff93c24e000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22621.1635_none_270f70857386168e\COMCTL32.dll +0x00007ff94cf50000 - 0x00007ff94cff7000 C:\WINDOWS\System32\msvcrt.dll +0x00007ff94cb40000 - 0x00007ff94cb71000 C:\WINDOWS\System32\IMM32.DLL +0x00007ff921b70000 - 0x00007ff921c14000 C:\Program Files\McAfee\Endpoint Security\Threat Prevention\Ips\EpMPApi.dll +0x00007ff94be60000 - 0x00007ff94bf77000 C:\WINDOWS\System32\RPCRT4.dll +0x00007ff94bc40000 - 0x00007ff94bcee000 C:\WINDOWS\System32\ADVAPI32.dll +0x00007ff94bd10000 - 0x00007ff94bdb4000 C:\WINDOWS\System32\sechost.dll +0x00007ff94b500000 - 0x00007ff94b56b000 C:\WINDOWS\System32\WINTRUST.dll +0x00007ff94b390000 - 0x00007ff94b4f7000 C:\WINDOWS\System32\CRYPT32.dll +0x00007ff94a560000 - 0x00007ff94a572000 C:\WINDOWS\SYSTEM32\MSASN1.dll +0x0000000072910000 - 0x000000007291c000 C:\Program Files\McAfee\Endpoint Security\Threat Prevention\Ips\EpMPThe.dll +0x00007ff921b10000 - 0x00007ff921b6b000 C:\Program Files\McAfee\Endpoint Security\Threat Prevention\Ips\HIPHandlers64.dll +0x00007ff94c810000 - 0x00007ff94c86e000 C:\WINDOWS\System32\SHLWAPI.dll +0x00007ff936300000 - 0x00007ff93652e000 C:\WINDOWS\SYSTEM32\dbghelp.dll +0x00007ff94b860000 - 0x00007ff94bbe9000 C:\WINDOWS\System32\combase.dll +0x00007ff94cce0000 - 0x00007ff94cdb7000 C:\WINDOWS\System32\OLEAUT32.dll +0x000001e637aa0000 - 0x000001e63829a000 C:\WINDOWS\System32\SHELL32.dll +0x00007ff9307b0000 - 0x00007ff9307c6000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\vcruntime140.dll +0x00007ff9270f0000 - 0x00007ff92719a000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\msvcp140.dll +0x00007ff8adfa0000 - 0x00007ff8aeac3000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\server\jvm.dll +0x00007ff94d8a0000 - 0x00007ff94d8a8000 C:\WINDOWS\System32\PSAPI.DLL +0x00007ff940470000 - 0x00007ff9404a4000 C:\WINDOWS\SYSTEM32\WINMM.dll +0x00007ff945750000 - 0x00007ff94575a000 C:\WINDOWS\SYSTEM32\VERSION.dll +0x00007ff935320000 - 0x00007ff935329000 C:\WINDOWS\SYSTEM32\WSOCK32.dll +0x00007ff94c790000 - 0x00007ff94c801000 C:\WINDOWS\System32\WS2_32.dll +0x00007ff949e30000 - 0x00007ff949e48000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll +0x00007ff9270d0000 - 0x00007ff9270e1000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\verify.dll +0x00007ff932090000 - 0x00007ff9320c2000 C:\WINDOWS\SYSTEM32\dbgcore.DLL +0x00007ff94b0d0000 - 0x00007ff94b14b000 C:\WINDOWS\System32\bcryptPrimitives.dll +0x00007ff9270a0000 - 0x00007ff9270c8000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\java.dll +0x00007ff927080000 - 0x00007ff927096000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\zip.dll +0x00007ff92be70000 - 0x00007ff92be7a000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\jimage.dll +0x00007ff948c20000 - 0x00007ff9494ee000 C:\WINDOWS\SYSTEM32\windows.storage.dll +0x00007ff9489e0000 - 0x00007ff948b1e000 C:\WINDOWS\SYSTEM32\wintypes.dll +0x00007ff94cdc0000 - 0x00007ff94ceb1000 C:\WINDOWS\System32\SHCORE.dll +0x00007ff94ac20000 - 0x00007ff94ac41000 C:\WINDOWS\SYSTEM32\profapi.dll +0x00007ff927060000 - 0x00007ff927079000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\net.dll +0x00007ff944420000 - 0x00007ff94460f000 C:\WINDOWS\SYSTEM32\urlmon.dll +0x00007ff944da0000 - 0x00007ff944ed7000 C:\WINDOWS\SYSTEM32\WINHTTP.dll +0x00007ff9404b0000 - 0x00007ff940761000 C:\WINDOWS\SYSTEM32\iertutil.dll +0x00007ff9499c0000 - 0x00007ff9499e8000 C:\WINDOWS\SYSTEM32\srvcli.dll +0x00007ff9499f0000 - 0x00007ff9499fc000 C:\WINDOWS\SYSTEM32\netutils.dll +0x00007ff94a2a0000 - 0x00007ff94a309000 C:\WINDOWS\system32\mswsock.dll +0x00007ff926fc0000 - 0x00007ff926fd3000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\nio.dll +0x00007ff92cd10000 - 0x00007ff92cd37000 C:\Users\dornier\.gradle\native\68d5fa5c4cc2d200863cafc0d521ce42e7d3e7ee720ec0a83991735586a16f82\windows-amd64\native-platform.dll +0x00007ff917640000 - 0x00007ff917784000 C:\Users\dornier\.gradle\native\e376f236ea51e6404a007f0833ffe2c6e607c4080706a723a18a27aeea778392\windows-amd64\native-platform-file-events.dll +0x00007ff93d930000 - 0x00007ff93d939000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\management.dll +0x00007ff93d220000 - 0x00007ff93d22c000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\management_ext.dll +0x00007ff94a500000 - 0x00007ff94a51b000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll +0x00007ff949da0000 - 0x00007ff949dd5000 C:\WINDOWS\system32\rsaenh.dll +0x00007ff94a3a0000 - 0x00007ff94a3c8000 C:\WINDOWS\SYSTEM32\USERENV.dll +0x00007ff94a690000 - 0x00007ff94a6b8000 C:\WINDOWS\SYSTEM32\bcrypt.dll +0x00007ff94a520000 - 0x00007ff94a52c000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll +0x00007ff949640000 - 0x00007ff94966d000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL +0x00007ff94bf90000 - 0x00007ff94bf99000 C:\WINDOWS\System32\NSI.dll +0x00007ff9450a0000 - 0x00007ff9450b9000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL +0x00007ff944ee0000 - 0x00007ff944eff000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL +0x00007ff949670000 - 0x00007ff949763000 C:\WINDOWS\SYSTEM32\DNSAPI.dll + +dbghelp: loaded successfully - version: 4.0.5 - missing functions: none +symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin;C:\WINDOWS\SYSTEM32;C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22621.1635_none_270f70857386168e;C:\Program Files\McAfee\Endpoint Security\Threat Prevention\Ips;C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\server;C:\Users\dornier\.gradle\native\68d5fa5c4cc2d200863cafc0d521ce42e7d3e7ee720ec0a83991735586a16f82\windows-amd64;C:\Users\dornier\.gradle\native\e376f236ea51e6404a007f0833ffe2c6e607c4080706a723a18a27aeea778392\windows-amd64 + +VM Arguments: +jvm_args: --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xms256m -Xmx512m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant +java_command: org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.0 +java_class_path (initial): C:\Users\dornier\.gradle\wrapper\dists\gradle-8.0-bin\ca5e32bp14vu59qr306oxotwh\gradle-8.0\lib\gradle-launcher-8.0.jar +Launcher Type: SUN_STANDARD + +[Global flags] + intx CICompilerCount = 4 {product} {ergonomic} + size_t CompressedClassSpaceSize = 260046848 {product} {ergonomic} + uint ConcGCThreads = 3 {product} {ergonomic} + uint G1ConcRefinementThreads = 10 {product} {ergonomic} + size_t G1HeapRegionSize = 1048576 {product} {ergonomic} + uintx GCDrainStackTargetSize = 64 {product} {ergonomic} + bool HeapDumpOnOutOfMemoryError = true {manageable} {command line} + size_t InitialHeapSize = 268435456 {product} {command line} + size_t MarkStackSize = 4194304 {product} {ergonomic} + size_t MaxHeapSize = 536870912 {product} {command line} + size_t MaxMetaspaceSize = 268435456 {product} {command line} + size_t MaxNewSize = 321912832 {product} {ergonomic} + size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic} + uintx NonNMethodCodeHeapSize = 5835340 {pd product} {ergonomic} + uintx NonProfiledCodeHeapSize = 122911450 {pd product} {ergonomic} + uintx ProfiledCodeHeapSize = 122911450 {pd product} {ergonomic} + uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} + bool SegmentedCodeCache = true {product} {ergonomic} + bool UseCompressedClassPointers = true {lp64_product} {ergonomic} + bool UseCompressedOops = true {lp64_product} {ergonomic} + bool UseG1GC = true {product} {ergonomic} + bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} + +Logging: +Log output configuration: + #0: stdout all=warning uptime,level,tags + #1: stderr all=off uptime,level,tags + +Environment Variables: +JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-11.0.2 +PATH=C:\Program Files\AdoptOpenJDK\jdk-8.0.282.8-hotspot\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Sennheiser\SenncomSDK\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files\Aspera\Client\bin\;C:\CI\xmllint\bin;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1\plugins\maven\lib\maven3\bin;C:\Program Files\dotnet\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\dornier\Miniconda3\condabin;C:\Program Files\Git\cmd;C:\Program Files\TortoiseGit\bin;C:\Users\dornier\AppData\Local\Microsoft\WindowsApps;C:\Users\dornier\.dotnet\tools;C:\Program Files\Jetraw\bin64\; +USERNAME=dornier +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 62 Stepping 4, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: Windows 10 , 64 bit Build 22621 (10.0.22621.1778) + +CPU:total 12 (initial active 12) (6 cores per cpu, 2 threads per core) family 6 model 62 stepping 4, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, clmul, erms, ht, tsc, tscinvbit + +Memory: 4k page, system-wide physical 20418M (6488M free) +TotalPageFile size 26306M (AvailPageFile size 3977M) +current process WorkingSet (physical memory assigned to process): 506M, peak: 507M +current process commit charge ("private bytes"): 559M, peak: 562M + +vm_info: OpenJDK 64-Bit Server VM (11.0.2+9) for windows-amd64 JRE (11.0.2+9), built on Jan 18 2019 05:23:22 by "mach5one" with MS VC++ 15.5 (VS2017) + +END. diff --git a/src/main/java/omero/gateway/facility/TransferFacilityHelper.java b/src/main/java/omero/gateway/facility/TransferFacilityHelper.java index e38c2b4d..6b806308 100644 --- a/src/main/java/omero/gateway/facility/TransferFacilityHelper.java +++ b/src/main/java/omero/gateway/facility/TransferFacilityHelper.java @@ -134,14 +134,11 @@ List downloadImage(SecurityContext context, String targetPath, if (image.isFSImage()) { for (Object tmp : filesets) { Fileset fs = (Fileset) tmp; - // File filesetDir = new File(targetPath+File.separator+"Fileset_"+fs.getId().getValue()); - // filesetDir.mkdir(); String repoPath = fs.getTemplatePrefix().getValue(); for (FilesetEntry fse: fs.copyUsedFiles()) { OriginalFile of = fse.getOriginalFile(); String ofDir = of.getPath().getValue().replace(repoPath, ""); - // File outDir = new File(filesetDir.getAbsolutePath()+File.separator+ofDir); File outDir = new File(targetPath+File.separator+ofDir); outDir.mkdirs(); File saved = saveOriginalFile(context, of, outDir); From df2602aa4a54e8fa38147847ec88ae9f7ad889a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Mon, 10 Jul 2023 14:55:57 +0200 Subject: [PATCH 18/44] Remove log files from git --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1e9c4d67..73c1c79f 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ /src/generated/* gradlew *.bat +*.log # Local configuration file (sdk path, etc) local.properties From 85968eac97e96ebb3039a6157a5ce6df5f266e5f Mon Sep 17 00:00:00 2001 From: Rdornier <64911638+Rdornier@users.noreply.github.com> Date: Mon, 10 Jul 2023 14:55:06 +0200 Subject: [PATCH 19/44] Delete hs_err_pid13244.log --- hs_err_pid13244.log | 938 -------------------------------------------- 1 file changed, 938 deletions(-) delete mode 100644 hs_err_pid13244.log diff --git a/hs_err_pid13244.log b/hs_err_pid13244.log deleted file mode 100644 index 71b1c0e4..00000000 --- a/hs_err_pid13244.log +++ /dev/null @@ -1,938 +0,0 @@ -# -# A fatal error has been detected by the Java Runtime Environment: -# -# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff8ae1a7e43, pid=13244, tid=22396 -# -# JRE version: OpenJDK Runtime Environment (11.0.2+9) (build 11.0.2+9) -# Java VM: OpenJDK 64-Bit Server VM (11.0.2+9, mixed mode, tiered, compressed oops, g1 gc, windows-amd64) -# Problematic frame: -# V [jvm.dll+0x207e43] -# -# No core dump will be written. Minidumps are not enabled by default on client versions of Windows -# -# If you would like to submit a bug report, please visit: -# http://bugreport.java.com/bugreport/crash.jsp -# - ---------------- S U M M A R Y ------------ - -Command Line: --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xms256m -Xmx512m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.0 - -Host: Intel(R) Core(TM) i7-4930K CPU @ 3.40GHz, 12 cores, 19G, Windows 10 , 64 bit Build 22621 (10.0.22621.1778) -Time: Mon Jul 10 14:08:04 2023 W. Europe Summer Time elapsed time: 11 seconds (0d 0h 0m 11s) - ---------------- T H R E A D --------------- - -Current thread (0x000001e655840800): ConcurrentGCThread "G1 Conc#1" [stack: 0x00000074dea00000,0x00000074deb00000] [id=22396] - -Stack: [0x00000074dea00000,0x00000074deb00000], sp=0x00000074deaff260, free space=1020k -Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) -V [jvm.dll+0x207e43] -V [jvm.dll+0x207d22] -V [jvm.dll+0x20636d] -V [jvm.dll+0x205b81] -V [jvm.dll+0x2fa069] -V [jvm.dll+0x2f8c76] -V [jvm.dll+0x2fa6ac] -V [jvm.dll+0x2f95b7] -V [jvm.dll+0x2fd0c6] -V [jvm.dll+0x7a4000] -V [jvm.dll+0x633942] -C [ucrtbase.dll+0x29363] -C [KERNEL32.DLL+0x126ad] -C [ntdll.dll+0x5a9f8] - - -siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x0000000000000160 - - -Register to memory mapping: - -RIP=0x00007ff8ae1a7e43 jvm.dll -RAX=0x000001e637945800 points into unknown readable memory: 00 00 00 00 00 00 00 00 -RBX=0x000001e637959a20 points into unknown readable memory: 80 b1 81 ae f8 7f 00 00 -RCX=0x0000000000000014 is an unknown value -RDX=0x0 is NULL -RSP=0x00000074deaff260 points into unknown readable memory: 00 00 00 00 00 00 00 00 -RBP=0x00000074deaff458 points into unknown readable memory: 00 b1 81 ae f8 7f 00 00 -RSI=0x0000000000000020 is an unknown value -RDI=0x0000000000000020 is an unknown value -R8 =0x0000000000000020 is an unknown value -R9 =0x0 is NULL -R10=0x0 is NULL -R11=0x346dc5d63886594b is an unknown value -R12=0x0 is NULL -R13=0x000001e637952fd0 points into unknown readable memory: 00 60 95 37 e6 01 00 00 -R14=0x000000010059df98 is a pointer to class: -R15=0x0 is NULL - - -Registers: -RAX=0x000001e637945800, RBX=0x000001e637959a20, RCX=0x0000000000000014, RDX=0x0000000000000000 -RSP=0x00000074deaff260, RBP=0x00000074deaff458, RSI=0x0000000000000020, RDI=0x0000000000000020 -R8 =0x0000000000000020, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x346dc5d63886594b -R12=0x0000000000000000, R13=0x000001e637952fd0, R14=0x000000010059df98, R15=0x0000000000000000 -RIP=0x00007ff8ae1a7e43, EFLAGS=0x0000000000010246 - -Top of Stack: (sp=0x00000074deaff260) -0x00000074deaff260: 0000000000000000 00007ff8ae1a7f3b -0x00000074deaff270: 01d9b32729151e60 0000000000000000 -0x00000074deaff280: 000000010059df98 00000000e48aa200 -0x00000074deaff290: 0000000000000000 000001e637959b60 -0x00000074deaff2a0: 000000010059df90 00007ff8ae1a7d22 -0x00000074deaff2b0: 000001e637959a20 00000074deaff458 -0x00000074deaff2c0: 00000000e1253b98 00000074deaff458 -0x00000074deaff2d0: 00000000e48aa238 00007ff8ae1a636d -0x00000074deaff2e0: 00000000e48aa238 00000000e48aa230 -0x00000074deaff2f0: 0000000000000003 00000000e48af424 -0x00000074deaff300: 000001e657311701 000001e637952fe8 -0x00000074deaff310: 000000010059dd88 00007ff8ae1a5b81 -0x00000074deaff320: 0000000000000007 00000074deaff458 -0x00000074deaff330: 00000000e48aa200 000001e637959a20 -0x00000074deaff340: 000001e637959a20 00007ff8ae29a069 -0x00000074deaff350: 00000000e48aa200 0000000000000000 - -Instructions: (pc=0x00007ff8ae1a7e43) -0x00007ff8ae1a7e23: 4d 8b d0 44 8b e2 4d 8b f9 49 8b f0 8b 88 c0 02 -0x00007ff8ae1a7e33: 00 00 48 8b 80 b0 02 00 00 49 d3 ea 4e 8b 14 d0 -0x00007ff8ae1a7e43: 4d 3b 82 60 01 00 00 72 0e 32 c0 48 83 c4 28 41 -0x00007ff8ae1a7e53: 5f 41 5d 41 5c 5e c3 49 8b 85 90 00 00 00 48 8b - - -Stack slot to memory mapping: -stack at sp + 0 slots: 0x0 is NULL -stack at sp + 1 slots: 0x00007ff8ae1a7f3b jvm.dll -stack at sp + 2 slots: 0x01d9b32729151e60 is an unknown value -stack at sp + 3 slots: 0x0 is NULL -stack at sp + 4 slots: 0x000000010059df98 is a pointer to class: -stack at sp + 5 slots: 0x00000000e48aa200 is an oop: org.codehaus.groovy.runtime.metaclass.MetaMethodIndex$Entry -{0x00000000e48aa200} - klass: 'org/codehaus/groovy/runtime/metaclass/MetaMethodIndex$Entry' -stack at sp + 6 slots: 0x0 is NULL -stack at sp + 7 slots: 0x000001e637959b60 points into unknown readable memory: 80 f4 85 ae f8 7f 00 00 - - ---------------- P R O C E S S --------------- - -Threads class SMR info: -_java_thread_list=0x000001e65a857520, length=183, elements={ -0x000001e63792c800, 0x000001e654c9f800, 0x000001e654cad000, 0x000001e654d06800, -0x000001e654d07800, 0x000001e654d08800, 0x000001e654d0a800, 0x000001e654d0d800, -0x000001e654e73000, 0x000001e654e96800, 0x000001e658b95800, 0x000001e656e83000, -0x000001e6551ff800, 0x000001e6567aa000, 0x000001e656ff6000, 0x000001e6572d6800, -0x000001e6572d3000, 0x000001e6572d4000, 0x000001e657346000, 0x000001e6572d2800, -0x000001e6572d5800, 0x000001e6572d1800, 0x000001e657367000, 0x000001e659ec6000, -0x000001e65736c000, 0x000001e657368000, 0x000001e657369000, 0x000001e657369800, -0x000001e65736a800, 0x000001e65736d000, 0x000001e65cf41000, 0x000001e659f82800, -0x000001e659f84800, 0x000001e659f83800, 0x000001e659f86000, 0x000001e659f85000, -0x000001e659f87000, 0x000001e659f81000, 0x000001e65cf46000, 0x000001e65cf42000, -0x000001e65cf43800, 0x000001e65cf42800, 0x000001e65cf44800, 0x000001e65cf45000, -0x000001e65cf40800, 0x000001e65cf4a000, 0x000001e65cf48800, 0x000001e65cf47800, -0x000001e65cf49800, 0x000001e65cf4b000, 0x000001e65cf4b800, 0x000001e65cf4c800, -0x000001e65cf47000, 0x000001e65cf4d800, 0x000001e65cf4e000, 0x000001e65cf4f000, -0x000001e659f87800, 0x000001e659f82000, 0x000001e659f88800, 0x000001e659f8c800, -0x000001e659f8b000, 0x000001e659f8f000, 0x000001e659f8b800, 0x000001e659f8d800, -0x000001e659f89800, 0x000001e659f8e000, 0x000001e659f90000, 0x000001e659f8a000, -0x000001e6572d5000, 0x000001e6572d7800, 0x000001e6572d8000, 0x000001e65736b800, -0x000001e65b85f800, 0x000001e65b85f000, 0x000001e65b860800, 0x000001e65b862000, -0x000001e65b861800, 0x000001e65b85d000, 0x000001e65b863000, 0x000001e65b863800, -0x000001e65b85e000, 0x000001e65a68d800, 0x000001e65a68d000, 0x000001e65a68e800, -0x000001e65a692000, 0x000001e65a68f800, 0x000001e65a691000, 0x000001e65a690000, -0x000001e65a68c000, 0x000001e65a696800, 0x000001e65a697800, 0x000001e65a693800, -0x000001e65a695000, 0x000001e65a696000, 0x000001e65a698800, 0x000001e65a692800, -0x000001e65a694800, 0x000001e65a699000, 0x000001e65a69a000, 0x000001e65a69b000, -0x000001e65bf08000, 0x000001e65bf08800, 0x000001e65bf09800, 0x000001e65bf0a800, -0x000001e65bf04800, 0x000001e65bf0b000, 0x000001e65bf05800, 0x000001e65bf0c000, -0x000001e65bf06800, 0x000001e65bf0d000, 0x000001e65bf07000, 0x000001e65bf11800, -0x000001e65bf0f000, 0x000001e65bf10000, 0x000001e65bf12800, 0x000001e65bf11000, -0x000001e65bf13800, 0x000001e65bf0d800, 0x000001e65bf0e800, 0x000001e655d23800, -0x000001e655d1d800, 0x000001e655d22000, 0x000001e655d1f800, 0x000001e655d24800, -0x000001e655d20000, 0x000001e655d21000, 0x000001e655d22800, 0x000001e655d1e800, -0x000001e655d27800, 0x000001e655d29000, 0x000001e655d2a000, 0x000001e655d25000, -0x000001e655d26000, 0x000001e655d2b000, 0x000001e655d2b800, 0x000001e655d2c800, -0x000001e655d28800, 0x000001e655d26800, 0x000001e6551bb000, 0x000001e6551b7800, -0x000001e6551b5000, 0x000001e6551ba000, 0x000001e6551b8800, 0x000001e6551b7000, -0x000001e6551bb800, 0x000001e6551b6000, 0x000001e6551bf000, 0x000001e6551bc800, -0x000001e6551b9000, 0x000001e6551c0000, 0x000001e6551c0800, 0x000001e6551bd800, -0x000001e6551c4000, 0x000001e6551be000, 0x000001e6551c2000, 0x000001e6551c1800, -0x000001e6551c3000, 0x000001e65d6ba000, 0x000001e65d6b8000, 0x000001e65d6b8800, -0x000001e65d6b9800, 0x000001e65d6b7000, 0x000001e65d6bb000, 0x000001e65d6bc000, -0x000001e65d6b6000, 0x000001e65d6c1800, 0x000001e65d6bf000, 0x000001e65d6bc800, -0x000001e65d6be800, 0x000001e65d6c0000, 0x000001e65d6c0800, 0x000001e65d6c2800, -0x000001e65d6c3000, 0x000001e65d6bd800, 0x000001e65d6c4000, 0x000001e65d6c5000, -0x000001e658878000, 0x000001e658879000, 0x000001e65887a000, 0x000001e65887c800, -0x000001e65887a800, 0x000001e658877800, 0x000001e65887b800 -} - -Java Threads: ( => current thread ) - 0x000001e63792c800 JavaThread "main" [_thread_blocked, id=21760, stack(0x00000074dc400000,0x00000074dc500000)] - 0x000001e654c9f800 JavaThread "Reference Handler" daemon [_thread_blocked, id=20260, stack(0x00000074dcb00000,0x00000074dcc00000)] - 0x000001e654cad000 JavaThread "Finalizer" daemon [_thread_blocked, id=22420, stack(0x00000074dcc00000,0x00000074dcd00000)] - 0x000001e654d06800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=5556, stack(0x00000074dcd00000,0x00000074dce00000)] - 0x000001e654d07800 JavaThread "Attach Listener" daemon [_thread_blocked, id=20640, stack(0x00000074dce00000,0x00000074dcf00000)] - 0x000001e654d08800 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=15316, stack(0x00000074dcf00000,0x00000074dd000000)] - 0x000001e654d0a800 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=14716, stack(0x00000074dd000000,0x00000074dd100000)] - 0x000001e654d0d800 JavaThread "Sweeper thread" daemon [_thread_blocked, id=19960, stack(0x00000074dd100000,0x00000074dd200000)] - 0x000001e654e73000 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=20984, stack(0x00000074dd200000,0x00000074dd300000)] - 0x000001e654e96800 JavaThread "Service Thread" daemon [_thread_blocked, id=20312, stack(0x00000074dd300000,0x00000074dd400000)] - 0x000001e658b95800 JavaThread "Daemon health stats" [_thread_blocked, id=6916, stack(0x00000074ddc00000,0x00000074ddd00000)] - 0x000001e656e83000 JavaThread "Incoming local TCP Connector on port 57726" [_thread_in_native, id=21296, stack(0x00000074dd500000,0x00000074dd600000)] - 0x000001e6551ff800 JavaThread "Daemon periodic checks" [_thread_blocked, id=15148, stack(0x00000074ddb00000,0x00000074ddc00000)] - 0x000001e6567aa000 JavaThread "Daemon" [_thread_blocked, id=20364, stack(0x00000074ddd00000,0x00000074dde00000)] - 0x000001e656ff6000 JavaThread "Daemon worker" [_thread_in_Java, id=7268, stack(0x00000074de000000,0x00000074de100000)] - 0x000001e6572d6800 JavaThread "Cache worker for journal cache (C:\Users\dornier\.gradle\caches\journal-1)" [_thread_blocked, id=1632, stack(0x00000074de400000,0x00000074de500000)] - 0x000001e6572d3000 JavaThread "File lock request listener" [_thread_in_native, id=9132, stack(0x00000074de500000,0x00000074de600000)] - 0x000001e6572d4000 JavaThread "Cache worker for file hash cache (C:\Users\dornier\.gradle\caches\8.0\fileHashes)" [_thread_blocked, id=14872, stack(0x00000074dec00000,0x00000074ded00000)] - 0x000001e657346000 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=21596, stack(0x00000074ded00000,0x00000074dee00000)] - 0x000001e6572d2800 JavaThread "File watcher server" daemon [_thread_in_native, id=19592, stack(0x00000074dee00000,0x00000074def00000)] - 0x000001e6572d5800 JavaThread "File watcher consumer" daemon [_thread_blocked, id=14292, stack(0x00000074def00000,0x00000074df000000)] - 0x000001e6572d1800 JavaThread "Cache worker for file content cache (C:\Users\dornier\.gradle\caches\8.0\fileContent)" [_thread_blocked, id=10520, stack(0x00000074df200000,0x00000074df300000)] - 0x000001e657367000 JavaThread "Cache worker for execution history cache (C:\Users\dornier\.gradle\caches\8.0\executionHistory)" [_thread_blocked, id=22056, stack(0x00000074df500000,0x00000074df600000)] - 0x000001e659ec6000 JavaThread "C2 CompilerThread2" daemon [_thread_in_native, id=16404, stack(0x00000074df600000,0x00000074df700000)] - 0x000001e65736c000 JavaThread "jar transforms" [_thread_blocked, id=10388, stack(0x00000074df700000,0x00000074df800000)] - 0x000001e657368000 JavaThread "jar transforms Thread 2" [_thread_blocked, id=19856, stack(0x00000074df800000,0x00000074df900000)] - 0x000001e657369000 JavaThread "jar transforms Thread 3" [_thread_blocked, id=10216, stack(0x00000074df900000,0x00000074dfa00000)] - 0x000001e657369800 JavaThread "jar transforms Thread 4" [_thread_blocked, id=1428, stack(0x00000074dfa00000,0x00000074dfb00000)] - 0x000001e65736a800 JavaThread "jar transforms Thread 5" [_thread_blocked, id=16448, stack(0x00000074dfb00000,0x00000074dfc00000)] - 0x000001e65736d000 JavaThread "jar transforms Thread 6" [_thread_blocked, id=20012, stack(0x00000074dfc00000,0x00000074dfd00000)] - 0x000001e65cf41000 JavaThread "jar transforms Thread 7" [_thread_blocked, id=21692, stack(0x00000074dfe00000,0x00000074dff00000)] - 0x000001e659f82800 JavaThread "jar transforms Thread 8" [_thread_blocked, id=20320, stack(0x00000074e5c00000,0x00000074e5d00000)] - 0x000001e659f84800 JavaThread "jar transforms Thread 9" [_thread_blocked, id=21260, stack(0x00000074e5d00000,0x00000074e5e00000)] - 0x000001e659f83800 JavaThread "jar transforms Thread 10" [_thread_blocked, id=8168, stack(0x00000074e5e00000,0x00000074e5f00000)] - 0x000001e659f86000 JavaThread "jar transforms Thread 11" [_thread_blocked, id=22016, stack(0x00000074e5f00000,0x00000074e6000000)] - 0x000001e659f85000 JavaThread "jar transforms Thread 12" [_thread_blocked, id=19700, stack(0x00000074e6000000,0x00000074e6100000)] - 0x000001e659f87000 JavaThread "Memory manager" [_thread_blocked, id=15936, stack(0x00000074e6100000,0x00000074e6200000)] - 0x000001e659f81000 JavaThread "included builds" [_thread_blocked, id=21256, stack(0x00000074e6200000,0x00000074e6300000)] - 0x000001e65cf46000 JavaThread "Handler for socket connection from /127.0.0.1:57726 to /127.0.0.1:57745" [_thread_in_native, id=9088, stack(0x00000074dde00000,0x00000074ddf00000)] - 0x000001e65cf42000 JavaThread "Cancel handler" [_thread_blocked, id=19608, stack(0x00000074ddf00000,0x00000074de000000)] - 0x000001e65cf43800 JavaThread "Asynchronous log dispatcher for DefaultDaemonConnection: socket connection from /127.0.0.1:57726 to /127.0.0.1:57745" [_thread_blocked, id=14316, stack(0x00000074de100000,0x00000074de200000)] - 0x000001e65cf42800 JavaThread "Stdin handler" [_thread_blocked, id=11020, stack(0x00000074de200000,0x00000074de300000)] - 0x000001e65cf44800 JavaThread "Daemon client event forwarder" [_thread_blocked, id=19864, stack(0x00000074de300000,0x00000074de400000)] - 0x000001e65cf45000 JavaThread "Cache worker for checksums cache (D:\Remy\OMERO\omero-gateway-java\.gradle\8.0\checksums)" [_thread_blocked, id=9188, stack(0x00000074df000000,0x00000074df100000)] - 0x000001e65cf40800 JavaThread "Cache worker for cache directory md-rule (C:\Users\dornier\.gradle\caches\8.0\md-rule)" [_thread_blocked, id=7300, stack(0x00000074df100000,0x00000074df200000)] - 0x000001e65cf4a000 JavaThread "Cache worker for file hash cache (D:\Remy\OMERO\omero-gateway-java\.gradle\8.0\fileHashes)" [_thread_blocked, id=19776, stack(0x00000074df300000,0x00000074df400000)] - 0x000001e65cf48800 JavaThread "Cache worker for cache directory md-supplier (C:\Users\dornier\.gradle\caches\8.0\md-supplier)" [_thread_blocked, id=6672, stack(0x00000074df400000,0x00000074df500000)] - 0x000001e65cf47800 JavaThread "Cache worker for dependencies-accessors (D:\Remy\OMERO\omero-gateway-java\.gradle\8.0\dependencies-accessors)" [_thread_blocked, id=11096, stack(0x00000074dfd00000,0x00000074dfe00000)] - 0x000001e65cf49800 JavaThread "Cache worker for Build Output Cleanup Cache (D:\Remy\OMERO\omero-gateway-java\.gradle\buildOutputCleanup)" [_thread_blocked, id=20016, stack(0x00000074dff00000,0x00000074e0000000)] - 0x000001e65cf4b000 JavaThread "Unconstrained build operations" [_thread_blocked, id=21712, stack(0x00000074e0000000,0x00000074e0100000)] - 0x000001e65cf4b800 JavaThread "Unconstrained build operations Thread 2" [_thread_blocked, id=21424, stack(0x00000074e0100000,0x00000074e0200000)] - 0x000001e65cf4c800 JavaThread "Unconstrained build operations Thread 3" [_thread_blocked, id=19544, stack(0x00000074e0200000,0x00000074e0300000)] - 0x000001e65cf47000 JavaThread "Unconstrained build operations Thread 4" [_thread_blocked, id=17572, stack(0x00000074e0300000,0x00000074e0400000)] - 0x000001e65cf4d800 JavaThread "Unconstrained build operations Thread 5" [_thread_blocked, id=22312, stack(0x00000074e0400000,0x00000074e0500000)] - 0x000001e65cf4e000 JavaThread "Unconstrained build operations Thread 6" [_thread_blocked, id=21772, stack(0x00000074e0500000,0x00000074e0600000)] - 0x000001e65cf4f000 JavaThread "Unconstrained build operations Thread 7" [_thread_blocked, id=1660, stack(0x00000074e0600000,0x00000074e0700000)] - 0x000001e659f87800 JavaThread "Unconstrained build operations Thread 8" [_thread_blocked, id=5460, stack(0x00000074e0700000,0x00000074e0800000)] - 0x000001e659f82000 JavaThread "Unconstrained build operations Thread 9" [_thread_blocked, id=12720, stack(0x00000074e0800000,0x00000074e0900000)] - 0x000001e659f88800 JavaThread "Unconstrained build operations Thread 10" [_thread_blocked, id=19648, stack(0x00000074e0900000,0x00000074e0a00000)] - 0x000001e659f8c800 JavaThread "Unconstrained build operations Thread 11" [_thread_blocked, id=21152, stack(0x00000074e0a00000,0x00000074e0b00000)] - 0x000001e659f8b000 JavaThread "Unconstrained build operations Thread 12" [_thread_blocked, id=9624, stack(0x00000074e0b00000,0x00000074e0c00000)] - 0x000001e659f8f000 JavaThread "Unconstrained build operations Thread 13" [_thread_blocked, id=1932, stack(0x00000074e0c00000,0x00000074e0d00000)] - 0x000001e659f8b800 JavaThread "Unconstrained build operations Thread 14" [_thread_blocked, id=14992, stack(0x00000074e0d00000,0x00000074e0e00000)] - 0x000001e659f8d800 JavaThread "Unconstrained build operations Thread 15" [_thread_blocked, id=21300, stack(0x00000074e0e00000,0x00000074e0f00000)] - 0x000001e659f89800 JavaThread "Unconstrained build operations Thread 16" [_thread_blocked, id=5080, stack(0x00000074e0f00000,0x00000074e1000000)] - 0x000001e659f8e000 JavaThread "Unconstrained build operations Thread 17" [_thread_blocked, id=19668, stack(0x00000074e1000000,0x00000074e1100000)] - 0x000001e659f90000 JavaThread "Unconstrained build operations Thread 18" [_thread_blocked, id=13560, stack(0x00000074e1100000,0x00000074e1200000)] - 0x000001e659f8a000 JavaThread "Unconstrained build operations Thread 19" [_thread_blocked, id=19612, stack(0x00000074e1200000,0x00000074e1300000)] - 0x000001e6572d5000 JavaThread "Unconstrained build operations Thread 20" [_thread_blocked, id=21876, stack(0x00000074e1300000,0x00000074e1400000)] - 0x000001e6572d7800 JavaThread "Unconstrained build operations Thread 21" [_thread_blocked, id=10072, stack(0x00000074e1400000,0x00000074e1500000)] - 0x000001e6572d8000 JavaThread "Unconstrained build operations Thread 22" [_thread_blocked, id=21156, stack(0x00000074e1500000,0x00000074e1600000)] - 0x000001e65736b800 JavaThread "Unconstrained build operations Thread 23" [_thread_blocked, id=12188, stack(0x00000074e1600000,0x00000074e1700000)] - 0x000001e65b85f800 JavaThread "Unconstrained build operations Thread 24" [_thread_blocked, id=18836, stack(0x00000074e1700000,0x00000074e1800000)] - 0x000001e65b85f000 JavaThread "Unconstrained build operations Thread 25" [_thread_blocked, id=18216, stack(0x00000074e1800000,0x00000074e1900000)] - 0x000001e65b860800 JavaThread "Unconstrained build operations Thread 26" [_thread_blocked, id=20088, stack(0x00000074e1900000,0x00000074e1a00000)] - 0x000001e65b862000 JavaThread "Unconstrained build operations Thread 27" [_thread_blocked, id=10092, stack(0x00000074e1a00000,0x00000074e1b00000)] - 0x000001e65b861800 JavaThread "Unconstrained build operations Thread 28" [_thread_blocked, id=21852, stack(0x00000074e1b00000,0x00000074e1c00000)] - 0x000001e65b85d000 JavaThread "Unconstrained build operations Thread 29" [_thread_blocked, id=9524, stack(0x00000074e1c00000,0x00000074e1d00000)] - 0x000001e65b863000 JavaThread "Unconstrained build operations Thread 30" [_thread_blocked, id=5008, stack(0x00000074e1d00000,0x00000074e1e00000)] - 0x000001e65b863800 JavaThread "Unconstrained build operations Thread 31" [_thread_blocked, id=13760, stack(0x00000074e1e00000,0x00000074e1f00000)] - 0x000001e65b85e000 JavaThread "Unconstrained build operations Thread 32" [_thread_blocked, id=1376, stack(0x00000074e1f00000,0x00000074e2000000)] - 0x000001e65a68d800 JavaThread "Unconstrained build operations Thread 33" [_thread_blocked, id=9136, stack(0x00000074e2000000,0x00000074e2100000)] - 0x000001e65a68d000 JavaThread "Unconstrained build operations Thread 34" [_thread_blocked, id=21956, stack(0x00000074e2100000,0x00000074e2200000)] - 0x000001e65a68e800 JavaThread "Unconstrained build operations Thread 35" [_thread_blocked, id=11668, stack(0x00000074e2200000,0x00000074e2300000)] - 0x000001e65a692000 JavaThread "Unconstrained build operations Thread 36" [_thread_blocked, id=20888, stack(0x00000074e2300000,0x00000074e2400000)] - 0x000001e65a68f800 JavaThread "Unconstrained build operations Thread 37" [_thread_blocked, id=18428, stack(0x00000074e2400000,0x00000074e2500000)] - 0x000001e65a691000 JavaThread "Unconstrained build operations Thread 38" [_thread_blocked, id=21768, stack(0x00000074e2500000,0x00000074e2600000)] - 0x000001e65a690000 JavaThread "Unconstrained build operations Thread 39" [_thread_blocked, id=20844, stack(0x00000074e2600000,0x00000074e2700000)] - 0x000001e65a68c000 JavaThread "Unconstrained build operations Thread 40" [_thread_blocked, id=19712, stack(0x00000074e2700000,0x00000074e2800000)] - 0x000001e65a696800 JavaThread "Unconstrained build operations Thread 41" [_thread_blocked, id=18144, stack(0x00000074e2800000,0x00000074e2900000)] - 0x000001e65a697800 JavaThread "Unconstrained build operations Thread 42" [_thread_blocked, id=22428, stack(0x00000074e2900000,0x00000074e2a00000)] - 0x000001e65a693800 JavaThread "Unconstrained build operations Thread 43" [_thread_blocked, id=15756, stack(0x00000074e2a00000,0x00000074e2b00000)] - 0x000001e65a695000 JavaThread "Unconstrained build operations Thread 44" [_thread_blocked, id=19368, stack(0x00000074e2b00000,0x00000074e2c00000)] - 0x000001e65a696000 JavaThread "Unconstrained build operations Thread 45" [_thread_blocked, id=2992, stack(0x00000074e2c00000,0x00000074e2d00000)] - 0x000001e65a698800 JavaThread "Unconstrained build operations Thread 46" [_thread_blocked, id=14988, stack(0x00000074e2d00000,0x00000074e2e00000)] - 0x000001e65a692800 JavaThread "Unconstrained build operations Thread 47" [_thread_blocked, id=11896, stack(0x00000074e2e00000,0x00000074e2f00000)] - 0x000001e65a694800 JavaThread "Unconstrained build operations Thread 48" [_thread_blocked, id=16576, stack(0x00000074e2f00000,0x00000074e3000000)] - 0x000001e65a699000 JavaThread "Unconstrained build operations Thread 49" [_thread_blocked, id=15472, stack(0x00000074e3000000,0x00000074e3100000)] - 0x000001e65a69a000 JavaThread "Unconstrained build operations Thread 50" [_thread_blocked, id=20004, stack(0x00000074e3100000,0x00000074e3200000)] - 0x000001e65a69b000 JavaThread "Unconstrained build operations Thread 51" [_thread_blocked, id=21376, stack(0x00000074e3200000,0x00000074e3300000)] - 0x000001e65bf08000 JavaThread "Unconstrained build operations Thread 52" [_thread_blocked, id=20448, stack(0x00000074e3300000,0x00000074e3400000)] - 0x000001e65bf08800 JavaThread "Unconstrained build operations Thread 53" [_thread_blocked, id=15488, stack(0x00000074e3400000,0x00000074e3500000)] - 0x000001e65bf09800 JavaThread "Unconstrained build operations Thread 54" [_thread_blocked, id=21308, stack(0x00000074e3500000,0x00000074e3600000)] - 0x000001e65bf0a800 JavaThread "Unconstrained build operations Thread 55" [_thread_blocked, id=7432, stack(0x00000074e3600000,0x00000074e3700000)] - 0x000001e65bf04800 JavaThread "Unconstrained build operations Thread 56" [_thread_blocked, id=21336, stack(0x00000074e3700000,0x00000074e3800000)] - 0x000001e65bf0b000 JavaThread "Unconstrained build operations Thread 57" [_thread_blocked, id=2500, stack(0x00000074e3800000,0x00000074e3900000)] - 0x000001e65bf05800 JavaThread "Unconstrained build operations Thread 58" [_thread_blocked, id=11420, stack(0x00000074e3900000,0x00000074e3a00000)] - 0x000001e65bf0c000 JavaThread "Unconstrained build operations Thread 59" [_thread_blocked, id=21476, stack(0x00000074e3a00000,0x00000074e3b00000)] - 0x000001e65bf06800 JavaThread "Unconstrained build operations Thread 60" [_thread_blocked, id=21640, stack(0x00000074e3b00000,0x00000074e3c00000)] - 0x000001e65bf0d000 JavaThread "Unconstrained build operations Thread 61" [_thread_blocked, id=20048, stack(0x00000074e3c00000,0x00000074e3d00000)] - 0x000001e65bf07000 JavaThread "Unconstrained build operations Thread 62" [_thread_blocked, id=7532, stack(0x00000074e3d00000,0x00000074e3e00000)] - 0x000001e65bf11800 JavaThread "Unconstrained build operations Thread 63" [_thread_blocked, id=22320, stack(0x00000074e3e00000,0x00000074e3f00000)] - 0x000001e65bf0f000 JavaThread "Unconstrained build operations Thread 64" [_thread_blocked, id=22228, stack(0x00000074e3f00000,0x00000074e4000000)] - 0x000001e65bf10000 JavaThread "Unconstrained build operations Thread 65" [_thread_blocked, id=22052, stack(0x00000074e4000000,0x00000074e4100000)] - 0x000001e65bf12800 JavaThread "Unconstrained build operations Thread 66" [_thread_blocked, id=19660, stack(0x00000074e4100000,0x00000074e4200000)] - 0x000001e65bf11000 JavaThread "Unconstrained build operations Thread 67" [_thread_blocked, id=21940, stack(0x00000074e4200000,0x00000074e4300000)] - 0x000001e65bf13800 JavaThread "Unconstrained build operations Thread 68" [_thread_blocked, id=21740, stack(0x00000074e4300000,0x00000074e4400000)] - 0x000001e65bf0d800 JavaThread "Unconstrained build operations Thread 69" [_thread_blocked, id=19664, stack(0x00000074e4400000,0x00000074e4500000)] - 0x000001e65bf0e800 JavaThread "Unconstrained build operations Thread 70" [_thread_blocked, id=11848, stack(0x00000074e4500000,0x00000074e4600000)] - 0x000001e655d23800 JavaThread "Unconstrained build operations Thread 71" [_thread_blocked, id=9296, stack(0x00000074e4600000,0x00000074e4700000)] - 0x000001e655d1d800 JavaThread "Unconstrained build operations Thread 72" [_thread_blocked, id=4708, stack(0x00000074e4700000,0x00000074e4800000)] - 0x000001e655d22000 JavaThread "Unconstrained build operations Thread 73" [_thread_blocked, id=8040, stack(0x00000074e4800000,0x00000074e4900000)] - 0x000001e655d1f800 JavaThread "Unconstrained build operations Thread 74" [_thread_blocked, id=21416, stack(0x00000074e4900000,0x00000074e4a00000)] - 0x000001e655d24800 JavaThread "Unconstrained build operations Thread 75" [_thread_blocked, id=21544, stack(0x00000074e4a00000,0x00000074e4b00000)] - 0x000001e655d20000 JavaThread "Unconstrained build operations Thread 76" [_thread_blocked, id=12912, stack(0x00000074e4b00000,0x00000074e4c00000)] - 0x000001e655d21000 JavaThread "Unconstrained build operations Thread 77" [_thread_blocked, id=21988, stack(0x00000074e4c00000,0x00000074e4d00000)] - 0x000001e655d22800 JavaThread "Unconstrained build operations Thread 78" [_thread_blocked, id=5776, stack(0x00000074e4d00000,0x00000074e4e00000)] - 0x000001e655d1e800 JavaThread "Unconstrained build operations Thread 79" [_thread_blocked, id=7544, stack(0x00000074e4e00000,0x00000074e4f00000)] - 0x000001e655d27800 JavaThread "Unconstrained build operations Thread 80" [_thread_blocked, id=3576, stack(0x00000074e4f00000,0x00000074e5000000)] - 0x000001e655d29000 JavaThread "Unconstrained build operations Thread 81" [_thread_blocked, id=8980, stack(0x00000074e5000000,0x00000074e5100000)] - 0x000001e655d2a000 JavaThread "Unconstrained build operations Thread 82" [_thread_blocked, id=11488, stack(0x00000074e5100000,0x00000074e5200000)] - 0x000001e655d25000 JavaThread "Unconstrained build operations Thread 83" [_thread_blocked, id=19740, stack(0x00000074e5200000,0x00000074e5300000)] - 0x000001e655d26000 JavaThread "Unconstrained build operations Thread 84" [_thread_blocked, id=10708, stack(0x00000074e5300000,0x00000074e5400000)] - 0x000001e655d2b000 JavaThread "Unconstrained build operations Thread 85" [_thread_blocked, id=22388, stack(0x00000074e5400000,0x00000074e5500000)] - 0x000001e655d2b800 JavaThread "Unconstrained build operations Thread 86" [_thread_blocked, id=19564, stack(0x00000074e5500000,0x00000074e5600000)] - 0x000001e655d2c800 JavaThread "Unconstrained build operations Thread 87" [_thread_blocked, id=21168, stack(0x00000074e5600000,0x00000074e5700000)] - 0x000001e655d28800 JavaThread "Unconstrained build operations Thread 88" [_thread_blocked, id=21492, stack(0x00000074e5700000,0x00000074e5800000)] - 0x000001e655d26800 JavaThread "Unconstrained build operations Thread 89" [_thread_blocked, id=20216, stack(0x00000074e5800000,0x00000074e5900000)] - 0x000001e6551bb000 JavaThread "Unconstrained build operations Thread 90" [_thread_blocked, id=6124, stack(0x00000074e5900000,0x00000074e5a00000)] - 0x000001e6551b7800 JavaThread "Unconstrained build operations Thread 91" [_thread_blocked, id=10488, stack(0x00000074e5a00000,0x00000074e5b00000)] - 0x000001e6551b5000 JavaThread "Unconstrained build operations Thread 92" [_thread_blocked, id=2356, stack(0x00000074e5b00000,0x00000074e5c00000)] - 0x000001e6551ba000 JavaThread "included builds" [_thread_blocked, id=13796, stack(0x00000074e6300000,0x00000074e6400000)] - 0x000001e6551b8800 JavaThread "Execution worker" [_thread_blocked, id=2388, stack(0x00000074e6400000,0x00000074e6500000)] - 0x000001e6551b7000 JavaThread "Execution worker Thread 2" [_thread_blocked, id=9224, stack(0x00000074e6500000,0x00000074e6600000)] - 0x000001e6551bb800 JavaThread "Execution worker Thread 3" [_thread_blocked, id=20392, stack(0x00000074e6600000,0x00000074e6700000)] - 0x000001e6551b6000 JavaThread "Execution worker Thread 4" [_thread_blocked, id=12092, stack(0x00000074e6700000,0x00000074e6800000)] - 0x000001e6551bf000 JavaThread "Execution worker Thread 5" [_thread_blocked, id=16064, stack(0x00000074e6800000,0x00000074e6900000)] - 0x000001e6551bc800 JavaThread "Execution worker Thread 6" [_thread_blocked, id=12724, stack(0x00000074e6900000,0x00000074e6a00000)] - 0x000001e6551b9000 JavaThread "Execution worker Thread 7" [_thread_blocked, id=21448, stack(0x00000074e6a00000,0x00000074e6b00000)] - 0x000001e6551c0000 JavaThread "Execution worker Thread 8" [_thread_blocked, id=22004, stack(0x00000074e6b00000,0x00000074e6c00000)] - 0x000001e6551c0800 JavaThread "Execution worker Thread 9" [_thread_blocked, id=9636, stack(0x00000074e6c00000,0x00000074e6d00000)] - 0x000001e6551bd800 JavaThread "Execution worker Thread 10" [_thread_blocked, id=10492, stack(0x00000074e6d00000,0x00000074e6e00000)] - 0x000001e6551c4000 JavaThread "Execution worker Thread 11" [_thread_blocked, id=18168, stack(0x00000074e6e00000,0x00000074e6f00000)] - 0x000001e6551be000 JavaThread "Cache worker for execution history cache (D:\Remy\OMERO\omero-gateway-java\.gradle\8.0\executionHistory)" [_thread_blocked, id=12592, stack(0x00000074e6f00000,0x00000074e7000000)] - 0x000001e6551c2000 JavaThread "Unconstrained build operations Thread 93" [_thread_blocked, id=18860, stack(0x00000074e7000000,0x00000074e7100000)] - 0x000001e6551c1800 JavaThread "Unconstrained build operations Thread 94" [_thread_blocked, id=22164, stack(0x00000074e7100000,0x00000074e7200000)] - 0x000001e6551c3000 JavaThread "Unconstrained build operations Thread 95" [_thread_blocked, id=21804, stack(0x00000074e7200000,0x00000074e7300000)] - 0x000001e65d6ba000 JavaThread "Unconstrained build operations Thread 96" [_thread_blocked, id=10164, stack(0x00000074e7300000,0x00000074e7400000)] - 0x000001e65d6b8000 JavaThread "Unconstrained build operations Thread 97" [_thread_blocked, id=11808, stack(0x00000074e7400000,0x00000074e7500000)] - 0x000001e65d6b8800 JavaThread "Unconstrained build operations Thread 98" [_thread_blocked, id=4784, stack(0x00000074e7500000,0x00000074e7600000)] - 0x000001e65d6b9800 JavaThread "Unconstrained build operations Thread 99" [_thread_blocked, id=17464, stack(0x00000074e7600000,0x00000074e7700000)] - 0x000001e65d6b7000 JavaThread "Unconstrained build operations Thread 100" [_thread_blocked, id=11996, stack(0x00000074e7700000,0x00000074e7800000)] - 0x000001e65d6bb000 JavaThread "Unconstrained build operations Thread 101" [_thread_blocked, id=12428, stack(0x00000074e7800000,0x00000074e7900000)] - 0x000001e65d6bc000 JavaThread "Unconstrained build operations Thread 102" [_thread_blocked, id=6584, stack(0x00000074e7900000,0x00000074e7a00000)] - 0x000001e65d6b6000 JavaThread "Unconstrained build operations Thread 103" [_thread_blocked, id=21244, stack(0x00000074e7a00000,0x00000074e7b00000)] - 0x000001e65d6c1800 JavaThread "Unconstrained build operations Thread 104" [_thread_blocked, id=22032, stack(0x00000074e7b00000,0x00000074e7c00000)] - 0x000001e65d6bf000 JavaThread "Unconstrained build operations Thread 105" [_thread_blocked, id=18804, stack(0x00000074e7c00000,0x00000074e7d00000)] - 0x000001e65d6bc800 JavaThread "Unconstrained build operations Thread 106" [_thread_blocked, id=21000, stack(0x00000074e7d00000,0x00000074e7e00000)] - 0x000001e65d6be800 JavaThread "Unconstrained build operations Thread 107" [_thread_blocked, id=4360, stack(0x00000074e7e00000,0x00000074e7f00000)] - 0x000001e65d6c0000 JavaThread "Unconstrained build operations Thread 108" [_thread_blocked, id=18772, stack(0x00000074e7f00000,0x00000074e8000000)] - 0x000001e65d6c0800 JavaThread "Unconstrained build operations Thread 109" [_thread_blocked, id=20552, stack(0x00000074e8000000,0x00000074e8100000)] - 0x000001e65d6c2800 JavaThread "Unconstrained build operations Thread 110" [_thread_blocked, id=15548, stack(0x00000074e8100000,0x00000074e8200000)] - 0x000001e65d6c3000 JavaThread "Unconstrained build operations Thread 111" [_thread_blocked, id=21404, stack(0x00000074e8200000,0x00000074e8300000)] - 0x000001e65d6bd800 JavaThread "Unconstrained build operations Thread 112" [_thread_blocked, id=20924, stack(0x00000074e8300000,0x00000074e8400000)] - 0x000001e65d6c4000 JavaThread "Unconstrained build operations Thread 113" [_thread_blocked, id=11424, stack(0x00000074e8400000,0x00000074e8500000)] - 0x000001e65d6c5000 JavaThread "Unconstrained build operations Thread 114" [_thread_blocked, id=22176, stack(0x00000074e8500000,0x00000074e8600000)] - 0x000001e658878000 JavaThread "Unconstrained build operations Thread 115" [_thread_blocked, id=3440, stack(0x00000074e8600000,0x00000074e8700000)] - 0x000001e658879000 JavaThread "Unconstrained build operations Thread 116" [_thread_blocked, id=20372, stack(0x00000074e8700000,0x00000074e8800000)] - 0x000001e65887a000 JavaThread "Unconstrained build operations Thread 117" [_thread_blocked, id=22468, stack(0x00000074e8800000,0x00000074e8900000)] - 0x000001e65887c800 JavaThread "Unconstrained build operations Thread 118" [_thread_blocked, id=7436, stack(0x00000074e8900000,0x00000074e8a00000)] - 0x000001e65887a800 JavaThread "Unconstrained build operations Thread 119" [_thread_blocked, id=5724, stack(0x00000074e8a00000,0x00000074e8b00000)] - 0x000001e658877800 JavaThread "Unconstrained build operations Thread 120" [_thread_blocked, id=7324, stack(0x00000074e8b00000,0x00000074e8c00000)] - 0x000001e65887b800 JavaThread "idea-tooling-model-converter" [_thread_blocked, id=22008, stack(0x00000074e8c00000,0x00000074e8d00000)] - -Other Threads: - 0x000001e654c7a800 VMThread "VM Thread" [stack: 0x00000074dca00000,0x00000074dcb00000] [id=14880] - 0x000001e654e9e000 WatcherThread [stack: 0x00000074dd400000,0x00000074dd500000] [id=9784] - 0x000001e637944000 GCTaskThread "GC Thread#0" [stack: 0x00000074dc500000,0x00000074dc600000] [id=9632] - 0x000001e655841800 GCTaskThread "GC Thread#1" [stack: 0x00000074dd600000,0x00000074dd700000] [id=21812] - 0x000001e655843000 GCTaskThread "GC Thread#2" [stack: 0x00000074dd700000,0x00000074dd800000] [id=8420] - 0x000001e655846000 GCTaskThread "GC Thread#3" [stack: 0x00000074dd800000,0x00000074dd900000] [id=9712] - 0x000001e655844800 GCTaskThread "GC Thread#4" [stack: 0x00000074dd900000,0x00000074dda00000] [id=19896] - 0x000001e655845800 GCTaskThread "GC Thread#5" [stack: 0x00000074dda00000,0x00000074ddb00000] [id=21732] - 0x000001e655844000 GCTaskThread "GC Thread#6" [stack: 0x00000074de600000,0x00000074de700000] [id=17128] - 0x000001e655842800 GCTaskThread "GC Thread#7" [stack: 0x00000074de700000,0x00000074de800000] [id=5804] - 0x000001e65583f800 GCTaskThread "GC Thread#8" [stack: 0x00000074de800000,0x00000074de900000] [id=21200] - 0x000001e655847000 GCTaskThread "GC Thread#9" [stack: 0x00000074de900000,0x00000074dea00000] [id=9772] - 0x000001e637956000 ConcurrentGCThread "G1 Main Marker" [stack: 0x00000074dc600000,0x00000074dc700000] [id=15960] - 0x000001e637958000 ConcurrentGCThread "G1 Conc#0" [stack: 0x00000074dc700000,0x00000074dc800000] [id=17972] -=>0x000001e655840800 ConcurrentGCThread "G1 Conc#1" [stack: 0x00000074dea00000,0x00000074deb00000] [id=22396] - 0x000001e655841000 ConcurrentGCThread "G1 Conc#2" [stack: 0x00000074deb00000,0x00000074dec00000] [id=4880] - 0x000001e65430d000 ConcurrentGCThread "G1 Refine#0" [stack: 0x00000074dc800000,0x00000074dc900000] [id=20520] - 0x000001e654310000 ConcurrentGCThread "G1 Young RemSet Sampling" [stack: 0x00000074dc900000,0x00000074dca00000] [id=21140] - -Threads with active compile tasks: -C2 CompilerThread010116 % 4 org.gradle.internal.instantiation.generator.AbstractClassGenerator::inspectType @ 107 (560 bytes) -C1 CompilerThread010122 3 org.gradle.api.internal.model.DefaultObjectFactory::property (181 bytes) -C2 CompilerThread110103 4 org.gradle.internal.reflect.MutableClassDetails::property (41 bytes) -C2 CompilerThread210119 4 org.objectweb.asm.Attribute::putAttributes (78 bytes) - -VM state:not at safepoint (normal execution) - -VM Mutex/Monitor currently owned by a thread: None - -Heap address: 0x00000000e0000000, size: 512 MB, Compressed Oops mode: 32-bit -Narrow klass base: 0x0000000000000000, Narrow klass shift: 3 -Compressed class space size: 260046848 Address: 0x0000000100000000 - -Heap: - garbage-first heap total 262144K, used 150407K [0x00000000e0000000, 0x0000000100000000) - region size 1024K, 15 young (15360K), 2 survivors (2048K) - Metaspace used 80161K, capacity 83200K, committed 83408K, reserved 327680K - class space used 10438K, capacity 11534K, committed 11648K, reserved 253952K -Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, A=archive, TAMS=top-at-mark-start (previous, next) -| 0|0x00000000e0000000, 0x00000000e0100000, 0x00000000e0100000|100%|HS| |TAMS 0x00000000e0100000, 0x00000000e0100000| Complete -| 1|0x00000000e0100000, 0x00000000e0200000, 0x00000000e0200000|100%|HC| |TAMS 0x00000000e0200000, 0x00000000e0200000| Complete -| 2|0x00000000e0200000, 0x00000000e0300000, 0x00000000e0300000|100%|HC| |TAMS 0x00000000e0300000, 0x00000000e0300000| Complete -| 3|0x00000000e0300000, 0x00000000e0400000, 0x00000000e0400000|100%|HC| |TAMS 0x00000000e0400000, 0x00000000e0400000| Complete -| 4|0x00000000e0400000, 0x00000000e0500000, 0x00000000e0500000|100%| O| |TAMS 0x00000000e0500000, 0x00000000e0500000| Untracked -| 5|0x00000000e0500000, 0x00000000e0600000, 0x00000000e0600000|100%| O| |TAMS 0x00000000e0600000, 0x00000000e0600000| Untracked -| 6|0x00000000e0600000, 0x00000000e0700000, 0x00000000e0700000|100%| O| |TAMS 0x00000000e0700000, 0x00000000e0700000| Untracked -| 7|0x00000000e0700000, 0x00000000e0800000, 0x00000000e0800000|100%| O| |TAMS 0x00000000e0800000, 0x00000000e0800000| Untracked -| 8|0x00000000e0800000, 0x00000000e0900000, 0x00000000e0900000|100%| O| |TAMS 0x00000000e0900000, 0x00000000e0900000| Untracked -| 9|0x00000000e0900000, 0x00000000e0a00000, 0x00000000e0a00000|100%| O| |TAMS 0x00000000e0a00000, 0x00000000e0a00000| Untracked -| 10|0x00000000e0a00000, 0x00000000e0b00000, 0x00000000e0b00000|100%| O| |TAMS 0x00000000e0b00000, 0x00000000e0b00000| Untracked -| 11|0x00000000e0b00000, 0x00000000e0c00000, 0x00000000e0c00000|100%| O| |TAMS 0x00000000e0c00000, 0x00000000e0c00000| Untracked -| 12|0x00000000e0c00000, 0x00000000e0d00000, 0x00000000e0d00000|100%| O| |TAMS 0x00000000e0d00000, 0x00000000e0d00000| Untracked -| 13|0x00000000e0d00000, 0x00000000e0e00000, 0x00000000e0e00000|100%| O| |TAMS 0x00000000e0e00000, 0x00000000e0e00000| Untracked -| 14|0x00000000e0e00000, 0x00000000e0f00000, 0x00000000e0f00000|100%| O| |TAMS 0x00000000e0f00000, 0x00000000e0f00000| Untracked -| 15|0x00000000e0f00000, 0x00000000e1000000, 0x00000000e1000000|100%| O| |TAMS 0x00000000e1000000, 0x00000000e1000000| Untracked -| 16|0x00000000e1000000, 0x00000000e1100000, 0x00000000e1100000|100%| O| |TAMS 0x00000000e1100000, 0x00000000e1100000| Untracked -| 17|0x00000000e1100000, 0x00000000e1200000, 0x00000000e1200000|100%| O| |TAMS 0x00000000e1200000, 0x00000000e1200000| Untracked -| 18|0x00000000e1200000, 0x00000000e1300000, 0x00000000e1300000|100%| O| |TAMS 0x00000000e1300000, 0x00000000e1300000| Untracked -| 19|0x00000000e1300000, 0x00000000e1400000, 0x00000000e1400000|100%| O| |TAMS 0x00000000e1400000, 0x00000000e1400000| Untracked -| 20|0x00000000e1400000, 0x00000000e1500000, 0x00000000e1500000|100%| O| |TAMS 0x00000000e1500000, 0x00000000e1500000| Untracked -| 21|0x00000000e1500000, 0x00000000e1600000, 0x00000000e1600000|100%| O| |TAMS 0x00000000e1600000, 0x00000000e1600000| Untracked -| 22|0x00000000e1600000, 0x00000000e1700000, 0x00000000e1700000|100%| O| |TAMS 0x00000000e1700000, 0x00000000e1700000| Untracked -| 23|0x00000000e1700000, 0x00000000e1800000, 0x00000000e1800000|100%| O| |TAMS 0x00000000e1800000, 0x00000000e1800000| Untracked -| 24|0x00000000e1800000, 0x00000000e1900000, 0x00000000e1900000|100%| O| |TAMS 0x00000000e1900000, 0x00000000e1900000| Untracked -| 25|0x00000000e1900000, 0x00000000e1a00000, 0x00000000e1a00000|100%| O| |TAMS 0x00000000e1a00000, 0x00000000e1a00000| Untracked -| 26|0x00000000e1a00000, 0x00000000e1b00000, 0x00000000e1b00000|100%| O| |TAMS 0x00000000e1b00000, 0x00000000e1b00000| Untracked -| 27|0x00000000e1b00000, 0x00000000e1c00000, 0x00000000e1c00000|100%| O| |TAMS 0x00000000e1c00000, 0x00000000e1c00000| Untracked -| 28|0x00000000e1c00000, 0x00000000e1d00000, 0x00000000e1d00000|100%| O| |TAMS 0x00000000e1d00000, 0x00000000e1d00000| Untracked -| 29|0x00000000e1d00000, 0x00000000e1e00000, 0x00000000e1e00000|100%| O| |TAMS 0x00000000e1e00000, 0x00000000e1e00000| Untracked -| 30|0x00000000e1e00000, 0x00000000e1f00000, 0x00000000e1f00000|100%| O| |TAMS 0x00000000e1e1f600, 0x00000000e1f00000| Untracked -| 31|0x00000000e1f00000, 0x00000000e2000000, 0x00000000e2000000|100%|HS| |TAMS 0x00000000e1f00000, 0x00000000e2000000| Complete -| 32|0x00000000e2000000, 0x00000000e2100000, 0x00000000e2100000|100%|HC| |TAMS 0x00000000e2000000, 0x00000000e2100000| Complete -| 33|0x00000000e2100000, 0x00000000e2200000, 0x00000000e2200000|100%|HC| |TAMS 0x00000000e2100000, 0x00000000e2200000| Complete -| 34|0x00000000e2200000, 0x00000000e2300000, 0x00000000e2300000|100%|HS| |TAMS 0x00000000e2200000, 0x00000000e2300000| Complete -| 35|0x00000000e2300000, 0x00000000e2400000, 0x00000000e2400000|100%|HC| |TAMS 0x00000000e2300000, 0x00000000e2400000| Complete -| 36|0x00000000e2400000, 0x00000000e2500000, 0x00000000e2500000|100%|HS| |TAMS 0x00000000e2400000, 0x00000000e2500000| Complete -| 37|0x00000000e2500000, 0x00000000e2600000, 0x00000000e2600000|100%|HC| |TAMS 0x00000000e2500000, 0x00000000e2600000| Complete -| 38|0x00000000e2600000, 0x00000000e2700000, 0x00000000e2700000|100%|HC| |TAMS 0x00000000e2600000, 0x00000000e2700000| Complete -| 39|0x00000000e2700000, 0x00000000e2800000, 0x00000000e2800000|100%|HS| |TAMS 0x00000000e2700000, 0x00000000e2800000| Complete -| 40|0x00000000e2800000, 0x00000000e2900000, 0x00000000e2900000|100%|HC| |TAMS 0x00000000e2800000, 0x00000000e2900000| Complete -| 41|0x00000000e2900000, 0x00000000e2a00000, 0x00000000e2a00000|100%|HS| |TAMS 0x00000000e2900000, 0x00000000e2a00000| Complete -| 42|0x00000000e2a00000, 0x00000000e2b00000, 0x00000000e2b00000|100%|HC| |TAMS 0x00000000e2a00000, 0x00000000e2b00000| Complete -| 43|0x00000000e2b00000, 0x00000000e2c00000, 0x00000000e2c00000|100%|HC| |TAMS 0x00000000e2b00000, 0x00000000e2c00000| Complete -| 44|0x00000000e2c00000, 0x00000000e2d00000, 0x00000000e2d00000|100%|HC| |TAMS 0x00000000e2c00000, 0x00000000e2d00000| Complete -| 45|0x00000000e2d00000, 0x00000000e2e00000, 0x00000000e2e00000|100%|HC| |TAMS 0x00000000e2d00000, 0x00000000e2e00000| Complete -| 46|0x00000000e2e00000, 0x00000000e2f00000, 0x00000000e2f00000|100%|HC| |TAMS 0x00000000e2e00000, 0x00000000e2f00000| Complete -| 47|0x00000000e2f00000, 0x00000000e3000000, 0x00000000e3000000|100%|HC| |TAMS 0x00000000e2f00000, 0x00000000e3000000| Complete -| 48|0x00000000e3000000, 0x00000000e3100000, 0x00000000e3100000|100%|HC| |TAMS 0x00000000e3000000, 0x00000000e3100000| Complete -| 49|0x00000000e3100000, 0x00000000e3200000, 0x00000000e3200000|100%|HC| |TAMS 0x00000000e3100000, 0x00000000e3200000| Complete -| 50|0x00000000e3200000, 0x00000000e3300000, 0x00000000e3300000|100%|HC| |TAMS 0x00000000e3200000, 0x00000000e3300000| Complete -| 51|0x00000000e3300000, 0x00000000e3400000, 0x00000000e3400000|100%|HC| |TAMS 0x00000000e3300000, 0x00000000e3400000| Complete -| 52|0x00000000e3400000, 0x00000000e3500000, 0x00000000e3500000|100%|HS| |TAMS 0x00000000e3400000, 0x00000000e3500000| Complete -| 53|0x00000000e3500000, 0x00000000e3600000, 0x00000000e3600000|100%|HC| |TAMS 0x00000000e3500000, 0x00000000e3600000| Complete -| 54|0x00000000e3600000, 0x00000000e3700000, 0x00000000e3700000|100%|HS| |TAMS 0x00000000e3600000, 0x00000000e3700000| Complete -| 55|0x00000000e3700000, 0x00000000e3800000, 0x00000000e3800000|100%|HC| |TAMS 0x00000000e3700000, 0x00000000e3800000| Complete -| 56|0x00000000e3800000, 0x00000000e3900000, 0x00000000e3900000|100%|HC| |TAMS 0x00000000e3800000, 0x00000000e3900000| Complete -| 57|0x00000000e3900000, 0x00000000e3a00000, 0x00000000e3a00000|100%|HC| |TAMS 0x00000000e3900000, 0x00000000e3a00000| Complete -| 58|0x00000000e3a00000, 0x00000000e3b00000, 0x00000000e3b00000|100%|HC| |TAMS 0x00000000e3a00000, 0x00000000e3b00000| Complete -| 59|0x00000000e3b00000, 0x00000000e3c00000, 0x00000000e3c00000|100%|HC| |TAMS 0x00000000e3b00000, 0x00000000e3c00000| Complete -| 60|0x00000000e3c00000, 0x00000000e3d00000, 0x00000000e3d00000|100%|HS| |TAMS 0x00000000e3c00000, 0x00000000e3d00000| Complete -| 61|0x00000000e3d00000, 0x00000000e3e00000, 0x00000000e3e00000|100%|HS| |TAMS 0x00000000e3d00000, 0x00000000e3e00000| Complete -| 62|0x00000000e3e00000, 0x00000000e3f00000, 0x00000000e3f00000|100%|HC| |TAMS 0x00000000e3e00000, 0x00000000e3f00000| Complete -| 63|0x00000000e3f00000, 0x00000000e4000000, 0x00000000e4000000|100%|HS| |TAMS 0x00000000e3f00000, 0x00000000e4000000| Complete -| 64|0x00000000e4000000, 0x00000000e4100000, 0x00000000e4100000|100%|HC| |TAMS 0x00000000e4000000, 0x00000000e4100000| Complete -| 65|0x00000000e4100000, 0x00000000e4200000, 0x00000000e4200000|100%|HC| |TAMS 0x00000000e4100000, 0x00000000e4200000| Complete -| 66|0x00000000e4200000, 0x00000000e4300000, 0x00000000e4300000|100%| O| |TAMS 0x00000000e4200000, 0x00000000e4300000| Untracked -| 67|0x00000000e4300000, 0x00000000e4400000, 0x00000000e4400000|100%| O| |TAMS 0x00000000e4300000, 0x00000000e4400000| Untracked -| 68|0x00000000e4400000, 0x00000000e4500000, 0x00000000e4500000|100%| O| |TAMS 0x00000000e4400000, 0x00000000e4500000| Untracked -| 69|0x00000000e4500000, 0x00000000e4600000, 0x00000000e4600000|100%| O| |TAMS 0x00000000e4500000, 0x00000000e4600000| Untracked -| 70|0x00000000e4600000, 0x00000000e4700000, 0x00000000e4700000|100%| O| |TAMS 0x00000000e4600000, 0x00000000e4700000| Untracked -| 71|0x00000000e4700000, 0x00000000e4800000, 0x00000000e4800000|100%| O| |TAMS 0x00000000e4700000, 0x00000000e4800000| Untracked -| 72|0x00000000e4800000, 0x00000000e4900000, 0x00000000e4900000|100%| O| |TAMS 0x00000000e4800000, 0x00000000e4900000| Untracked -| 73|0x00000000e4900000, 0x00000000e4a00000, 0x00000000e4a00000|100%| O| |TAMS 0x00000000e4900000, 0x00000000e4a00000| Untracked -| 74|0x00000000e4a00000, 0x00000000e4b00000, 0x00000000e4b00000|100%| O| |TAMS 0x00000000e4a00000, 0x00000000e4b00000| Untracked -| 75|0x00000000e4b00000, 0x00000000e4c00000, 0x00000000e4c00000|100%| O| |TAMS 0x00000000e4b00000, 0x00000000e4c00000| Untracked -| 76|0x00000000e4c00000, 0x00000000e4d00000, 0x00000000e4d00000|100%| O| |TAMS 0x00000000e4c00000, 0x00000000e4d00000| Untracked -| 77|0x00000000e4d00000, 0x00000000e4e00000, 0x00000000e4e00000|100%| O| |TAMS 0x00000000e4d00000, 0x00000000e4e00000| Untracked -| 78|0x00000000e4e00000, 0x00000000e4f00000, 0x00000000e4f00000|100%| O| |TAMS 0x00000000e4e00000, 0x00000000e4f00000| Untracked -| 79|0x00000000e4f00000, 0x00000000e5000000, 0x00000000e5000000|100%| O| |TAMS 0x00000000e4f00000, 0x00000000e5000000| Untracked -| 80|0x00000000e5000000, 0x00000000e5100000, 0x00000000e5100000|100%| O| |TAMS 0x00000000e5000000, 0x00000000e5100000| Untracked -| 81|0x00000000e5100000, 0x00000000e5200000, 0x00000000e5200000|100%| O| |TAMS 0x00000000e5100000, 0x00000000e5200000| Untracked -| 82|0x00000000e5200000, 0x00000000e5300000, 0x00000000e5300000|100%| O| |TAMS 0x00000000e5200000, 0x00000000e5300000| Untracked -| 83|0x00000000e5300000, 0x00000000e5400000, 0x00000000e5400000|100%| O| |TAMS 0x00000000e5300000, 0x00000000e5400000| Untracked -| 84|0x00000000e5400000, 0x00000000e5500000, 0x00000000e5500000|100%|HS| |TAMS 0x00000000e5400000, 0x00000000e5500000| Complete -| 85|0x00000000e5500000, 0x00000000e5600000, 0x00000000e5600000|100%|HC| |TAMS 0x00000000e5500000, 0x00000000e5600000| Complete -| 86|0x00000000e5600000, 0x00000000e5700000, 0x00000000e5700000|100%|HS| |TAMS 0x00000000e5600000, 0x00000000e5700000| Complete -| 87|0x00000000e5700000, 0x00000000e5800000, 0x00000000e5800000|100%|HC| |TAMS 0x00000000e5700000, 0x00000000e5800000| Complete -| 88|0x00000000e5800000, 0x00000000e5900000, 0x00000000e5900000|100%|HC| |TAMS 0x00000000e5800000, 0x00000000e5900000| Complete -| 89|0x00000000e5900000, 0x00000000e5a00000, 0x00000000e5a00000|100%|HS| |TAMS 0x00000000e5900000, 0x00000000e5a00000| Complete -| 90|0x00000000e5a00000, 0x00000000e5b00000, 0x00000000e5b00000|100%|HC| |TAMS 0x00000000e5a00000, 0x00000000e5b00000| Complete -| 91|0x00000000e5b00000, 0x00000000e5c00000, 0x00000000e5c00000|100%|HS| |TAMS 0x00000000e5b00000, 0x00000000e5c00000| Complete -| 92|0x00000000e5c00000, 0x00000000e5d00000, 0x00000000e5d00000|100%|HC| |TAMS 0x00000000e5c00000, 0x00000000e5d00000| Complete -| 93|0x00000000e5d00000, 0x00000000e5e00000, 0x00000000e5e00000|100%|HC| |TAMS 0x00000000e5d00000, 0x00000000e5e00000| Complete -| 94|0x00000000e5e00000, 0x00000000e5f00000, 0x00000000e5f00000|100%|HC| |TAMS 0x00000000e5e00000, 0x00000000e5f00000| Complete -| 95|0x00000000e5f00000, 0x00000000e6000000, 0x00000000e6000000|100%|HC| |TAMS 0x00000000e5f00000, 0x00000000e6000000| Complete -| 96|0x00000000e6000000, 0x00000000e6100000, 0x00000000e6100000|100%|HC| |TAMS 0x00000000e6000000, 0x00000000e6100000| Complete -| 97|0x00000000e6100000, 0x00000000e6200000, 0x00000000e6200000|100%|HC| |TAMS 0x00000000e6100000, 0x00000000e6200000| Complete -| 98|0x00000000e6200000, 0x00000000e6300000, 0x00000000e6300000|100%|HC| |TAMS 0x00000000e6200000, 0x00000000e6300000| Complete -| 99|0x00000000e6300000, 0x00000000e6400000, 0x00000000e6400000|100%|HC| |TAMS 0x00000000e6300000, 0x00000000e6400000| Complete -| 100|0x00000000e6400000, 0x00000000e6500000, 0x00000000e6500000|100%|HC| |TAMS 0x00000000e6400000, 0x00000000e6500000| Complete -| 101|0x00000000e6500000, 0x00000000e6600000, 0x00000000e6600000|100%|HC| |TAMS 0x00000000e6500000, 0x00000000e6600000| Complete -| 102|0x00000000e6600000, 0x00000000e6700000, 0x00000000e6700000|100%|HS| |TAMS 0x00000000e6600000, 0x00000000e6700000| Complete -| 103|0x00000000e6700000, 0x00000000e6800000, 0x00000000e6800000|100%|HC| |TAMS 0x00000000e6700000, 0x00000000e6800000| Complete -| 104|0x00000000e6800000, 0x00000000e6900000, 0x00000000e6900000|100%|HS| |TAMS 0x00000000e6800000, 0x00000000e6900000| Complete -| 105|0x00000000e6900000, 0x00000000e6a00000, 0x00000000e6a00000|100%|HC| |TAMS 0x00000000e6900000, 0x00000000e6a00000| Complete -| 106|0x00000000e6a00000, 0x00000000e6b00000, 0x00000000e6b00000|100%|HC| |TAMS 0x00000000e6a00000, 0x00000000e6b00000| Complete -| 107|0x00000000e6b00000, 0x00000000e6c00000, 0x00000000e6c00000|100%|HC| |TAMS 0x00000000e6b00000, 0x00000000e6c00000| Complete -| 108|0x00000000e6c00000, 0x00000000e6d00000, 0x00000000e6d00000|100%|HC| |TAMS 0x00000000e6c00000, 0x00000000e6d00000| Complete -| 109|0x00000000e6d00000, 0x00000000e6e00000, 0x00000000e6e00000|100%|HC| |TAMS 0x00000000e6d00000, 0x00000000e6e00000| Complete -| 110|0x00000000e6e00000, 0x00000000e6f00000, 0x00000000e6f00000|100%|HS| |TAMS 0x00000000e6e00000, 0x00000000e6f00000| Complete -| 111|0x00000000e6f00000, 0x00000000e7000000, 0x00000000e7000000|100%| O| |TAMS 0x00000000e6f00000, 0x00000000e7000000| Untracked -| 112|0x00000000e7000000, 0x00000000e7100000, 0x00000000e7100000|100%| O| |TAMS 0x00000000e7000000, 0x00000000e7100000| Untracked -| 113|0x00000000e7100000, 0x00000000e7200000, 0x00000000e7200000|100%| O| |TAMS 0x00000000e7100000, 0x00000000e7200000| Untracked -| 114|0x00000000e7200000, 0x00000000e7300000, 0x00000000e7300000|100%| O| |TAMS 0x00000000e7200000, 0x00000000e7300000| Untracked -| 115|0x00000000e7300000, 0x00000000e7400000, 0x00000000e7400000|100%| O| |TAMS 0x00000000e7300000, 0x00000000e7400000| Untracked -| 116|0x00000000e7400000, 0x00000000e7500000, 0x00000000e7500000|100%| O| |TAMS 0x00000000e7400000, 0x00000000e7500000| Untracked -| 117|0x00000000e7500000, 0x00000000e7600000, 0x00000000e7600000|100%| O| |TAMS 0x00000000e7500000, 0x00000000e7600000| Untracked -| 118|0x00000000e7600000, 0x00000000e7700000, 0x00000000e7700000|100%| O| |TAMS 0x00000000e7600000, 0x00000000e7700000| Untracked -| 119|0x00000000e7700000, 0x00000000e7800000, 0x00000000e7800000|100%| O| |TAMS 0x00000000e7700000, 0x00000000e7800000| Untracked -| 120|0x00000000e7800000, 0x00000000e7900000, 0x00000000e7900000|100%| O| |TAMS 0x00000000e7800000, 0x00000000e7900000| Untracked -| 121|0x00000000e7900000, 0x00000000e7a00000, 0x00000000e7a00000|100%| O| |TAMS 0x00000000e7900000, 0x00000000e7a00000| Untracked -| 122|0x00000000e7a00000, 0x00000000e7b00000, 0x00000000e7b00000|100%| O| |TAMS 0x00000000e7a00000, 0x00000000e7b00000| Untracked -| 123|0x00000000e7b00000, 0x00000000e7c00000, 0x00000000e7c00000|100%| O| |TAMS 0x00000000e7b00000, 0x00000000e7c00000| Untracked -| 124|0x00000000e7c00000, 0x00000000e7d00000, 0x00000000e7d00000|100%| O| |TAMS 0x00000000e7c00000, 0x00000000e7d00000| Untracked -| 125|0x00000000e7d00000, 0x00000000e7e00000, 0x00000000e7e00000|100%| O| |TAMS 0x00000000e7d00000, 0x00000000e7e00000| Untracked -| 126|0x00000000e7e00000, 0x00000000e7f00000, 0x00000000e7f00000|100%| O| |TAMS 0x00000000e7e00000, 0x00000000e7f00000| Untracked -| 127|0x00000000e7f00000, 0x00000000e8000000, 0x00000000e8000000|100%| O| |TAMS 0x00000000e7f00000, 0x00000000e8000000| Untracked -| 128|0x00000000e8000000, 0x00000000e8100000, 0x00000000e8100000|100%| O| |TAMS 0x00000000e8000000, 0x00000000e8100000| Untracked -| 129|0x00000000e8100000, 0x00000000e8200000, 0x00000000e8200000|100%| O| |TAMS 0x00000000e8100000, 0x00000000e8200000| Untracked -| 130|0x00000000e8200000, 0x00000000e8300000, 0x00000000e8300000|100%| O| |TAMS 0x00000000e8200000, 0x00000000e8300000| Untracked -| 131|0x00000000e8300000, 0x00000000e83e7200, 0x00000000e8400000| 90%| O| |TAMS 0x00000000e8300000, 0x00000000e83e7200| Untracked -| 132|0x00000000e8400000, 0x00000000e8500000, 0x00000000e8500000|100%|HS| |TAMS 0x00000000e8400000, 0x00000000e8400000| Complete -| 133|0x00000000e8500000, 0x00000000e8500000, 0x00000000e8600000| 0%| F| |TAMS 0x00000000e8500000, 0x00000000e8500000| Untracked -| 134|0x00000000e8600000, 0x00000000e8600000, 0x00000000e8700000| 0%| F| |TAMS 0x00000000e8600000, 0x00000000e8600000| Untracked -| 135|0x00000000e8700000, 0x00000000e8700000, 0x00000000e8800000| 0%| F| |TAMS 0x00000000e8700000, 0x00000000e8700000| Untracked -| 136|0x00000000e8800000, 0x00000000e8800000, 0x00000000e8900000| 0%| F| |TAMS 0x00000000e8800000, 0x00000000e8800000| Untracked -| 137|0x00000000e8900000, 0x00000000e8900000, 0x00000000e8a00000| 0%| F| |TAMS 0x00000000e8900000, 0x00000000e8900000| Untracked -| 138|0x00000000e8a00000, 0x00000000e8a00000, 0x00000000e8b00000| 0%| F| |TAMS 0x00000000e8a00000, 0x00000000e8a00000| Untracked -| 139|0x00000000e8b00000, 0x00000000e8b00000, 0x00000000e8c00000| 0%| F| |TAMS 0x00000000e8b00000, 0x00000000e8b00000| Untracked -| 140|0x00000000e8c00000, 0x00000000e8c00000, 0x00000000e8d00000| 0%| F| |TAMS 0x00000000e8c00000, 0x00000000e8c00000| Untracked -| 141|0x00000000e8d00000, 0x00000000e8d00000, 0x00000000e8e00000| 0%| F| |TAMS 0x00000000e8d00000, 0x00000000e8d00000| Untracked -| 142|0x00000000e8e00000, 0x00000000e8e00000, 0x00000000e8f00000| 0%| F| |TAMS 0x00000000e8e00000, 0x00000000e8e00000| Untracked -| 143|0x00000000e8f00000, 0x00000000e8f00000, 0x00000000e9000000| 0%| F| |TAMS 0x00000000e8f00000, 0x00000000e8f00000| Untracked -| 144|0x00000000e9000000, 0x00000000e9000000, 0x00000000e9100000| 0%| F| |TAMS 0x00000000e9000000, 0x00000000e9000000| Untracked -| 145|0x00000000e9100000, 0x00000000e9100000, 0x00000000e9200000| 0%| F| |TAMS 0x00000000e9100000, 0x00000000e9100000| Untracked -| 146|0x00000000e9200000, 0x00000000e9200000, 0x00000000e9300000| 0%| F| |TAMS 0x00000000e9200000, 0x00000000e9200000| Untracked -| 147|0x00000000e9300000, 0x00000000e9300000, 0x00000000e9400000| 0%| F| |TAMS 0x00000000e9300000, 0x00000000e9300000| Untracked -| 148|0x00000000e9400000, 0x00000000e9400000, 0x00000000e9500000| 0%| F| |TAMS 0x00000000e9400000, 0x00000000e9400000| Untracked -| 149|0x00000000e9500000, 0x00000000e9500000, 0x00000000e9600000| 0%| F| |TAMS 0x00000000e9500000, 0x00000000e9500000| Untracked -| 150|0x00000000e9600000, 0x00000000e9600000, 0x00000000e9700000| 0%| F| |TAMS 0x00000000e9600000, 0x00000000e9600000| Untracked -| 151|0x00000000e9700000, 0x00000000e9700000, 0x00000000e9800000| 0%| F| |TAMS 0x00000000e9700000, 0x00000000e9700000| Untracked -| 152|0x00000000e9800000, 0x00000000e9800000, 0x00000000e9900000| 0%| F| |TAMS 0x00000000e9800000, 0x00000000e9800000| Untracked -| 153|0x00000000e9900000, 0x00000000e9900000, 0x00000000e9a00000| 0%| F| |TAMS 0x00000000e9900000, 0x00000000e9900000| Untracked -| 154|0x00000000e9a00000, 0x00000000e9a00000, 0x00000000e9b00000| 0%| F| |TAMS 0x00000000e9a00000, 0x00000000e9a00000| Untracked -| 155|0x00000000e9b00000, 0x00000000e9b00000, 0x00000000e9c00000| 0%| F| |TAMS 0x00000000e9b00000, 0x00000000e9b00000| Untracked -| 156|0x00000000e9c00000, 0x00000000e9c00000, 0x00000000e9d00000| 0%| F| |TAMS 0x00000000e9c00000, 0x00000000e9c00000| Untracked -| 157|0x00000000e9d00000, 0x00000000e9d00000, 0x00000000e9e00000| 0%| F| |TAMS 0x00000000e9d00000, 0x00000000e9d00000| Untracked -| 158|0x00000000e9e00000, 0x00000000e9e00000, 0x00000000e9f00000| 0%| F| |TAMS 0x00000000e9e00000, 0x00000000e9e00000| Untracked -| 159|0x00000000e9f00000, 0x00000000e9f00000, 0x00000000ea000000| 0%| F| |TAMS 0x00000000e9f00000, 0x00000000e9f00000| Untracked -| 160|0x00000000ea000000, 0x00000000ea000000, 0x00000000ea100000| 0%| F| |TAMS 0x00000000ea000000, 0x00000000ea000000| Untracked -| 161|0x00000000ea100000, 0x00000000ea100000, 0x00000000ea200000| 0%| F| |TAMS 0x00000000ea100000, 0x00000000ea100000| Untracked -| 162|0x00000000ea200000, 0x00000000ea200000, 0x00000000ea300000| 0%| F| |TAMS 0x00000000ea200000, 0x00000000ea200000| Untracked -| 163|0x00000000ea300000, 0x00000000ea300000, 0x00000000ea400000| 0%| F| |TAMS 0x00000000ea300000, 0x00000000ea300000| Untracked -| 164|0x00000000ea400000, 0x00000000ea400000, 0x00000000ea500000| 0%| F| |TAMS 0x00000000ea400000, 0x00000000ea400000| Untracked -| 165|0x00000000ea500000, 0x00000000ea500000, 0x00000000ea600000| 0%| F| |TAMS 0x00000000ea500000, 0x00000000ea500000| Untracked -| 166|0x00000000ea600000, 0x00000000ea600000, 0x00000000ea700000| 0%| F| |TAMS 0x00000000ea600000, 0x00000000ea600000| Untracked -| 167|0x00000000ea700000, 0x00000000ea700000, 0x00000000ea800000| 0%| F| |TAMS 0x00000000ea700000, 0x00000000ea700000| Untracked -| 168|0x00000000ea800000, 0x00000000ea800000, 0x00000000ea900000| 0%| F| |TAMS 0x00000000ea800000, 0x00000000ea800000| Untracked -| 169|0x00000000ea900000, 0x00000000ea900000, 0x00000000eaa00000| 0%| F| |TAMS 0x00000000ea900000, 0x00000000ea900000| Untracked -| 170|0x00000000eaa00000, 0x00000000eaa00000, 0x00000000eab00000| 0%| F| |TAMS 0x00000000eaa00000, 0x00000000eaa00000| Untracked -| 171|0x00000000eab00000, 0x00000000eab00000, 0x00000000eac00000| 0%| F| |TAMS 0x00000000eab00000, 0x00000000eab00000| Untracked -| 172|0x00000000eac00000, 0x00000000eac00000, 0x00000000ead00000| 0%| F| |TAMS 0x00000000eac00000, 0x00000000eac00000| Untracked -| 173|0x00000000ead00000, 0x00000000ead00000, 0x00000000eae00000| 0%| F| |TAMS 0x00000000ead00000, 0x00000000ead00000| Untracked -| 174|0x00000000eae00000, 0x00000000eae00000, 0x00000000eaf00000| 0%| F| |TAMS 0x00000000eae00000, 0x00000000eae00000| Untracked -| 175|0x00000000eaf00000, 0x00000000eaf00000, 0x00000000eb000000| 0%| F| |TAMS 0x00000000eaf00000, 0x00000000eaf00000| Untracked -| 176|0x00000000eb000000, 0x00000000eb000000, 0x00000000eb100000| 0%| F| |TAMS 0x00000000eb000000, 0x00000000eb000000| Untracked -| 177|0x00000000eb100000, 0x00000000eb100000, 0x00000000eb200000| 0%| F| |TAMS 0x00000000eb100000, 0x00000000eb100000| Untracked -| 178|0x00000000eb200000, 0x00000000eb200000, 0x00000000eb300000| 0%| F| |TAMS 0x00000000eb200000, 0x00000000eb200000| Untracked -| 179|0x00000000eb300000, 0x00000000eb300000, 0x00000000eb400000| 0%| F| |TAMS 0x00000000eb300000, 0x00000000eb300000| Untracked -| 180|0x00000000eb400000, 0x00000000eb400000, 0x00000000eb500000| 0%| F| |TAMS 0x00000000eb400000, 0x00000000eb400000| Untracked -| 181|0x00000000eb500000, 0x00000000eb500000, 0x00000000eb600000| 0%| F| |TAMS 0x00000000eb500000, 0x00000000eb500000| Untracked -| 182|0x00000000eb600000, 0x00000000eb600000, 0x00000000eb700000| 0%| F| |TAMS 0x00000000eb600000, 0x00000000eb600000| Untracked -| 183|0x00000000eb700000, 0x00000000eb700000, 0x00000000eb800000| 0%| F| |TAMS 0x00000000eb700000, 0x00000000eb700000| Untracked -| 184|0x00000000eb800000, 0x00000000eb800000, 0x00000000eb900000| 0%| F| |TAMS 0x00000000eb800000, 0x00000000eb800000| Untracked -| 185|0x00000000eb900000, 0x00000000eb900000, 0x00000000eba00000| 0%| F| |TAMS 0x00000000eb900000, 0x00000000eb900000| Untracked -| 186|0x00000000eba00000, 0x00000000eba00000, 0x00000000ebb00000| 0%| F| |TAMS 0x00000000eba00000, 0x00000000eba00000| Untracked -| 187|0x00000000ebb00000, 0x00000000ebb00000, 0x00000000ebc00000| 0%| F| |TAMS 0x00000000ebb00000, 0x00000000ebb00000| Untracked -| 188|0x00000000ebc00000, 0x00000000ebc00000, 0x00000000ebd00000| 0%| F| |TAMS 0x00000000ebc00000, 0x00000000ebc00000| Untracked -| 189|0x00000000ebd00000, 0x00000000ebd00000, 0x00000000ebe00000| 0%| F| |TAMS 0x00000000ebd00000, 0x00000000ebd00000| Untracked -| 190|0x00000000ebe00000, 0x00000000ebe00000, 0x00000000ebf00000| 0%| F| |TAMS 0x00000000ebe00000, 0x00000000ebe00000| Untracked -| 191|0x00000000ebf00000, 0x00000000ebf00000, 0x00000000ec000000| 0%| F| |TAMS 0x00000000ebf00000, 0x00000000ebf00000| Untracked -| 192|0x00000000ec000000, 0x00000000ec000000, 0x00000000ec100000| 0%| F| |TAMS 0x00000000ec000000, 0x00000000ec000000| Untracked -| 193|0x00000000ec100000, 0x00000000ec100000, 0x00000000ec200000| 0%| F| |TAMS 0x00000000ec100000, 0x00000000ec100000| Untracked -| 194|0x00000000ec200000, 0x00000000ec200000, 0x00000000ec300000| 0%| F| |TAMS 0x00000000ec200000, 0x00000000ec200000| Untracked -| 195|0x00000000ec300000, 0x00000000ec300000, 0x00000000ec400000| 0%| F| |TAMS 0x00000000ec300000, 0x00000000ec300000| Untracked -| 196|0x00000000ec400000, 0x00000000ec400000, 0x00000000ec500000| 0%| F| |TAMS 0x00000000ec400000, 0x00000000ec400000| Untracked -| 197|0x00000000ec500000, 0x00000000ec500000, 0x00000000ec600000| 0%| F| |TAMS 0x00000000ec500000, 0x00000000ec500000| Untracked -| 198|0x00000000ec600000, 0x00000000ec600000, 0x00000000ec700000| 0%| F| |TAMS 0x00000000ec600000, 0x00000000ec600000| Untracked -| 199|0x00000000ec700000, 0x00000000ec700000, 0x00000000ec800000| 0%| F| |TAMS 0x00000000ec700000, 0x00000000ec700000| Untracked -| 200|0x00000000ec800000, 0x00000000ec800000, 0x00000000ec900000| 0%| F| |TAMS 0x00000000ec800000, 0x00000000ec800000| Untracked -| 201|0x00000000ec900000, 0x00000000ec900000, 0x00000000eca00000| 0%| F| |TAMS 0x00000000ec900000, 0x00000000ec900000| Untracked -| 202|0x00000000eca00000, 0x00000000eca00000, 0x00000000ecb00000| 0%| F| |TAMS 0x00000000eca00000, 0x00000000eca00000| Untracked -| 203|0x00000000ecb00000, 0x00000000ecb00000, 0x00000000ecc00000| 0%| F| |TAMS 0x00000000ecb00000, 0x00000000ecb00000| Untracked -| 204|0x00000000ecc00000, 0x00000000ecc00000, 0x00000000ecd00000| 0%| F| |TAMS 0x00000000ecc00000, 0x00000000ecc00000| Untracked -| 205|0x00000000ecd00000, 0x00000000ecd00000, 0x00000000ece00000| 0%| F| |TAMS 0x00000000ecd00000, 0x00000000ecd00000| Untracked -| 206|0x00000000ece00000, 0x00000000ece00000, 0x00000000ecf00000| 0%| F| |TAMS 0x00000000ece00000, 0x00000000ece00000| Untracked -| 207|0x00000000ecf00000, 0x00000000ecf00000, 0x00000000ed000000| 0%| F| |TAMS 0x00000000ecf00000, 0x00000000ecf00000| Untracked -| 208|0x00000000ed000000, 0x00000000ed000000, 0x00000000ed100000| 0%| F| |TAMS 0x00000000ed000000, 0x00000000ed000000| Untracked -| 209|0x00000000ed100000, 0x00000000ed100000, 0x00000000ed200000| 0%| F| |TAMS 0x00000000ed100000, 0x00000000ed100000| Untracked -| 210|0x00000000ed200000, 0x00000000ed200000, 0x00000000ed300000| 0%| F| |TAMS 0x00000000ed200000, 0x00000000ed200000| Untracked -| 211|0x00000000ed300000, 0x00000000ed300000, 0x00000000ed400000| 0%| F| |TAMS 0x00000000ed300000, 0x00000000ed300000| Untracked -| 212|0x00000000ed400000, 0x00000000ed400000, 0x00000000ed500000| 0%| F| |TAMS 0x00000000ed400000, 0x00000000ed400000| Untracked -| 213|0x00000000ed500000, 0x00000000ed500000, 0x00000000ed600000| 0%| F| |TAMS 0x00000000ed500000, 0x00000000ed500000| Untracked -| 214|0x00000000ed600000, 0x00000000ed600000, 0x00000000ed700000| 0%| F| |TAMS 0x00000000ed600000, 0x00000000ed600000| Untracked -| 215|0x00000000ed700000, 0x00000000ed700000, 0x00000000ed800000| 0%| F| |TAMS 0x00000000ed700000, 0x00000000ed700000| Untracked -| 216|0x00000000ed800000, 0x00000000ed800000, 0x00000000ed900000| 0%| F| |TAMS 0x00000000ed800000, 0x00000000ed800000| Untracked -| 217|0x00000000ed900000, 0x00000000ed900000, 0x00000000eda00000| 0%| F| |TAMS 0x00000000ed900000, 0x00000000ed900000| Untracked -| 218|0x00000000eda00000, 0x00000000eda00000, 0x00000000edb00000| 0%| F| |TAMS 0x00000000eda00000, 0x00000000eda00000| Untracked -| 219|0x00000000edb00000, 0x00000000edb00000, 0x00000000edc00000| 0%| F| |TAMS 0x00000000edb00000, 0x00000000edb00000| Untracked -| 220|0x00000000edc00000, 0x00000000edc00000, 0x00000000edd00000| 0%| F| |TAMS 0x00000000edc00000, 0x00000000edc00000| Untracked -| 221|0x00000000edd00000, 0x00000000edd00000, 0x00000000ede00000| 0%| F| |TAMS 0x00000000edd00000, 0x00000000edd00000| Untracked -| 222|0x00000000ede00000, 0x00000000ede00000, 0x00000000edf00000| 0%| F| |TAMS 0x00000000ede00000, 0x00000000ede00000| Untracked -| 223|0x00000000edf00000, 0x00000000edf00000, 0x00000000ee000000| 0%| F| |TAMS 0x00000000edf00000, 0x00000000edf00000| Untracked -| 224|0x00000000ee000000, 0x00000000ee000000, 0x00000000ee100000| 0%| F| |TAMS 0x00000000ee000000, 0x00000000ee000000| Untracked -| 225|0x00000000ee100000, 0x00000000ee100000, 0x00000000ee200000| 0%| F| |TAMS 0x00000000ee100000, 0x00000000ee100000| Untracked -| 226|0x00000000ee200000, 0x00000000ee200000, 0x00000000ee300000| 0%| F| |TAMS 0x00000000ee200000, 0x00000000ee200000| Untracked -| 227|0x00000000ee300000, 0x00000000ee300000, 0x00000000ee400000| 0%| F| |TAMS 0x00000000ee300000, 0x00000000ee300000| Untracked -| 228|0x00000000ee400000, 0x00000000ee400000, 0x00000000ee500000| 0%| F| |TAMS 0x00000000ee400000, 0x00000000ee400000| Untracked -| 229|0x00000000ee500000, 0x00000000ee500000, 0x00000000ee600000| 0%| F| |TAMS 0x00000000ee500000, 0x00000000ee500000| Untracked -| 230|0x00000000ee600000, 0x00000000ee600000, 0x00000000ee700000| 0%| F| |TAMS 0x00000000ee600000, 0x00000000ee600000| Untracked -| 231|0x00000000ee700000, 0x00000000ee700000, 0x00000000ee800000| 0%| F| |TAMS 0x00000000ee700000, 0x00000000ee700000| Untracked -| 232|0x00000000ee800000, 0x00000000ee800000, 0x00000000ee900000| 0%| F| |TAMS 0x00000000ee800000, 0x00000000ee800000| Untracked -| 233|0x00000000ee900000, 0x00000000ee900000, 0x00000000eea00000| 0%| F| |TAMS 0x00000000ee900000, 0x00000000ee900000| Untracked -| 234|0x00000000eea00000, 0x00000000eea00000, 0x00000000eeb00000| 0%| F| |TAMS 0x00000000eea00000, 0x00000000eea00000| Untracked -| 235|0x00000000eeb00000, 0x00000000eeb00000, 0x00000000eec00000| 0%| F| |TAMS 0x00000000eeb00000, 0x00000000eeb00000| Untracked -| 236|0x00000000eec00000, 0x00000000eec00000, 0x00000000eed00000| 0%| F| |TAMS 0x00000000eec00000, 0x00000000eec00000| Untracked -| 237|0x00000000eed00000, 0x00000000eed00000, 0x00000000eee00000| 0%| F| |TAMS 0x00000000eed00000, 0x00000000eed00000| Untracked -| 238|0x00000000eee00000, 0x00000000eee00000, 0x00000000eef00000| 0%| F| |TAMS 0x00000000eee00000, 0x00000000eee00000| Untracked -| 239|0x00000000eef00000, 0x00000000eef00000, 0x00000000ef000000| 0%| F| |TAMS 0x00000000eef00000, 0x00000000eef00000| Untracked -| 240|0x00000000ef000000, 0x00000000ef000000, 0x00000000ef100000| 0%| F| |TAMS 0x00000000ef000000, 0x00000000ef000000| Untracked -| 241|0x00000000ef100000, 0x00000000ef200000, 0x00000000ef200000|100%| E| |TAMS 0x00000000ef100000, 0x00000000ef100000| Complete -| 242|0x00000000ef200000, 0x00000000ef300000, 0x00000000ef300000|100%| E|CS|TAMS 0x00000000ef200000, 0x00000000ef200000| Complete -| 243|0x00000000ef300000, 0x00000000ef3fab70, 0x00000000ef400000| 97%| S|CS|TAMS 0x00000000ef300000, 0x00000000ef300000| Complete -| 244|0x00000000ef400000, 0x00000000ef500000, 0x00000000ef500000|100%| S|CS|TAMS 0x00000000ef400000, 0x00000000ef400000| Complete -| 245|0x00000000ef500000, 0x00000000ef600000, 0x00000000ef600000|100%| E|CS|TAMS 0x00000000ef500000, 0x00000000ef500000| Complete -| 246|0x00000000ef600000, 0x00000000ef700000, 0x00000000ef700000|100%| E|CS|TAMS 0x00000000ef600000, 0x00000000ef600000| Complete -| 247|0x00000000ef700000, 0x00000000ef800000, 0x00000000ef800000|100%| E|CS|TAMS 0x00000000ef700000, 0x00000000ef700000| Complete -| 248|0x00000000ef800000, 0x00000000ef900000, 0x00000000ef900000|100%| E|CS|TAMS 0x00000000ef800000, 0x00000000ef800000| Complete -| 249|0x00000000ef900000, 0x00000000efa00000, 0x00000000efa00000|100%| E|CS|TAMS 0x00000000ef900000, 0x00000000ef900000| Complete -| 250|0x00000000efa00000, 0x00000000efb00000, 0x00000000efb00000|100%| E|CS|TAMS 0x00000000efa00000, 0x00000000efa00000| Complete -| 251|0x00000000efb00000, 0x00000000efc00000, 0x00000000efc00000|100%| E|CS|TAMS 0x00000000efb00000, 0x00000000efb00000| Complete -| 252|0x00000000efc00000, 0x00000000efd00000, 0x00000000efd00000|100%| E|CS|TAMS 0x00000000efc00000, 0x00000000efc00000| Complete -| 253|0x00000000efd00000, 0x00000000efe00000, 0x00000000efe00000|100%| E|CS|TAMS 0x00000000efd00000, 0x00000000efd00000| Complete -| 254|0x00000000efe00000, 0x00000000eff00000, 0x00000000eff00000|100%| E|CS|TAMS 0x00000000efe00000, 0x00000000efe00000| Complete -| 255|0x00000000eff00000, 0x00000000f0000000, 0x00000000f0000000|100%| E|CS|TAMS 0x00000000eff00000, 0x00000000eff00000| Complete - -Card table byte_map: [0x000001e6505b0000,0x000001e6506b0000] _byte_map_base: 0x000001e64feb0000 - -Marking Bits (Prev, Next): (CMBitMap*) 0x000001e637953020, (CMBitMap*) 0x000001e637952fe8 - Prev Bits: [0x000001e650fb0000, 0x000001e6517b0000) - Next Bits: [0x000001e6507b0000, 0x000001e650fb0000) - -Polling page: 0x000001e635dd0000 - -Metaspace: - -Usage: - Non-class: 69.99 MB capacity, 68.11 MB ( 97%) used, 1.59 MB ( 2%) free+waste, 295.75 KB ( <1%) overhead. - Class: 11.30 MB capacity, 10.20 MB ( 90%) used, 980.73 KB ( 8%) free+waste, 142.25 KB ( 1%) overhead. - Both: 81.29 MB capacity, 78.31 MB ( 96%) used, 2.55 MB ( 3%) free+waste, 438.00 KB ( <1%) overhead. - -Virtual space: - Non-class space: 72.00 MB reserved, 70.08 MB ( 97%) committed - Class space: 248.00 MB reserved, 11.38 MB ( 5%) committed - Both: 320.00 MB reserved, 81.45 MB ( 25%) committed - -Chunk freelists: - Non-Class: 3.13 KB - Class: 2.13 KB - Both: 5.25 KB - -CodeHeap 'non-profiled nmethods': size=120000Kb used=6801Kb max_used=6801Kb free=113198Kb - bounds [0x000001e6482f0000, 0x000001e6489a0000, 0x000001e64f820000] -CodeHeap 'profiled nmethods': size=120000Kb used=21916Kb max_used=21916Kb free=98083Kb - bounds [0x000001e640dc0000, 0x000001e642330000, 0x000001e6482f0000] -CodeHeap 'non-nmethods': size=5760Kb used=2273Kb max_used=2346Kb free=3486Kb - bounds [0x000001e640820000, 0x000001e640a90000, 0x000001e640dc0000] - total_blobs=13226 nmethods=9795 adapters=783 - compilation: enabled - stopped_count=0, restarted_count=0 - full_count=0 - -Compilation events (10 events): -Event: 11.519 Thread 0x000001e657346000 nmethod 10040 0x000001e648974f90 code [0x000001e648975180, 0x000001e648976158] -Event: 11.519 Thread 0x000001e659ec6000 nmethod 9893 0x000001e648976710 code [0x000001e648976aa0, 0x000001e648979c00] -Event: 11.524 Thread 0x000001e654d0a800 10068 3 com.esotericsoftware.kryo.io.Output::writeByte (36 bytes) -Event: 11.524 Thread 0x000001e654d0a800 nmethod 10068 0x000001e642302190 code [0x000001e642302360, 0x000001e642302590] -Event: 11.528 Thread 0x000001e654d08800 10069 ! 4 java.util.zip.ZipFile::getMetaInfEntryNames (106 bytes) -Event: 11.533 Thread 0x000001e657346000 10070 ! 4 java.lang.StringCoding::decode (300 bytes) -Event: 11.534 Thread 0x000001e659ec6000 10071 4 java.lang.StringCoding::decodeUTF8 (45 bytes) -Event: 11.558 Thread 0x000001e659ec6000 nmethod 10071 0x000001e64897bd10 code [0x000001e64897bf40, 0x000001e64897ce90] -Event: 11.559 Thread 0x000001e654d08800 nmethod 10069 0x000001e64897d510 code [0x000001e64897d760, 0x000001e64897efe0] -Event: 11.578 Thread 0x000001e657346000 nmethod 10070 0x000001e64897fd10 code [0x000001e64897ffc0, 0x000001e648981d80] - -GC Heap History (10 events): -Event: 6.851 GC heap before -{Heap before GC invocations=8 (full 0): - garbage-first heap total 262144K, used 81155K [0x00000000e0000000, 0x0000000100000000) - region size 1024K, 59 young (60416K), 15 survivors (15360K) - Metaspace used 58543K, capacity 60078K, committed 60240K, reserved 307200K - class space used 7539K, capacity 8114K, committed 8192K, reserved 253952K -} -Event: 6.866 GC heap after -{Heap after GC invocations=9 (full 0): - garbage-first heap total 262144K, used 38013K [0x00000000e0000000, 0x0000000100000000) - region size 1024K, 7 young (7168K), 7 survivors (7168K) - Metaspace used 58543K, capacity 60078K, committed 60240K, reserved 307200K - class space used 7539K, capacity 8114K, committed 8192K, reserved 253952K -} -Event: 8.165 GC heap before -{Heap before GC invocations=10 (full 0): - garbage-first heap total 262144K, used 189565K [0x00000000e0000000, 0x0000000100000000) - region size 1024K, 152 young (155648K), 7 survivors (7168K) - Metaspace used 66453K, capacity 68388K, committed 68560K, reserved 313344K - class space used 8744K, capacity 9494K, committed 9600K, reserved 253952K -} -Event: 8.174 GC heap after -{Heap after GC invocations=11 (full 0): - garbage-first heap total 262144K, used 53922K [0x00000000e0000000, 0x0000000100000000) - region size 1024K, 19 young (19456K), 19 survivors (19456K) - Metaspace used 66453K, capacity 68388K, committed 68560K, reserved 313344K - class space used 8744K, capacity 9494K, committed 9600K, reserved 253952K -} -Event: 10.171 GC heap before -{Heap before GC invocations=11 (full 0): - garbage-first heap total 262144K, used 222882K [0x00000000e0000000, 0x0000000100000000) - region size 1024K, 153 young (156672K), 19 survivors (19456K) - Metaspace used 72722K, capacity 75403K, committed 75600K, reserved 319488K - class space used 9666K, capacity 10651K, committed 10752K, reserved 253952K -} -Event: 10.186 GC heap after -{Heap after GC invocations=12 (full 0): - garbage-first heap total 262144K, used 96081K [0x00000000e0000000, 0x0000000100000000) - region size 1024K, 11 young (11264K), 11 survivors (11264K) - Metaspace used 72722K, capacity 75403K, committed 75600K, reserved 319488K - class space used 9666K, capacity 10651K, committed 10752K, reserved 253952K -} -Event: 11.456 GC heap before -{Heap before GC invocations=12 (full 0): - garbage-first heap total 262144K, used 233297K [0x00000000e0000000, 0x0000000100000000) - region size 1024K, 119 young (121856K), 11 survivors (11264K) - Metaspace used 77873K, capacity 80806K, committed 81104K, reserved 325632K - class space used 10225K, capacity 11297K, committed 11392K, reserved 253952K -} -Event: 11.466 GC heap after -{Heap after GC invocations=13 (full 0): - garbage-first heap total 262144K, used 135080K [0x00000000e0000000, 0x0000000100000000) - region size 1024K, 12 young (12288K), 12 survivors (12288K) - Metaspace used 77873K, capacity 80806K, committed 81104K, reserved 325632K - class space used 10225K, capacity 11297K, committed 11392K, reserved 253952K -} -Event: 11.550 GC heap before -{Heap before GC invocations=13 (full 0): - garbage-first heap total 262144K, used 145320K [0x00000000e0000000, 0x0000000100000000) - region size 1024K, 23 young (23552K), 12 survivors (12288K) - Metaspace used 78770K, capacity 81785K, committed 82000K, reserved 325632K - class space used 10337K, capacity 11428K, committed 11520K, reserved 253952K -} -Event: 11.556 GC heap after -{Heap after GC invocations=14 (full 0): - garbage-first heap total 262144K, used 137095K [0x00000000e0000000, 0x0000000100000000) - region size 1024K, 2 young (2048K), 2 survivors (2048K) - Metaspace used 78770K, capacity 81785K, committed 82000K, reserved 325632K - class space used 10337K, capacity 11428K, committed 11520K, reserved 253952K -} - -Deoptimization events (10 events): -Event: 10.993 Thread 0x000001e656ff6000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e6488ed774 method=com.esotericsoftware.kryo.io.Input.require(I)I @ 65 c2 -Event: 11.102 Thread 0x000001e65887b800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e648801a4c method=java.lang.ThreadLocal.get()Ljava/lang/Object; @ 11 c2 -Event: 11.115 Thread 0x000001e656ff6000 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x000001e648594754 method=java.lang.Throwable.(Ljava/lang/String;Ljava/lang/Throwable;)V @ 24 c2 -Event: 11.130 Thread 0x000001e656ff6000 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x000001e648594754 method=java.lang.Throwable.(Ljava/lang/String;Ljava/lang/Throwable;)V @ 24 c2 -Event: 11.134 Thread 0x000001e656ff6000 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x000001e648594754 method=java.lang.Throwable.(Ljava/lang/String;Ljava/lang/Throwable;)V @ 24 c2 -Event: 11.428 Thread 0x000001e656ff6000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001e6487aa1e0 method=groovy.lang.MetaClassImpl.checkIfStdMethod(Lgroovy/lang/MetaMethod;)V @ 167 c2 -Event: 11.442 Thread 0x000001e656ff6000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000001e6483c5978 method=groovy.lang.MetaMethod.isStatic()Z @ 1 c2 -Event: 11.443 Thread 0x000001e656ff6000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000001e6483c5978 method=groovy.lang.MetaMethod.isStatic()Z @ 1 c2 -Event: 11.444 Thread 0x000001e656ff6000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000001e6483c5978 method=groovy.lang.MetaMethod.isStatic()Z @ 1 c2 -Event: 11.445 Thread 0x000001e656ff6000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000001e6483c5978 method=groovy.lang.MetaMethod.isStatic()Z @ 1 c2 - -Classes redefined (0 events): -No events - -Internal exceptions (10 events): -Event: 11.482 Thread 0x000001e656ff6000 Exception (0x00000000efd1ce40) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231] -Event: 11.482 Thread 0x000001e656ff6000 Exception (0x00000000efd32560) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231] -Event: 11.487 Thread 0x000001e656ff6000 Exception (0x00000000efc6f7f0) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231] -Event: 11.487 Thread 0x000001e656ff6000 Exception (0x00000000efc78c48) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231] -Event: 11.487 Thread 0x000001e656ff6000 Exception (0x00000000efc82300) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231] -Event: 11.488 Thread 0x000001e656ff6000 Exception (0x00000000efca5d58) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231 -Event: 11.494 Thread 0x000001e656ff6000 Exception (0x00000000efb04938) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231] -Event: 11.495 Thread 0x000001e656ff6000 Exception (0x00000000efb15d20) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 231 -Event: 11.499 Thread 0x000001e65887b800 Exception > (0x00000000efb883a0) thrown at [t:/workspace/open/src/hotspot/share/prims/jni.cpp, line 1364] -Event: 11.515 Thread 0x000001e65887b800 Exception > (0x00000000ef9891e8) thrown at [t:/workspace/open/src/hotspot/share/prims/jni.cpp, line 1364] - -Events (10 events): -Event: 11.550 Executing VM operation: G1CollectForAllocation -Event: 11.556 Executing VM operation: G1CollectForAllocation done -Event: 11.565 loading class kotlin/collections/ArraysKt___ArraysJvmKt -Event: 11.565 loading class kotlin/collections/ArraysKt___ArraysJvmKt done -Event: 11.566 loading class kotlin/collections/ArraysKt__ArraysKt -Event: 11.566 loading class kotlin/collections/ArraysKt__ArraysKt done -Event: 11.566 loading class kotlin/collections/ArraysKt__ArraysJVMKt -Event: 11.566 loading class kotlin/collections/ArraysKt__ArraysJVMKt done -Event: 11.579 loading class kotlin/collections/EmptyList -Event: 11.579 loading class kotlin/collections/EmptyList done - - -Dynamic libraries: -0x00007ff71f000000 - 0x00007ff71f045000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\java.exe -0x00007ff94d8f0000 - 0x00007ff94db04000 C:\WINDOWS\SYSTEM32\ntdll.dll -0x00007ff94b780000 - 0x00007ff94b842000 C:\WINDOWS\System32\KERNEL32.DLL -0x00007ff94acf0000 - 0x00007ff94b093000 C:\WINDOWS\System32\KERNELBASE.dll -0x00007ff94bfa0000 - 0x00007ff94c14b000 C:\WINDOWS\System32\USER32.dll -0x00007ff94b0a0000 - 0x00007ff94b0c6000 C:\WINDOWS\System32\win32u.dll -0x00007ff94d000000 - 0x00007ff94d029000 C:\WINDOWS\System32\GDI32.dll -0x00007ff94b270000 - 0x00007ff94b389000 C:\WINDOWS\System32\gdi32full.dll -0x00007ff94b630000 - 0x00007ff94b6ca000 C:\WINDOWS\System32\msvcp_win.dll -0x00007ff94b150000 - 0x00007ff94b261000 C:\WINDOWS\System32\ucrtbase.dll -0x00007ff93bfc0000 - 0x00007ff93c24e000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22621.1635_none_270f70857386168e\COMCTL32.dll -0x00007ff94cf50000 - 0x00007ff94cff7000 C:\WINDOWS\System32\msvcrt.dll -0x00007ff94cb40000 - 0x00007ff94cb71000 C:\WINDOWS\System32\IMM32.DLL -0x00007ff921b70000 - 0x00007ff921c14000 C:\Program Files\McAfee\Endpoint Security\Threat Prevention\Ips\EpMPApi.dll -0x00007ff94be60000 - 0x00007ff94bf77000 C:\WINDOWS\System32\RPCRT4.dll -0x00007ff94bc40000 - 0x00007ff94bcee000 C:\WINDOWS\System32\ADVAPI32.dll -0x00007ff94bd10000 - 0x00007ff94bdb4000 C:\WINDOWS\System32\sechost.dll -0x00007ff94b500000 - 0x00007ff94b56b000 C:\WINDOWS\System32\WINTRUST.dll -0x00007ff94b390000 - 0x00007ff94b4f7000 C:\WINDOWS\System32\CRYPT32.dll -0x00007ff94a560000 - 0x00007ff94a572000 C:\WINDOWS\SYSTEM32\MSASN1.dll -0x0000000072910000 - 0x000000007291c000 C:\Program Files\McAfee\Endpoint Security\Threat Prevention\Ips\EpMPThe.dll -0x00007ff921b10000 - 0x00007ff921b6b000 C:\Program Files\McAfee\Endpoint Security\Threat Prevention\Ips\HIPHandlers64.dll -0x00007ff94c810000 - 0x00007ff94c86e000 C:\WINDOWS\System32\SHLWAPI.dll -0x00007ff936300000 - 0x00007ff93652e000 C:\WINDOWS\SYSTEM32\dbghelp.dll -0x00007ff94b860000 - 0x00007ff94bbe9000 C:\WINDOWS\System32\combase.dll -0x00007ff94cce0000 - 0x00007ff94cdb7000 C:\WINDOWS\System32\OLEAUT32.dll -0x000001e637aa0000 - 0x000001e63829a000 C:\WINDOWS\System32\SHELL32.dll -0x00007ff9307b0000 - 0x00007ff9307c6000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\vcruntime140.dll -0x00007ff9270f0000 - 0x00007ff92719a000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\msvcp140.dll -0x00007ff8adfa0000 - 0x00007ff8aeac3000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\server\jvm.dll -0x00007ff94d8a0000 - 0x00007ff94d8a8000 C:\WINDOWS\System32\PSAPI.DLL -0x00007ff940470000 - 0x00007ff9404a4000 C:\WINDOWS\SYSTEM32\WINMM.dll -0x00007ff945750000 - 0x00007ff94575a000 C:\WINDOWS\SYSTEM32\VERSION.dll -0x00007ff935320000 - 0x00007ff935329000 C:\WINDOWS\SYSTEM32\WSOCK32.dll -0x00007ff94c790000 - 0x00007ff94c801000 C:\WINDOWS\System32\WS2_32.dll -0x00007ff949e30000 - 0x00007ff949e48000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll -0x00007ff9270d0000 - 0x00007ff9270e1000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\verify.dll -0x00007ff932090000 - 0x00007ff9320c2000 C:\WINDOWS\SYSTEM32\dbgcore.DLL -0x00007ff94b0d0000 - 0x00007ff94b14b000 C:\WINDOWS\System32\bcryptPrimitives.dll -0x00007ff9270a0000 - 0x00007ff9270c8000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\java.dll -0x00007ff927080000 - 0x00007ff927096000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\zip.dll -0x00007ff92be70000 - 0x00007ff92be7a000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\jimage.dll -0x00007ff948c20000 - 0x00007ff9494ee000 C:\WINDOWS\SYSTEM32\windows.storage.dll -0x00007ff9489e0000 - 0x00007ff948b1e000 C:\WINDOWS\SYSTEM32\wintypes.dll -0x00007ff94cdc0000 - 0x00007ff94ceb1000 C:\WINDOWS\System32\SHCORE.dll -0x00007ff94ac20000 - 0x00007ff94ac41000 C:\WINDOWS\SYSTEM32\profapi.dll -0x00007ff927060000 - 0x00007ff927079000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\net.dll -0x00007ff944420000 - 0x00007ff94460f000 C:\WINDOWS\SYSTEM32\urlmon.dll -0x00007ff944da0000 - 0x00007ff944ed7000 C:\WINDOWS\SYSTEM32\WINHTTP.dll -0x00007ff9404b0000 - 0x00007ff940761000 C:\WINDOWS\SYSTEM32\iertutil.dll -0x00007ff9499c0000 - 0x00007ff9499e8000 C:\WINDOWS\SYSTEM32\srvcli.dll -0x00007ff9499f0000 - 0x00007ff9499fc000 C:\WINDOWS\SYSTEM32\netutils.dll -0x00007ff94a2a0000 - 0x00007ff94a309000 C:\WINDOWS\system32\mswsock.dll -0x00007ff926fc0000 - 0x00007ff926fd3000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\nio.dll -0x00007ff92cd10000 - 0x00007ff92cd37000 C:\Users\dornier\.gradle\native\68d5fa5c4cc2d200863cafc0d521ce42e7d3e7ee720ec0a83991735586a16f82\windows-amd64\native-platform.dll -0x00007ff917640000 - 0x00007ff917784000 C:\Users\dornier\.gradle\native\e376f236ea51e6404a007f0833ffe2c6e607c4080706a723a18a27aeea778392\windows-amd64\native-platform-file-events.dll -0x00007ff93d930000 - 0x00007ff93d939000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\management.dll -0x00007ff93d220000 - 0x00007ff93d22c000 C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\management_ext.dll -0x00007ff94a500000 - 0x00007ff94a51b000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll -0x00007ff949da0000 - 0x00007ff949dd5000 C:\WINDOWS\system32\rsaenh.dll -0x00007ff94a3a0000 - 0x00007ff94a3c8000 C:\WINDOWS\SYSTEM32\USERENV.dll -0x00007ff94a690000 - 0x00007ff94a6b8000 C:\WINDOWS\SYSTEM32\bcrypt.dll -0x00007ff94a520000 - 0x00007ff94a52c000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll -0x00007ff949640000 - 0x00007ff94966d000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL -0x00007ff94bf90000 - 0x00007ff94bf99000 C:\WINDOWS\System32\NSI.dll -0x00007ff9450a0000 - 0x00007ff9450b9000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL -0x00007ff944ee0000 - 0x00007ff944eff000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL -0x00007ff949670000 - 0x00007ff949763000 C:\WINDOWS\SYSTEM32\DNSAPI.dll - -dbghelp: loaded successfully - version: 4.0.5 - missing functions: none -symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin;C:\WINDOWS\SYSTEM32;C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22621.1635_none_270f70857386168e;C:\Program Files\McAfee\Endpoint Security\Threat Prevention\Ips;C:\Program Files\AdoptOpenJDK\jdk-11.0.2\bin\server;C:\Users\dornier\.gradle\native\68d5fa5c4cc2d200863cafc0d521ce42e7d3e7ee720ec0a83991735586a16f82\windows-amd64;C:\Users\dornier\.gradle\native\e376f236ea51e6404a007f0833ffe2c6e607c4080706a723a18a27aeea778392\windows-amd64 - -VM Arguments: -jvm_args: --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xms256m -Xmx512m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -java_command: org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.0 -java_class_path (initial): C:\Users\dornier\.gradle\wrapper\dists\gradle-8.0-bin\ca5e32bp14vu59qr306oxotwh\gradle-8.0\lib\gradle-launcher-8.0.jar -Launcher Type: SUN_STANDARD - -[Global flags] - intx CICompilerCount = 4 {product} {ergonomic} - size_t CompressedClassSpaceSize = 260046848 {product} {ergonomic} - uint ConcGCThreads = 3 {product} {ergonomic} - uint G1ConcRefinementThreads = 10 {product} {ergonomic} - size_t G1HeapRegionSize = 1048576 {product} {ergonomic} - uintx GCDrainStackTargetSize = 64 {product} {ergonomic} - bool HeapDumpOnOutOfMemoryError = true {manageable} {command line} - size_t InitialHeapSize = 268435456 {product} {command line} - size_t MarkStackSize = 4194304 {product} {ergonomic} - size_t MaxHeapSize = 536870912 {product} {command line} - size_t MaxMetaspaceSize = 268435456 {product} {command line} - size_t MaxNewSize = 321912832 {product} {ergonomic} - size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic} - uintx NonNMethodCodeHeapSize = 5835340 {pd product} {ergonomic} - uintx NonProfiledCodeHeapSize = 122911450 {pd product} {ergonomic} - uintx ProfiledCodeHeapSize = 122911450 {pd product} {ergonomic} - uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} - bool SegmentedCodeCache = true {product} {ergonomic} - bool UseCompressedClassPointers = true {lp64_product} {ergonomic} - bool UseCompressedOops = true {lp64_product} {ergonomic} - bool UseG1GC = true {product} {ergonomic} - bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} - -Logging: -Log output configuration: - #0: stdout all=warning uptime,level,tags - #1: stderr all=off uptime,level,tags - -Environment Variables: -JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-11.0.2 -PATH=C:\Program Files\AdoptOpenJDK\jdk-8.0.282.8-hotspot\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Sennheiser\SenncomSDK\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files\Aspera\Client\bin\;C:\CI\xmllint\bin;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1\plugins\maven\lib\maven3\bin;C:\Program Files\dotnet\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\dornier\Miniconda3\condabin;C:\Program Files\Git\cmd;C:\Program Files\TortoiseGit\bin;C:\Users\dornier\AppData\Local\Microsoft\WindowsApps;C:\Users\dornier\.dotnet\tools;C:\Program Files\Jetraw\bin64\; -USERNAME=dornier -OS=Windows_NT -PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 62 Stepping 4, GenuineIntel - - - ---------------- S Y S T E M --------------- - -OS: Windows 10 , 64 bit Build 22621 (10.0.22621.1778) - -CPU:total 12 (initial active 12) (6 cores per cpu, 2 threads per core) family 6 model 62 stepping 4, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, clmul, erms, ht, tsc, tscinvbit - -Memory: 4k page, system-wide physical 20418M (6488M free) -TotalPageFile size 26306M (AvailPageFile size 3977M) -current process WorkingSet (physical memory assigned to process): 506M, peak: 507M -current process commit charge ("private bytes"): 559M, peak: 562M - -vm_info: OpenJDK 64-Bit Server VM (11.0.2+9) for windows-amd64 JRE (11.0.2+9), built on Jan 18 2019 05:23:22 by "mach5one" with MS VC++ 15.5 (VS2017) - -END. From 5939536e5ab4e3a55bbe3ad7c2ae0750c857b07c Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Wed, 19 Jul 2023 12:46:59 +0100 Subject: [PATCH 20/44] bump org.openmicroscopy:omero-blitz to 5.6.3 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 52b53f02..a14f3d07 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ repositories { } dependencies { - api("org.openmicroscopy:omero-blitz:5.6.2") + api("org.openmicroscopy:omero-blitz:5.6.3") implementation("commons-beanutils:commons-beanutils:1.9.3") implementation("com.zeroc:icegrid:3.6.5") From 64f0c6f44990b583f71e1c4a5a2c3786116d336e Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Wed, 19 Jul 2023 12:55:10 +0100 Subject: [PATCH 21/44] add entry for 5.8.1 --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a578d8c0..33eb77ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +5.8.1 (July 2023) +----------------- + +- Fix bug on download images based on omero-insight#264([#78](https://github.com/ome/omero-gateway-java/pull/78)) Thanks to Rémy Dornier +- BugFix: Set StringColumn to the correct size ([#76](https://github.com/ome/omero-gateway-java/pull/76)) +- Bump omero-blitz version to 5.6.3 + 5.8.0 (March 2023) ------------------ From 001b7f8188f6808848d050337c47a34a5f2b0bf4 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Wed, 19 Jul 2023 12:55:36 +0100 Subject: [PATCH 22/44] drop snapshot --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index a14f3d07..6e0d07c2 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { } group = "org.openmicroscopy" -version = "5.8.1-SNAPSHOT" +version = "5.8.1" repositories { mavenLocal() From b4a6a6349ad21e50cdf342667703f44545a47c20 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Wed, 19 Jul 2023 12:56:31 +0100 Subject: [PATCH 23/44] revert to snapshot --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 6e0d07c2..595ecf73 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { } group = "org.openmicroscopy" -version = "5.8.1" +version = "5.8.2-SNAPSHOT" repositories { mavenLocal() From 5b1be654e3d91d0ca883313ee816498c22e21a9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Besson?= Date: Mon, 21 Aug 2023 16:10:14 +0100 Subject: [PATCH 24/44] Add top-level Git mailmap Since 2003, this codebase has substantially grown thanks to the input of several tens of contributors. Over two decades, commits from the same author are associated with multiple variants of the author line. In order to effectively review and audit contributions, it is necessary to normalize this variant. This commit attempts to do so by using the Git mailmap functionality to associate all commits from the same individual to a single First Name Last Name form. When applicable, either the University of Dundee or the Glencoe Software email address is used as the canonical address. --- .mailmap | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .mailmap diff --git a/.mailmap b/.mailmap new file mode 100644 index 00000000..a6e010ca --- /dev/null +++ b/.mailmap @@ -0,0 +1,18 @@ +Aleksandra Tarkowska +Andrew Patterson Andrew J Patterson +Chris Allan +Colin Blackburn +Colin Blackburn +Dominik Lindner +Jean-Marie Burel jburel +Jean-Marie Burel jean-marie burel +Josh Moore +Josh Moore +Josh Moore +Josh Moore +Mark Carroll +Melissa Linkert +Rémy Dornier Rdornier <64911638+Rdornier@users.noreply.github.com> +Roger Leigh +Sébastien Besson +Will Moore From 3577d2f0023e19884ec3be37b2626cc4e6a2098b Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Thu, 7 Sep 2023 13:41:28 +0100 Subject: [PATCH 25/44] bump org.openmicroscopy:omero-blitz to 5.7.1 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 595ecf73..f4f03a8e 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ repositories { } dependencies { - api("org.openmicroscopy:omero-blitz:5.6.3") + api("org.openmicroscopy:omero-blitz:5.7.1") implementation("commons-beanutils:commons-beanutils:1.9.3") implementation("com.zeroc:icegrid:3.6.5") From 230f6a7a760d474518ea474472bd9aaabea34f1c Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Thu, 7 Sep 2023 13:42:57 +0100 Subject: [PATCH 26/44] add entry for 5.8.2 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 33eb77ac..88a14f9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +5.8.2 (September 2023) +---------------------- + +- Bump omero-blitz version to 5.7.1 +- Add top-level Git mailmap + 5.8.1 (July 2023) ----------------- From 49c2555be722d4996022ad28cf5b710e1f3fab57 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Thu, 7 Sep 2023 13:43:20 +0100 Subject: [PATCH 27/44] drop snapshot --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index f4f03a8e..d1fc65e0 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { } group = "org.openmicroscopy" -version = "5.8.2-SNAPSHOT" +version = "5.8.2" repositories { mavenLocal() From bddd2a6ebd01fbee3d6d8c85a65b02cdc9068a73 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Thu, 7 Sep 2023 13:46:46 +0100 Subject: [PATCH 28/44] revert to snapshot --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index d1fc65e0..c9a2cc36 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { } group = "org.openmicroscopy" -version = "5.8.2" +version = "5.8.3-SNAPSHOT" repositories { mavenLocal() From cfbcc59971ad453b9c8f4ab82df816b30a6c6f5b Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Thu, 23 Nov 2023 11:50:01 +0000 Subject: [PATCH 29/44] Simply return empty string if middlename is null --- src/main/java/omero/gateway/model/ExperimenterData.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/java/omero/gateway/model/ExperimenterData.java b/src/main/java/omero/gateway/model/ExperimenterData.java index f9589089..7ceb42ae 100644 --- a/src/main/java/omero/gateway/model/ExperimenterData.java +++ b/src/main/java/omero/gateway/model/ExperimenterData.java @@ -1,6 +1,6 @@ /* *------------------------------------------------------------------------------ - * Copyright (C) 2006-2017 University of Dundee. All rights reserved. + * Copyright (C) 2006-2023 University of Dundee. All rights reserved. * * * This program is free software; you can redistribute it and/or modify @@ -268,10 +268,7 @@ public GroupData getDefaultGroup() { */ public String getMiddleName() { omero.RString n = asExperimenter().getMiddleName(); - if (n == null || n.getValue() == null) { - throw new IllegalStateException( - "The name should never have been null"); - } + if (n == null || n.getValue() == null) return ""; return n.getValue(); } From a04b0b8e775ef8d88ab159fb7aa1c116d4a3bb8e Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Fri, 24 Nov 2023 13:10:10 +0000 Subject: [PATCH 30/44] Download into Fileset_xyz directory --- .../omero/gateway/facility/TransferFacilityHelper.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/main/java/omero/gateway/facility/TransferFacilityHelper.java b/src/main/java/omero/gateway/facility/TransferFacilityHelper.java index 6b806308..575a7b87 100644 --- a/src/main/java/omero/gateway/facility/TransferFacilityHelper.java +++ b/src/main/java/omero/gateway/facility/TransferFacilityHelper.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015 University of Dundee & Open Microscopy Environment. + * Copyright (C) 2015-2023 University of Dundee & Open Microscopy Environment. * All rights reserved. * * This program is free software; you can redistribute it and/or modify @@ -62,10 +62,6 @@ public class TransferFacilityHelper { * * @param gateway * Reference to the gateway. - * @param datamanager - * Reference to the manager facility. - * @param parent - * Reference to the parent. * @throws ExecutionException */ TransferFacilityHelper(Gateway gateway) throws ExecutionException { @@ -134,12 +130,12 @@ List downloadImage(SecurityContext context, String targetPath, if (image.isFSImage()) { for (Object tmp : filesets) { Fileset fs = (Fileset) tmp; - + String fs_dir = "Fileset_"+fs.getId().getValue(); String repoPath = fs.getTemplatePrefix().getValue(); for (FilesetEntry fse: fs.copyUsedFiles()) { OriginalFile of = fse.getOriginalFile(); String ofDir = of.getPath().getValue().replace(repoPath, ""); - File outDir = new File(targetPath+File.separator+ofDir); + File outDir = new File(targetPath+File.separator+ofDir+File.separator+fs_dir); outDir.mkdirs(); File saved = saveOriginalFile(context, of, outDir); if (saved != null) From b7da7a60ed1e404cc641f1500f757e17aa5bff1d Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Fri, 25 Aug 2023 11:11:38 +0100 Subject: [PATCH 31/44] Add method to load multiple objects at once --- .../omero/gateway/facility/LoadFacility.java | 172 ++++++++++++++---- 1 file changed, 140 insertions(+), 32 deletions(-) diff --git a/src/main/java/omero/gateway/facility/LoadFacility.java b/src/main/java/omero/gateway/facility/LoadFacility.java index 92533c84..d1165a22 100644 --- a/src/main/java/omero/gateway/facility/LoadFacility.java +++ b/src/main/java/omero/gateway/facility/LoadFacility.java @@ -33,6 +33,7 @@ import omero.gateway.model.ScreenData; import omero.gateway.model.WellData; import omero.model.DatasetI; +import omero.model.IObject; import omero.model.ImageI; import omero.model.PlateI; import omero.model.ProjectI; @@ -40,6 +41,11 @@ import omero.model.WellI; import omero.sys.ParametersI; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + /** * A Facility for loading basic objects. Note: These are shallow objects with just * one level of hierarchy loaded e.g. a project will have a list of datasets, @@ -50,27 +56,27 @@ public class LoadFacility extends Facility { private static String GET_DATASET_QUERY = "select ds from Dataset as ds " + "left join fetch ds.imageLinks as l " + "left join fetch l.child as i " + - "where ds.id = :id"; + "where ds.id in (:ids)"; private static String GET_PROJECT_QUERY = "select p from Project as p " + "left join fetch p.datasetLinks as l " + "left join fetch l.child as i " + - "where p.id = :id"; + "where p.id =in (:ids)"; private static String GET_IMAGE_QUERY = "select i from Image as i " + "left join fetch i.pixels as p " + "left join fetch p.pixelsType as pt " + - "where i.id = :id"; + "where i.id in (:ids)"; private static String GET_PLATE_QUERY = "select p from Plate as p " + "left join fetch p.wells as w " + "left join fetch p.plateAcquisitions as pa " + - "where p.id = :id"; + "where p.id in (:ids)"; private static String GET_SCREEN_QUERY = "select s from Screen as s " + "left join fetch s.plateLinks as l " + "left join fetch l.child as p " + - "where s.id = :id"; + "where s.id in (:ids)"; private static String GET_WELL_QUERY = "select w from Well as w " + "left join fetch w.wellSamples as ws " + @@ -78,7 +84,7 @@ public class LoadFacility extends Facility { "left join fetch ws.image as img " + "left join fetch img.pixels as pix " + "left join fetch pix.pixelsType as pt " + - "where w.id = :id"; + "where w.id in (:ids)"; /** * Creates a new instance @@ -99,15 +105,32 @@ public class LoadFacility extends Facility { */ public DatasetData getDataset(SecurityContext ctx, long id) throws DSOutOfServiceException, DSAccessException { + Collection tmp = getDatasets(ctx, Collections.singletonList(id)); + if (tmp.isEmpty()) + return null; + return tmp.iterator().next(); + } + + /** + * Get datasets + * @param ctx The SecurityContext + * @param ids The ids of the datasets + * @return Collection of datasets (can be empty) + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public Collection getDatasets(SecurityContext ctx, Collection ids) throws DSOutOfServiceException, + DSAccessException { try { IQueryPrx qs = gateway.getQueryService(ctx); ParametersI param = new ParametersI(); - param.addId(id); - DatasetI tmp = (DatasetI) qs.findByQuery(GET_DATASET_QUERY, param); + param.addIds(ids); + List tmp = qs.findAllByQuery(GET_DATASET_QUERY, param); if (tmp != null) - return new DatasetData(tmp); + return tmp.stream().map(e -> new DatasetData((DatasetI) e)).collect(Collectors.toSet()); + return Collections.emptySet(); } catch (DSOutOfServiceException | ServerError e) { - handleException(this, e, "Could not get dataset"); + handleException(this, e, "Could not get datasets"); } return null; } @@ -122,21 +145,38 @@ public DatasetData getDataset(SecurityContext ctx, long id) throws DSOutOfServic */ public ProjectData getProject(SecurityContext ctx, long id) throws DSOutOfServiceException, DSAccessException { + Collection tmp = getProjects(ctx, Collections.singletonList(id)); + if (tmp.isEmpty()) + return null; + return tmp.iterator().next(); + } + + /** + * Get projects + * @param ctx The SecurityContext + * @param ids The ids of the projects + * @return Collection of projects (can be empty) + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public Collection getProjects(SecurityContext ctx, Collection ids) throws DSOutOfServiceException, + DSAccessException { try { IQueryPrx qs = gateway.getQueryService(ctx); ParametersI param = new ParametersI(); - param.addId(id); - ProjectI tmp = (ProjectI) qs.findByQuery(GET_PROJECT_QUERY, param); + param.addIds(ids); + List tmp = qs.findAllByQuery(GET_PROJECT_QUERY, param); if (tmp != null) - return new ProjectData(tmp); + return tmp.stream().map(e -> new ProjectData((ProjectI) e)).collect(Collectors.toSet()); + return Collections.emptySet(); } catch (DSOutOfServiceException | ServerError e) { - handleException(this, e, "Could not get project"); + handleException(this, e, "Could not get projects"); } return null; } /** - * Get an image + * Get a image * @param ctx The SecurityContext * @param id The id of the image * @return The image or null if it can't be found @@ -145,15 +185,32 @@ public ProjectData getProject(SecurityContext ctx, long id) throws DSOutOfServic */ public ImageData getImage(SecurityContext ctx, long id) throws DSOutOfServiceException, DSAccessException { + Collection tmp = getImages(ctx, Collections.singletonList(id)); + if (tmp.isEmpty()) + return null; + return tmp.iterator().next(); + } + + /** + * Get images + * @param ctx The SecurityContext + * @param ids The ids of the images + * @return Collection of images (can be empty) + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public Collection getImages(SecurityContext ctx, Collection ids) throws DSOutOfServiceException, + DSAccessException { try { IQueryPrx qs = gateway.getQueryService(ctx); ParametersI param = new ParametersI(); - param.addId(id); - ImageI tmp = (ImageI) qs.findByQuery(GET_IMAGE_QUERY, param); + param.addIds(ids); + List tmp = qs.findAllByQuery(GET_IMAGE_QUERY, param); if (tmp != null) - return new ImageData(tmp); + return tmp.stream().map(e -> new ImageData((ImageI) e)).collect(Collectors.toSet()); + return Collections.emptySet(); } catch (DSOutOfServiceException | ServerError e) { - handleException(this, e, "Could not get image"); + handleException(this, e, "Could not get images"); } return null; } @@ -168,15 +225,32 @@ public ImageData getImage(SecurityContext ctx, long id) throws DSOutOfServiceExc */ public ScreenData getScreen(SecurityContext ctx, long id) throws DSOutOfServiceException, DSAccessException { + Collection tmp = getScreens(ctx, Collections.singletonList(id)); + if (tmp.isEmpty()) + return null; + return tmp.iterator().next(); + } + + /** + * Get screens + * @param ctx The SecurityContext + * @param ids The ids of the screens + * @return Collection of screens (can be empty) + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public Collection getScreens(SecurityContext ctx, Collection ids) throws DSOutOfServiceException, + DSAccessException { try { IQueryPrx qs = gateway.getQueryService(ctx); ParametersI param = new ParametersI(); - param.addId(id); - ScreenI tmp = (ScreenI) qs.findByQuery(GET_SCREEN_QUERY, param); + param.addIds(ids); + List tmp = qs.findAllByQuery(GET_SCREEN_QUERY, param); if (tmp != null) - return new ScreenData(tmp); + return tmp.stream().map(e -> new ScreenData((ScreenI) e)).collect(Collectors.toSet()); + return Collections.emptySet(); } catch (DSOutOfServiceException | ServerError e) { - handleException(this, e, "Could not get screen"); + handleException(this, e, "Could not get screens"); } return null; } @@ -191,15 +265,32 @@ public ScreenData getScreen(SecurityContext ctx, long id) throws DSOutOfServiceE */ public PlateData getPlate(SecurityContext ctx, long id) throws DSOutOfServiceException, DSAccessException { + Collection tmp = getPlates(ctx, Collections.singletonList(id)); + if (tmp.isEmpty()) + return null; + return tmp.iterator().next(); + } + + /** + * Get plates + * @param ctx The SecurityContext + * @param ids The ids of the plates + * @return Collection of plates (can be empty) + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public Collection getPlates(SecurityContext ctx, Collection ids) throws DSOutOfServiceException, + DSAccessException { try { IQueryPrx qs = gateway.getQueryService(ctx); ParametersI param = new ParametersI(); - param.addId(id); - PlateI tmp = (PlateI) qs.findByQuery(GET_PLATE_QUERY, param); + param.addIds(ids); + List tmp = qs.findAllByQuery(GET_PLATE_QUERY, param); if (tmp != null) - return new PlateData(tmp); + return tmp.stream().map(e -> new PlateData((PlateI) e)).collect(Collectors.toSet()); + return Collections.emptySet(); } catch (DSOutOfServiceException | ServerError e) { - handleException(this, e, "Could not get plate"); + handleException(this, e, "Could not get screens"); } return null; } @@ -215,17 +306,34 @@ public PlateData getPlate(SecurityContext ctx, long id) throws DSOutOfServiceExc */ public WellData getWell(SecurityContext ctx, long id) throws DSOutOfServiceException, DSAccessException { + Collection tmp = getWells(ctx, Collections.singletonList(id)); + if (tmp.isEmpty()) + return null; + return tmp.iterator().next(); + } + + /** + * Get wells (Note: These are slightly deeper objects, + * with wellsamples and images loaded) + * @param ctx The SecurityContext + * @param ids The ids of the wells + * @return Collection of wells (can be empty) + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public Collection getWells(SecurityContext ctx, Collection ids) throws DSOutOfServiceException, + DSAccessException { try { IQueryPrx qs = gateway.getQueryService(ctx); ParametersI param = new ParametersI(); - param.addId(id); - WellI tmp = (WellI) qs.findByQuery(GET_WELL_QUERY, param); + param.addIds(ids); + List tmp = qs.findAllByQuery(GET_WELL_QUERY, param); if (tmp != null) - return new WellData(tmp); + return tmp.stream().map(e -> new WellData((WellI) e)).collect(Collectors.toSet()); + return Collections.emptySet(); } catch (DSOutOfServiceException | ServerError e) { - handleException(this, e, "Could not get well"); + handleException(this, e, "Could not get wells"); } return null; } - } From e4ac9fe7441c40aca0ce97299ad5ad3c51013b54 Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Tue, 29 Aug 2023 15:02:37 +0100 Subject: [PATCH 32/44] Removed code duplication; added more methods --- .../omero/gateway/facility/LoadFacility.java | 208 ++++++++++-------- 1 file changed, 122 insertions(+), 86 deletions(-) diff --git a/src/main/java/omero/gateway/facility/LoadFacility.java b/src/main/java/omero/gateway/facility/LoadFacility.java index d1165a22..9a608044 100644 --- a/src/main/java/omero/gateway/facility/LoadFacility.java +++ b/src/main/java/omero/gateway/facility/LoadFacility.java @@ -26,25 +26,20 @@ import omero.gateway.SecurityContext; import omero.gateway.exception.DSAccessException; import omero.gateway.exception.DSOutOfServiceException; +import omero.gateway.model.DataObject; import omero.gateway.model.DatasetData; import omero.gateway.model.ImageData; import omero.gateway.model.PlateData; import omero.gateway.model.ProjectData; import omero.gateway.model.ScreenData; import omero.gateway.model.WellData; -import omero.model.DatasetI; import omero.model.IObject; -import omero.model.ImageI; -import omero.model.PlateI; -import omero.model.ProjectI; -import omero.model.ScreenI; -import omero.model.WellI; import omero.sys.ParametersI; - +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; /** * A Facility for loading basic objects. Note: These are shallow objects with just @@ -53,32 +48,41 @@ */ public class LoadFacility extends Facility { - private static String GET_DATASET_QUERY = "select ds from Dataset as ds " + + private static String GET_DATASETS_QUERY = "select ds from Dataset as ds " + "left join fetch ds.imageLinks as l " + "left join fetch l.child as i " + "where ds.id in (:ids)"; - private static String GET_PROJECT_QUERY = "select p from Project as p " + + private static String GET_DATASETS_FOR_PROJECT_QUERY = "select l.child from ProjectDatasetLink l " + + "where l.parent.id = :id"; + + private static String GET_PROJECTS_QUERY = "select p from Project as p " + "left join fetch p.datasetLinks as l " + "left join fetch l.child as i " + "where p.id =in (:ids)"; - private static String GET_IMAGE_QUERY = "select i from Image as i " + + private static String GET_IMAGES_QUERY = "select i from Image as i " + "left join fetch i.pixels as p " + "left join fetch p.pixelsType as pt " + "where i.id in (:ids)"; - private static String GET_PLATE_QUERY = "select p from Plate as p " + + private static String GET_IMAGES_FOR_DATASET_QUERY = "select l.child from DatasetImageLink l " + + "where l.parent.id = :id"; + + private static String GET_PLATES_QUERY = "select p from Plate as p " + "left join fetch p.wells as w " + "left join fetch p.plateAcquisitions as pa " + "where p.id in (:ids)"; - private static String GET_SCREEN_QUERY = "select s from Screen as s " + + private static String GET_PLATES_FOR_SCREEN_QUERY = "select l.child from ScreenPlateLink l " + + "where l.parent.id = :id"; + + private static String GET_SCREENS_QUERY = "select s from Screen as s " + "left join fetch s.plateLinks as l " + "left join fetch l.child as p " + "where s.id in (:ids)"; - private static String GET_WELL_QUERY = "select w from Well as w " + + private static String GET_WELLS_QUERY = "select w from Well as w " + "left join fetch w.wellSamples as ws " + "left join fetch ws.plateAcquisition as pa " + "left join fetch ws.image as img " + @@ -86,6 +90,14 @@ public class LoadFacility extends Facility { "left join fetch pix.pixelsType as pt " + "where w.id in (:ids)"; + private static String GET_WELLS_FOR_PLATE_QUERY = "select w from Well as w " + + "left join fetch w.wellSamples as ws " + + "left join fetch ws.plateAcquisition as pa " + + "left join fetch ws.image as img " + + "left join fetch img.pixels as pix " + + "left join fetch pix.pixelsType as pt " + + "where w.plate = :id"; + /** * Creates a new instance * @@ -95,6 +107,39 @@ public class LoadFacility extends Facility { super(gateway); } + /** + * Queries the DB for certain objects + * @param ctx The SecurityContext + * @param query The hql query + * @param type The class of the objects expected + * @param ids The ids of the objects to insert into the query + * @return A Collection of objects + * @param + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + private Collection queryDb(SecurityContext ctx, String query, Class type, + Collection ids) throws DSOutOfServiceException, DSAccessException { + try { + IQueryPrx qs = gateway.getQueryService(ctx); + ParametersI param = new ParametersI(); + param.addIds(ids); + List tmp = qs.findAllByQuery(query, param); + List result = new ArrayList(); + if (tmp != null && !tmp.isEmpty()) { + for (IObject o : tmp) { + T inst = type.getDeclaredConstructor(o.getClass().getSuperclass()).newInstance(o); + result.add(inst); + } + } + return result; + } catch (DSOutOfServiceException | ServerError | InstantiationException | IllegalAccessException | + InvocationTargetException | NoSuchMethodException e) { + handleException(this, e, "Could not get objects"); + } + return null; + } + /** * Get a dataset * @param ctx The SecurityContext @@ -121,18 +166,21 @@ public DatasetData getDataset(SecurityContext ctx, long id) throws DSOutOfServic */ public Collection getDatasets(SecurityContext ctx, Collection ids) throws DSOutOfServiceException, DSAccessException { - try { - IQueryPrx qs = gateway.getQueryService(ctx); - ParametersI param = new ParametersI(); - param.addIds(ids); - List tmp = qs.findAllByQuery(GET_DATASET_QUERY, param); - if (tmp != null) - return tmp.stream().map(e -> new DatasetData((DatasetI) e)).collect(Collectors.toSet()); - return Collections.emptySet(); - } catch (DSOutOfServiceException | ServerError e) { - handleException(this, e, "Could not get datasets"); - } - return null; + return queryDb(ctx, GET_DATASETS_QUERY, DatasetData.class, ids); + } + + /** + * Get datasets of a project + * @param ctx The SecurityContext + * @param projectId The project Id + * @return Collection of datasets (can be empty) + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public Collection getDatasets(SecurityContext ctx, long projectId) throws DSOutOfServiceException, + DSAccessException { + return queryDb(ctx, GET_DATASETS_FOR_PROJECT_QUERY, DatasetData.class, + Collections.singletonList(projectId)); } /** @@ -161,18 +209,7 @@ public ProjectData getProject(SecurityContext ctx, long id) throws DSOutOfServic */ public Collection getProjects(SecurityContext ctx, Collection ids) throws DSOutOfServiceException, DSAccessException { - try { - IQueryPrx qs = gateway.getQueryService(ctx); - ParametersI param = new ParametersI(); - param.addIds(ids); - List tmp = qs.findAllByQuery(GET_PROJECT_QUERY, param); - if (tmp != null) - return tmp.stream().map(e -> new ProjectData((ProjectI) e)).collect(Collectors.toSet()); - return Collections.emptySet(); - } catch (DSOutOfServiceException | ServerError e) { - handleException(this, e, "Could not get projects"); - } - return null; + return queryDb(ctx, GET_PROJECTS_QUERY, ProjectData.class, ids); } /** @@ -201,18 +238,21 @@ public ImageData getImage(SecurityContext ctx, long id) throws DSOutOfServiceExc */ public Collection getImages(SecurityContext ctx, Collection ids) throws DSOutOfServiceException, DSAccessException { - try { - IQueryPrx qs = gateway.getQueryService(ctx); - ParametersI param = new ParametersI(); - param.addIds(ids); - List tmp = qs.findAllByQuery(GET_IMAGE_QUERY, param); - if (tmp != null) - return tmp.stream().map(e -> new ImageData((ImageI) e)).collect(Collectors.toSet()); - return Collections.emptySet(); - } catch (DSOutOfServiceException | ServerError e) { - handleException(this, e, "Could not get images"); - } - return null; + return queryDb(ctx, GET_IMAGES_QUERY, ImageData.class, ids); + } + + /** + * Get images of a dataset + * @param ctx The SecurityContext + * @param datasetId The dataset Id + * @return Collection of images (can be empty) + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public Collection getImages(SecurityContext ctx, long datasetId) throws DSOutOfServiceException, + DSAccessException { + return queryDb(ctx, GET_IMAGES_FOR_DATASET_QUERY, ImageData.class, + Collections.singletonList(datasetId)); } /** @@ -241,18 +281,7 @@ public ScreenData getScreen(SecurityContext ctx, long id) throws DSOutOfServiceE */ public Collection getScreens(SecurityContext ctx, Collection ids) throws DSOutOfServiceException, DSAccessException { - try { - IQueryPrx qs = gateway.getQueryService(ctx); - ParametersI param = new ParametersI(); - param.addIds(ids); - List tmp = qs.findAllByQuery(GET_SCREEN_QUERY, param); - if (tmp != null) - return tmp.stream().map(e -> new ScreenData((ScreenI) e)).collect(Collectors.toSet()); - return Collections.emptySet(); - } catch (DSOutOfServiceException | ServerError e) { - handleException(this, e, "Could not get screens"); - } - return null; + return queryDb(ctx, GET_SCREENS_QUERY, ScreenData.class, ids); } /** @@ -281,18 +310,21 @@ public PlateData getPlate(SecurityContext ctx, long id) throws DSOutOfServiceExc */ public Collection getPlates(SecurityContext ctx, Collection ids) throws DSOutOfServiceException, DSAccessException { - try { - IQueryPrx qs = gateway.getQueryService(ctx); - ParametersI param = new ParametersI(); - param.addIds(ids); - List tmp = qs.findAllByQuery(GET_PLATE_QUERY, param); - if (tmp != null) - return tmp.stream().map(e -> new PlateData((PlateI) e)).collect(Collectors.toSet()); - return Collections.emptySet(); - } catch (DSOutOfServiceException | ServerError e) { - handleException(this, e, "Could not get screens"); - } - return null; + return queryDb(ctx, GET_PLATES_QUERY, PlateData.class, ids); + } + + /** + * Get plates for a screen + * @param ctx The SecurityContext + * @param screenId The screen Id + * @return Collection of plates (can be empty) + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public Collection getPlates(SecurityContext ctx, long screenId) throws DSOutOfServiceException, + DSAccessException { + return queryDb(ctx, GET_PLATES_FOR_SCREEN_QUERY, PlateData.class, + Collections.singletonList(screenId)); } /** @@ -323,17 +355,21 @@ public WellData getWell(SecurityContext ctx, long id) throws DSOutOfServiceExcep */ public Collection getWells(SecurityContext ctx, Collection ids) throws DSOutOfServiceException, DSAccessException { - try { - IQueryPrx qs = gateway.getQueryService(ctx); - ParametersI param = new ParametersI(); - param.addIds(ids); - List tmp = qs.findAllByQuery(GET_WELL_QUERY, param); - if (tmp != null) - return tmp.stream().map(e -> new WellData((WellI) e)).collect(Collectors.toSet()); - return Collections.emptySet(); - } catch (DSOutOfServiceException | ServerError e) { - handleException(this, e, "Could not get wells"); - } - return null; + return queryDb(ctx, GET_WELLS_QUERY, WellData.class, ids); + } + + /** + * Get wells of a plate (Note: These are slightly deeper objects, + * with wellsamples and images loaded) + * @param ctx The SecurityContext + * @param plateId The plate Id + * @return Collection of wells (can be empty) + * @throws DSOutOfServiceException + * @throws DSAccessException + */ + public Collection getWells(SecurityContext ctx, long plateId) throws DSOutOfServiceException, + DSAccessException { + return queryDb(ctx, GET_WELLS_FOR_PLATE_QUERY, WellData.class, + Collections.singletonList(plateId)); } } From cc1e0d1b7f0e813260135ced65b060e48d8a7388 Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Fri, 1 Sep 2023 12:45:53 +0100 Subject: [PATCH 33/44] Fix loading wells --- .../java/omero/gateway/facility/LoadFacility.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/omero/gateway/facility/LoadFacility.java b/src/main/java/omero/gateway/facility/LoadFacility.java index 9a608044..b13bdef6 100644 --- a/src/main/java/omero/gateway/facility/LoadFacility.java +++ b/src/main/java/omero/gateway/facility/LoadFacility.java @@ -54,12 +54,12 @@ public class LoadFacility extends Facility { "where ds.id in (:ids)"; private static String GET_DATASETS_FOR_PROJECT_QUERY = "select l.child from ProjectDatasetLink l " + - "where l.parent.id = :id"; + "where l.parent.id in (:ids)"; private static String GET_PROJECTS_QUERY = "select p from Project as p " + "left join fetch p.datasetLinks as l " + "left join fetch l.child as i " + - "where p.id =in (:ids)"; + "where p.id in (:ids)"; private static String GET_IMAGES_QUERY = "select i from Image as i " + "left join fetch i.pixels as p " + @@ -67,7 +67,7 @@ public class LoadFacility extends Facility { "where i.id in (:ids)"; private static String GET_IMAGES_FOR_DATASET_QUERY = "select l.child from DatasetImageLink l " + - "where l.parent.id = :id"; + "where l.parent.id in (:ids)"; private static String GET_PLATES_QUERY = "select p from Plate as p " + "left join fetch p.wells as w " + @@ -75,7 +75,7 @@ public class LoadFacility extends Facility { "where p.id in (:ids)"; private static String GET_PLATES_FOR_SCREEN_QUERY = "select l.child from ScreenPlateLink l " + - "where l.parent.id = :id"; + "where l.parent.id in (:ids)"; private static String GET_SCREENS_QUERY = "select s from Screen as s " + "left join fetch s.plateLinks as l " + @@ -84,6 +84,7 @@ public class LoadFacility extends Facility { private static String GET_WELLS_QUERY = "select w from Well as w " + "left join fetch w.wellSamples as ws " + + "left join fetch w.plate as p " + "left join fetch ws.plateAcquisition as pa " + "left join fetch ws.image as img " + "left join fetch img.pixels as pix " + @@ -92,11 +93,12 @@ public class LoadFacility extends Facility { private static String GET_WELLS_FOR_PLATE_QUERY = "select w from Well as w " + "left join fetch w.wellSamples as ws " + + "left join fetch w.plate as p " + "left join fetch ws.plateAcquisition as pa " + "left join fetch ws.image as img " + "left join fetch img.pixels as pix " + "left join fetch pix.pixelsType as pt " + - "where w.plate = :id"; + "where p.id in (:ids)"; /** * Creates a new instance From 17180fdb47aef470ec89c75e1b16c80d26af15ad Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Thu, 2 Feb 2023 14:17:02 +0000 Subject: [PATCH 34/44] Add method to load original metadata --- .../gateway/facility/MetadataFacility.java | 47 ++++- .../gateway/util/OriginalMetadataParser.java | 190 ++++++++++++++++++ src/main/java/omero/gateway/util/Utils.java | 4 + 3 files changed, 239 insertions(+), 2 deletions(-) create mode 100644 src/main/java/omero/gateway/util/OriginalMetadataParser.java diff --git a/src/main/java/omero/gateway/facility/MetadataFacility.java b/src/main/java/omero/gateway/facility/MetadataFacility.java index 8a366792..52735a3e 100644 --- a/src/main/java/omero/gateway/facility/MetadataFacility.java +++ b/src/main/java/omero/gateway/facility/MetadataFacility.java @@ -1,6 +1,6 @@ /* *------------------------------------------------------------------------------ - * Copyright (C) 2015-2016 University of Dundee. All rights reserved. + * Copyright (C) 2015-2023 University of Dundee. All rights reserved. * * * This program is free software; you can redistribute it and/or modify @@ -20,6 +20,7 @@ */ package omero.gateway.facility; +import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -31,12 +32,15 @@ import omero.ServerError; import omero.api.IQueryPrx; +import omero.cmd.CmdCallbackI; +import omero.cmd.OriginalMetadataRequest; +import omero.cmd.OriginalMetadataResponse; import omero.gateway.model.FilesetData; import omero.gateway.model.PixelsData; import omero.gateway.model.PlaneInfoData; +import omero.gateway.util.OriginalMetadataParser; import omero.model.FilesetI; import omero.model.PlaneInfo; -import omero.sys.Parameters; import org.apache.commons.collections.CollectionUtils; import omero.api.IMetadataPrx; @@ -56,6 +60,7 @@ import omero.gateway.util.PojoMapper; import omero.gateway.util.Pojos; +import omero.cmd.Request; /** * A {@link Facility} to access the metadata. @@ -361,4 +366,42 @@ private FilesetData loadFileset(SecurityContext ctx, ImageData img) throws Serve return null; } + /** + * Get the original metadata of an image and write it into a file + * @param ctx The SecurityContext + * @param imageId The image id + * @param output The output file + * @throws Throwable + */ + public void getOriginalMetadata(SecurityContext ctx, long imageId, File output) throws Throwable { + if (output == null) + return; + OriginalMetadataRequest cmd = new OriginalMetadataRequest(); + cmd.imageId = imageId; + CmdCallbackI cb = gateway.submit(ctx, cmd); + if (cb.block(10000)) { + OriginalMetadataResponse response = (OriginalMetadataResponse) cb.getResponse(); + (new OriginalMetadataParser(output)).read(response); + } + } + + /** + * Get the original metadata of an image and write it a StringBuilder + * @param ctx The SecurityContext + * @param imageId The image id + * @param buffer The buffer + * @throws Throwable + */ + public void getOriginalMetadata(SecurityContext ctx, long imageId, StringBuilder buffer) throws Throwable { + if (buffer == null) + return; + OriginalMetadataRequest cmd = new OriginalMetadataRequest(); + cmd.imageId = imageId; + CmdCallbackI cb = gateway.submit(ctx, cmd); + if (cb.block(3000)) { + OriginalMetadataResponse response = (OriginalMetadataResponse) cb.getResponse(); + (new OriginalMetadataParser(buffer)).read(response); + } + } + } diff --git a/src/main/java/omero/gateway/util/OriginalMetadataParser.java b/src/main/java/omero/gateway/util/OriginalMetadataParser.java new file mode 100644 index 00000000..e2eb092f --- /dev/null +++ b/src/main/java/omero/gateway/util/OriginalMetadataParser.java @@ -0,0 +1,190 @@ +/* + * org.openmicroscopy.shoola.env.data.util.OriginalMetadataParser + * + *------------------------------------------------------------------------------ + * Copyright (C) 2013-2023 University of Dundee & Open Microscopy Environment. + * All rights reserved. + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + *------------------------------------------------------------------------------ + */ +package omero.gateway.util; + +//Java imports +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.TreeSet; + +import omero.RType; +import omero.cmd.OriginalMetadataResponse; + +/** + * Helper class used to read the content of + * an OriginalMetadataResponse. + * + * @author Jean-Marie Burel      + * j.burel@dundee.ac.uk + * @since 4.4 + */ +public class OriginalMetadataParser +{ + + /** The file to handle.*/ + private final File file; + + /** The buffer to write to.*/ + private final StringBuilder buffer; + + /** + * Writes the content of the map to a String. + * + * @param map The map to convert. + * @param separator Value used to separate key and value. + * @return See above. + */ + private String writeMap(Map map, String separator) + { + if (map == null || map.size() == 0) return null; + if (Utils.isBlank(separator)) separator = " "; + TreeSet sortedSet = new TreeSet(map.keySet()); + Iterator j = sortedSet.iterator(); + String key; + Object v; + StringBuffer buffer = new StringBuffer(); + while (j.hasNext()) { + key = j.next(); + buffer.append(key); + buffer.append(separator); + v = ModelMapper.convertRTypeToJava(map.get(key)); + if (v instanceof List) { + List l = (List) v; + Iterator k = l.iterator(); + while (k.hasNext()) { + buffer.append(k.next()); + buffer.append(" "); + } + } else if (v instanceof Map) { + Map l = (Map) v; + Entry e; + Iterator> k = l.entrySet().iterator(); + while (k.hasNext()) { + e = k.next(); + buffer.append(e.getKey()); + buffer.append(separator); + buffer.append(e.getValue()); + } + } else buffer.append(v.toString()); + buffer.append(System.getProperty("line.separator")); + } + return buffer.toString(); + } + + /** + * Creates a new instance. + * + * @param file The file to write the content into + */ + public OriginalMetadataParser(File file) + { + if (file == null) + throw new IllegalArgumentException("No file to write the " + + "content to."); + this.file = file; + this.buffer = new StringBuilder(); + } + + /** + * Creates a new instance. + * + * @param buffer The buffer to write the content into + */ + public OriginalMetadataParser(StringBuilder buffer) + { + if (buffer == null) + throw new IllegalArgumentException("No buffer to write the " + + "content to."); + this.file = null; + this.buffer = buffer; + } + + /** + * Reads the content of the response and writes it to the file. + * + * @param response The response to handle. + * @throws Exception The exception thrown if an error occurred while + * reading/writing. + */ + public void read(OriginalMetadataResponse response) + throws Exception + { + read(response, null); + } + + /** + * Reads the content of the response and writes it to the file. + * + * @param response The response to handle. + * @param separator Value used to separate key and value. + * @throws Exception The exception thrown if an error occurred while + * reading/writing. + */ + public void read(OriginalMetadataResponse response, String separator) + throws Exception + { + Writer writer = null; + BufferedWriter bufferWriter = null; + try { + if (this.file != null ) { + writer = new OutputStreamWriter(new FileOutputStream(file, true), "UTF-8"); + bufferWriter = new BufferedWriter(writer); + } + String value; + + value = writeMap(response.globalMetadata, separator); + if (value != null) { + buffer.append("[GlobalMetadata]"); + buffer.append(System.getProperty("line.separator")); + buffer.append(writeMap(response.globalMetadata, separator)); + buffer.append(System.getProperty("line.separator")); + } + value = writeMap(response.seriesMetadata, separator); + if (value != null) { + buffer.append("[SeriesMetadata]"); + buffer.append(System.getProperty("line.separator")); + buffer.append(writeMap(response.seriesMetadata, separator)); + } + if (this.file != null) + bufferWriter.write(buffer.toString()); + } catch (Exception e) { + throw new Exception("An error while reading/writing the content."); + } finally { + if (bufferWriter != null) { + bufferWriter.close(); + } + if (writer != null) { + writer.close(); + } + } + } +} + diff --git a/src/main/java/omero/gateway/util/Utils.java b/src/main/java/omero/gateway/util/Utils.java index 5e458735..7bf6ce5c 100644 --- a/src/main/java/omero/gateway/util/Utils.java +++ b/src/main/java/omero/gateway/util/Utils.java @@ -206,4 +206,8 @@ public static List fromEnum(Collection enumInstan } return enumValues; } + + public static boolean isBlank(String s) { + return s == null || s.trim().isEmpty(); + } } From cd6e7e9e0913cfccd3e25d2dab0f62d967462180 Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Fri, 3 Feb 2023 10:14:32 +0000 Subject: [PATCH 35/44] Removed duplicated code --- .../gateway/facility/MetadataFacility.java | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/src/main/java/omero/gateway/facility/MetadataFacility.java b/src/main/java/omero/gateway/facility/MetadataFacility.java index 52735a3e..607fb5ab 100644 --- a/src/main/java/omero/gateway/facility/MetadataFacility.java +++ b/src/main/java/omero/gateway/facility/MetadataFacility.java @@ -366,6 +366,26 @@ private FilesetData loadFileset(SecurityContext ctx, ImageData img) throws Serve return null; } + /** + * Submits an OriginalMetadataRequest and waits for response + * @param ctx The SecurityContext + * @param imageId The image ID + * @return The OriginalMetadataResponse or null if something went wrong + * @throws Throwable + */ + private OriginalMetadataResponse requestOriginalMetadata(SecurityContext ctx, long imageId) throws Throwable { + OriginalMetadataRequest cmd = new OriginalMetadataRequest(); + cmd.imageId = imageId; + CmdCallbackI cb = gateway.submit(ctx, cmd); + if (cb.block(10000)) { + return (OriginalMetadataResponse) cb.getResponse(); + } + else { + logError(this, "Could not request original metadata", null); + return null; + } + } + /** * Get the original metadata of an image and write it into a file * @param ctx The SecurityContext @@ -376,13 +396,9 @@ private FilesetData loadFileset(SecurityContext ctx, ImageData img) throws Serve public void getOriginalMetadata(SecurityContext ctx, long imageId, File output) throws Throwable { if (output == null) return; - OriginalMetadataRequest cmd = new OriginalMetadataRequest(); - cmd.imageId = imageId; - CmdCallbackI cb = gateway.submit(ctx, cmd); - if (cb.block(10000)) { - OriginalMetadataResponse response = (OriginalMetadataResponse) cb.getResponse(); + OriginalMetadataResponse response = requestOriginalMetadata(ctx, imageId); + if (response != null) (new OriginalMetadataParser(output)).read(response); - } } /** @@ -395,13 +411,9 @@ public void getOriginalMetadata(SecurityContext ctx, long imageId, File output) public void getOriginalMetadata(SecurityContext ctx, long imageId, StringBuilder buffer) throws Throwable { if (buffer == null) return; - OriginalMetadataRequest cmd = new OriginalMetadataRequest(); - cmd.imageId = imageId; - CmdCallbackI cb = gateway.submit(ctx, cmd); - if (cb.block(3000)) { - OriginalMetadataResponse response = (OriginalMetadataResponse) cb.getResponse(); + OriginalMetadataResponse response = requestOriginalMetadata(ctx, imageId); + if (response != null) (new OriginalMetadataParser(buffer)).read(response); - } } } From 33c204733a69bd040e66605ecdb3308cea1b1f10 Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Fri, 3 Feb 2023 10:15:43 +0000 Subject: [PATCH 36/44] Simplified read method using try-with-resources --- .../gateway/util/OriginalMetadataParser.java | 54 ++++++++----------- 1 file changed, 21 insertions(+), 33 deletions(-) diff --git a/src/main/java/omero/gateway/util/OriginalMetadataParser.java b/src/main/java/omero/gateway/util/OriginalMetadataParser.java index e2eb092f..38019f15 100644 --- a/src/main/java/omero/gateway/util/OriginalMetadataParser.java +++ b/src/main/java/omero/gateway/util/OriginalMetadataParser.java @@ -1,6 +1,4 @@ /* - * org.openmicroscopy.shoola.env.data.util.OriginalMetadataParser - * *------------------------------------------------------------------------------ * Copyright (C) 2013-2023 University of Dundee & Open Microscopy Environment. * All rights reserved. @@ -141,7 +139,8 @@ public void read(OriginalMetadataResponse response) } /** - * Reads the content of the response and writes it to the file. + * Reads the content of the response and writes (appends) it to the file or + * buffer. * * @param response The response to handle. * @param separator Value used to separate key and value. @@ -151,38 +150,27 @@ public void read(OriginalMetadataResponse response) public void read(OriginalMetadataResponse response, String separator) throws Exception { - Writer writer = null; - BufferedWriter bufferWriter = null; - try { - if (this.file != null ) { - writer = new OutputStreamWriter(new FileOutputStream(file, true), "UTF-8"); - bufferWriter = new BufferedWriter(writer); - } - String value; + String value = writeMap(response.globalMetadata, separator); + if (value != null) { + buffer.append("[GlobalMetadata]"); + buffer.append(System.getProperty("line.separator")); + buffer.append(writeMap(response.globalMetadata, separator)); + buffer.append(System.getProperty("line.separator")); + } + value = writeMap(response.seriesMetadata, separator); + if (value != null) { + buffer.append("[SeriesMetadata]"); + buffer.append(System.getProperty("line.separator")); + buffer.append(writeMap(response.seriesMetadata, separator)); + } - value = writeMap(response.globalMetadata, separator); - if (value != null) { - buffer.append("[GlobalMetadata]"); - buffer.append(System.getProperty("line.separator")); - buffer.append(writeMap(response.globalMetadata, separator)); - buffer.append(System.getProperty("line.separator")); - } - value = writeMap(response.seriesMetadata, separator); - if (value != null) { - buffer.append("[SeriesMetadata]"); - buffer.append(System.getProperty("line.separator")); - buffer.append(writeMap(response.seriesMetadata, separator)); - } - if (this.file != null) + if (this.file != null ) { + Writer writer = new OutputStreamWriter(new FileOutputStream(file, true), "UTF-8"); + try (BufferedWriter bufferWriter = new BufferedWriter(writer)) { bufferWriter.write(buffer.toString()); - } catch (Exception e) { - throw new Exception("An error while reading/writing the content."); - } finally { - if (bufferWriter != null) { - bufferWriter.close(); - } - if (writer != null) { - writer.close(); + buffer.setLength(0); + } catch (Exception e) { + throw new Exception("Error while writing metadata to file."); } } } From ad523e4de44d2d8c4811dea98a8021b95d7149ae Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Fri, 3 Feb 2023 10:24:16 +0000 Subject: [PATCH 37/44] Just a bit clean up --- .../gateway/facility/MetadataFacility.java | 34 ++++++++++++------- .../gateway/util/OriginalMetadataParser.java | 10 +++--- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/main/java/omero/gateway/facility/MetadataFacility.java b/src/main/java/omero/gateway/facility/MetadataFacility.java index 607fb5ab..648aa3e7 100644 --- a/src/main/java/omero/gateway/facility/MetadataFacility.java +++ b/src/main/java/omero/gateway/facility/MetadataFacility.java @@ -371,19 +371,22 @@ private FilesetData loadFileset(SecurityContext ctx, ImageData img) throws Serve * @param ctx The SecurityContext * @param imageId The image ID * @return The OriginalMetadataResponse or null if something went wrong - * @throws Throwable */ - private OriginalMetadataResponse requestOriginalMetadata(SecurityContext ctx, long imageId) throws Throwable { + private OriginalMetadataResponse requestOriginalMetadata(SecurityContext ctx, long imageId) { OriginalMetadataRequest cmd = new OriginalMetadataRequest(); cmd.imageId = imageId; - CmdCallbackI cb = gateway.submit(ctx, cmd); - if (cb.block(10000)) { - return (OriginalMetadataResponse) cb.getResponse(); - } - else { - logError(this, "Could not request original metadata", null); - return null; + try { + CmdCallbackI cb = gateway.submit(ctx, cmd); + if (cb.block(10000)) { + return (OriginalMetadataResponse) cb.getResponse(); + } + else { + logError(this, "Could not request original metadata", null); + } + } catch (Throwable t) { + logError(this, "Could not request original metadata", t); } + return null; } /** @@ -393,7 +396,7 @@ private OriginalMetadataResponse requestOriginalMetadata(SecurityContext ctx, lo * @param output The output file * @throws Throwable */ - public void getOriginalMetadata(SecurityContext ctx, long imageId, File output) throws Throwable { + public void getOriginalMetadata(SecurityContext ctx, long imageId, File output) throws Exception { if (output == null) return; OriginalMetadataResponse response = requestOriginalMetadata(ctx, imageId); @@ -408,12 +411,17 @@ public void getOriginalMetadata(SecurityContext ctx, long imageId, File output) * @param buffer The buffer * @throws Throwable */ - public void getOriginalMetadata(SecurityContext ctx, long imageId, StringBuilder buffer) throws Throwable { + public void getOriginalMetadata(SecurityContext ctx, long imageId, StringBuilder buffer) { if (buffer == null) return; OriginalMetadataResponse response = requestOriginalMetadata(ctx, imageId); - if (response != null) - (new OriginalMetadataParser(buffer)).read(response); + if (response != null) { + try { + (new OriginalMetadataParser(buffer)).read(response); + } catch (Exception e) { + // ignore; calling the method with a StringBuilder can't throw an exception + } + } } } diff --git a/src/main/java/omero/gateway/util/OriginalMetadataParser.java b/src/main/java/omero/gateway/util/OriginalMetadataParser.java index 38019f15..4e53b936 100644 --- a/src/main/java/omero/gateway/util/OriginalMetadataParser.java +++ b/src/main/java/omero/gateway/util/OriginalMetadataParser.java @@ -147,9 +147,7 @@ public void read(OriginalMetadataResponse response) * @throws Exception The exception thrown if an error occurred while * reading/writing. */ - public void read(OriginalMetadataResponse response, String separator) - throws Exception - { + public void read(OriginalMetadataResponse response, String separator) throws Exception { String value = writeMap(response.globalMetadata, separator); if (value != null) { buffer.append("[GlobalMetadata]"); @@ -165,12 +163,12 @@ public void read(OriginalMetadataResponse response, String separator) } if (this.file != null ) { - Writer writer = new OutputStreamWriter(new FileOutputStream(file, true), "UTF-8"); - try (BufferedWriter bufferWriter = new BufferedWriter(writer)) { + try (Writer writer = new OutputStreamWriter(new FileOutputStream(file, true), "UTF-8")) { + BufferedWriter bufferWriter = new BufferedWriter(writer); bufferWriter.write(buffer.toString()); buffer.setLength(0); } catch (Exception e) { - throw new Exception("Error while writing metadata to file."); + throw new Exception("Error while writing metadata to file.", e); } } } From b20b45c56d94cbaa0002c64a465e2d67663b1135 Mon Sep 17 00:00:00 2001 From: Dominik Lindner Date: Tue, 8 Aug 2023 15:31:26 +0100 Subject: [PATCH 38/44] Use StringBuffer and fix date/author --- .../omero/gateway/facility/MetadataFacility.java | 3 +-- .../omero/gateway/util/OriginalMetadataParser.java | 12 ++++-------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/main/java/omero/gateway/facility/MetadataFacility.java b/src/main/java/omero/gateway/facility/MetadataFacility.java index 648aa3e7..24196fe9 100644 --- a/src/main/java/omero/gateway/facility/MetadataFacility.java +++ b/src/main/java/omero/gateway/facility/MetadataFacility.java @@ -60,7 +60,6 @@ import omero.gateway.util.PojoMapper; import omero.gateway.util.Pojos; -import omero.cmd.Request; /** * A {@link Facility} to access the metadata. @@ -411,7 +410,7 @@ public void getOriginalMetadata(SecurityContext ctx, long imageId, File output) * @param buffer The buffer * @throws Throwable */ - public void getOriginalMetadata(SecurityContext ctx, long imageId, StringBuilder buffer) { + public void getOriginalMetadata(SecurityContext ctx, long imageId, StringBuffer buffer) { if (buffer == null) return; OriginalMetadataResponse response = requestOriginalMetadata(ctx, imageId); diff --git a/src/main/java/omero/gateway/util/OriginalMetadataParser.java b/src/main/java/omero/gateway/util/OriginalMetadataParser.java index 4e53b936..b82da923 100644 --- a/src/main/java/omero/gateway/util/OriginalMetadataParser.java +++ b/src/main/java/omero/gateway/util/OriginalMetadataParser.java @@ -1,6 +1,6 @@ /* *------------------------------------------------------------------------------ - * Copyright (C) 2013-2023 University of Dundee & Open Microscopy Environment. + * Copyright (C) 2023 University of Dundee & Open Microscopy Environment. * All rights reserved. * * @@ -39,10 +39,6 @@ /** * Helper class used to read the content of * an OriginalMetadataResponse. - * - * @author Jean-Marie Burel      - * j.burel@dundee.ac.uk - * @since 4.4 */ public class OriginalMetadataParser { @@ -51,7 +47,7 @@ public class OriginalMetadataParser private final File file; /** The buffer to write to.*/ - private final StringBuilder buffer; + private final StringBuffer buffer; /** * Writes the content of the map to a String. @@ -108,7 +104,7 @@ public OriginalMetadataParser(File file) throw new IllegalArgumentException("No file to write the " + "content to."); this.file = file; - this.buffer = new StringBuilder(); + this.buffer = new StringBuffer(); } /** @@ -116,7 +112,7 @@ public OriginalMetadataParser(File file) * * @param buffer The buffer to write the content into */ - public OriginalMetadataParser(StringBuilder buffer) + public OriginalMetadataParser(StringBuffer buffer) { if (buffer == null) throw new IllegalArgumentException("No buffer to write the " + From 342fef6b49733c4ba313c66c750419b9a17d8c96 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Thu, 14 Dec 2023 13:23:38 +0000 Subject: [PATCH 39/44] add entry for 5.9.0 --- CHANGELOG.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88a14f9f..abdc9527 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,22 @@ +5.9.0 (December 2023) +--------------------- + +- Simply return empty string if middlename is null ([#84](https://github.com/ome/omero-gateway-java/pull/84)) +- Add method to load multiple objects at once ([#82](https://github.com/ome/omero-gateway-java/pull/82)) +- Download into Fileset_xyz directory ([#85](https://github.com/ome/omero-gateway-java/pull/85)) +- Add method to load original metadata ([#72](https://github.com/ome/omero-gateway-java/pull/72)) +- Bump omero-blitz version to 5.7.2 + 5.8.2 (September 2023) ---------------------- - Bump omero-blitz version to 5.7.1 -- Add top-level Git mailmap +- Add top-level Git mailmap 5.8.1 (July 2023) ----------------- -- Fix bug on download images based on omero-insight#264([#78](https://github.com/ome/omero-gateway-java/pull/78)) Thanks to Rémy Dornier +- Fix bug on download images based on omero-insight#264 ([#78](https://github.com/ome/omero-gateway-java/pull/78)) Thanks to Rémy Dornier - BugFix: Set StringColumn to the correct size ([#76](https://github.com/ome/omero-gateway-java/pull/76)) - Bump omero-blitz version to 5.6.3 From ba2078916e5ecb8e15d57bfd2c838abd18c75435 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Thu, 14 Dec 2023 13:24:07 +0000 Subject: [PATCH 40/44] bump org.openmicroscopy:omero-blitz to 5.7.2 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index c9a2cc36..ab3c665a 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ repositories { } dependencies { - api("org.openmicroscopy:omero-blitz:5.7.1") + api("org.openmicroscopy:omero-blitz:5.7.2") implementation("commons-beanutils:commons-beanutils:1.9.3") implementation("com.zeroc:icegrid:3.6.5") From 014c70556fc59fb6d694ad093b283f1b02c37881 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Thu, 14 Dec 2023 13:25:47 +0000 Subject: [PATCH 41/44] drop snapshot --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index ab3c665a..ceb3ac57 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { } group = "org.openmicroscopy" -version = "5.8.3-SNAPSHOT" +version = "5.9.0" repositories { mavenLocal() From a8174bf54fd8d5500c1a5725954227db9d1e3dbe Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Thu, 14 Dec 2023 13:26:57 +0000 Subject: [PATCH 42/44] revert to snapshot --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index ceb3ac57..690f62fc 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { } group = "org.openmicroscopy" -version = "5.9.0" +version = "5.9.1-SNAPSHOT" repositories { mavenLocal() From ff97622c02888b3dd2f88ad41ae7f0e1bf1820a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Fri, 26 Jan 2024 16:12:59 +0100 Subject: [PATCH 43/44] Fix bug when connecting to multiple servers --- src/main/java/omero/gateway/Gateway.java | 17 +++++++++++++++++ .../java/omero/gateway/facility/Facility.java | 10 ++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/main/java/omero/gateway/Gateway.java b/src/main/java/omero/gateway/Gateway.java index 056393e9..10dad087 100644 --- a/src/main/java/omero/gateway/Gateway.java +++ b/src/main/java/omero/gateway/Gateway.java @@ -187,6 +187,8 @@ public class Gateway implements AutoCloseable { /** Flag to indicate that executor threads should be shutdown on disconnect */ private boolean executorShutdownOnDisconnect = false; + private String serverHost; + /** * Creates a new Gateway instance * @param log A {@link Logger} @@ -408,6 +410,20 @@ public String getServerVersion() throws DSOutOfServiceException { return serverVersion; } + /** + * Get the hostname of the server the Gateway is connected to + * + * @return See above + * @throws DSOutOfServiceException + * If the connection is broken, or not logged in + */ + public String getServerHost() throws DSOutOfServiceException{ + if (serverHost == null) { + throw new DSOutOfServiceException("Not logged in."); + } + return serverHost; + } + /** * Get a {@link Facility} to perform further operations with the server * @@ -1221,6 +1237,7 @@ private ExperimenterData login(SessionWrapper session, LoginCredentials cred) } // Connector now controls the secureClient for closing. String host = session.client.getProperty("omero.host"); + this.serverHost = host; cred.getServer().setHostname(host); String port = session.client.getProperty("omero.port"); cred.getServer().setPort(Integer.parseInt(port)); diff --git a/src/main/java/omero/gateway/facility/Facility.java b/src/main/java/omero/gateway/facility/Facility.java index ce78b84f..39fc236c 100644 --- a/src/main/java/omero/gateway/facility/Facility.java +++ b/src/main/java/omero/gateway/facility/Facility.java @@ -115,8 +115,14 @@ public static T getFacility(final Class type, + type.getSimpleName(), e); } } - - return (T) cache.get(type.getSimpleName(), new Callable() { + String serverHost; + try{ + serverHost = gateway.getServerHost(); + }catch (DSOutOfServiceException e){ + throw new ExecutionException("Not log-in ; Can't instantiate " + + type.getSimpleName(), e); + } + return (T) cache.get(type.getSimpleName() + ":" +serverHost, new Callable() { @Override public Facility call() throws Exception { From ca837901f3da7fcbafbc7ab69e7edaf35639182d Mon Sep 17 00:00:00 2001 From: Rdornier <64911638+Rdornier@users.noreply.github.com> Date: Mon, 29 Jan 2024 14:08:23 +0100 Subject: [PATCH 44/44] Update error message Co-authored-by: Dominik Lindner --- src/main/java/omero/gateway/facility/Facility.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/omero/gateway/facility/Facility.java b/src/main/java/omero/gateway/facility/Facility.java index 39fc236c..5eb1ac55 100644 --- a/src/main/java/omero/gateway/facility/Facility.java +++ b/src/main/java/omero/gateway/facility/Facility.java @@ -119,7 +119,7 @@ public static T getFacility(final Class type, try{ serverHost = gateway.getServerHost(); }catch (DSOutOfServiceException e){ - throw new ExecutionException("Not log-in ; Can't instantiate " + throw new ExecutionException("Not logged in; Can't instantiate " + type.getSimpleName(), e); } return (T) cache.get(type.getSimpleName() + ":" +serverHost, new Callable() {