Uploaded image for project: 'WINDUP - Red Hat Application Migration Toolkit'
  1. WINDUP - Red Hat Application Migration Toolkit
  2. WINDUP-3137

Windup scan hangs when running on Eclipse OpenJ9 VM

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Minor
    • Resolution: Unresolved
    • 5.2.0.Alpha1
    • None
    • None
    • Hide
      * *Why we missed the bug?*
       ** Pick to proper answer from drop-down field upper.
       +_Additional comments:_+


       * *What is required:*
       ** Pick to proper answer from drop-down field upper.
       +_Additional comments:_+
      Show
      * *Why we missed the bug?*  ** Pick to proper answer from drop-down field upper.  +_Additional comments:_+  * *What is required:*  ** Pick to proper answer from drop-down field upper.  +_Additional comments:_+
    • ---
    • ---

    Description

      Building 5.2.0.Alpha1 from source. When run using adoptopenjdk-8-openj9 on both Linux and macOS, the scan hangs while scanning the sample application included in the distribution:

       

      [root@bf30db9bd075 mta-cli-5.2.0.Alpha1]# bin/mta-cli --input samples/jee-example-app-1.0.0.ear --target eap7
      Using MTA at /mta-cli-5.2.0.Alpha1
      > Migration Toolkit for Applications by Red Hat (MTA) CLI, version 5.2.0.Alpha1.
      Migration Toolkit for Applications (MTA) CLI, version [  ] - by Red Hat, Inc. [ https://developers.redhat.com/products/mta/overview/ ]WARNING: No packages were set in --packages. This will cause all .jar files to be decompiled and can possibly take a long time. Check the MTA User Guide for performance tips.Input Application:samples/jee-example-app-1.0.0.ear
      Output Path:/mta-cli-5.2.0.Alpha1/samples/jee-example-app-1.0.0.ear.reportUsing user rules dir: /mta-cli-5.2.0.Alpha1/rules
      Using user rules dir: /root/.mta/rules
      Using user labels dir: /mta-cli-5.2.0.Alpha1/rules
      Using user labels dir: /root/.mta/labels
      Using user labels dir: /mta-cli-5.2.0.Alpha1/labels
      Using user labels dir: /root/.mta/rules
      2021-08-04 14:49 [0/1410] Executing MTA
      2021-08-04 14:49 [1/1410] InitializationPhase - LoadIssueCategoriesRuleProvider - LoadIssueCategoriesRuleProvider_attachToGraph
      2021-08-04 14:49 [2/1410] InitializationPhase - RegisterApiPackagesInTypeInterestFactoryRuleProvider - RegisterApiPackagesInTypeInterestFactoryRuleProvider_1
      2021-08-04 14:49 [3/1410] InitializationPhase - RegisterApiPackagesInTypeInterestFactoryRuleProvider - RegisterApiPackagesInTypeInterestFactoryRuleProvider_2
      2021-08-04 14:49 [4/1410] InitializationPhase - CopyJavaConfigToGraphRuleProvider - CopyJavaConfigToGraphRuleProvider_1
      2021-08-04 14:49 [5/1410] InitializationPhase - IgnoredArchivesConfigLoadingRuleProvider - IgnoredArchivesConfigLoadingRuleProvider_1
      2021-08-04 14:49 [6/1410] InitializationPhase - ArchiveIdentificationConfigLoadingRuleProvider - ArchiveIdentificationConfigLoadingRuleProvider_1
      2021-08-04 14:49 [7/1410] InitializationPhase - ArchiveIdentificationConfigLoadingRuleProvider - ArchiveIdentificationConfigLoadingRuleProvider_2
      2021-08-04 14:49 [8/1410] InitializationPhase - GatherIgnoredFileNamesRuleProvider - GatherIgnoredFileNamesRuleProvider_1
      2021-08-04 14:49 [9/1410] DiscoveryPhase - DiscoverFilesAndTypesRuleProvider - DiscoverFilesAndTypesRuleProvider_1
      2021-08-04 14:49 [10/1410] DiscoveryPhase - DiscoverFilesAndTypesRuleProvider - DiscoverFilesAndTypesRuleProvider_2
      2021-08-04 14:49 [11/1410] ArchiveExtractionPhase - UnzipArchivesToOutputRuleProvider - UnzipArchivesToOutputRuleProvider_1
      2021-08-04 14:49 [12/1410] ArchiveExtractionPhase - UnzipArchivesToOutputRuleProvider - UnzipArchivesToOutputRuleProvider_2
      2021-08-04 14:49 [13/1410] ArchiveMetadataExtractionPhase - DiscoverArchiveTypesRuleProvider - DiscoverArchiveTypesRuleProvider_1
      2021-08-04 14:49 [14/1410] ArchiveMetadataExtractionPhase - DiscoverArchiveManifestFilesRuleProvider - DiscoverArchiveManifestFilesRuleProvider_1
      2021-08-04 14:49 [15/1410] ClassifyFileTypesPhase - MarkupFileMappingRuleProvider - FileMapping_.*\.html$_cL
      2021-08-04 14:49 [16/1410] ClassifyFileTypesPhase - MarkupFileMappingRuleProvider - FileMapping_.*\.css$_jt
      2021-08-04 14:49 [17/1410] ClassifyFileTypesPhase - MarkupFileMappingRuleProvider - FileMapping_.*\.js$_nS
      2021-08-04 14:49 [18/1410] ClassifyFileTypesPhase - JspFileMappingRuleProvider - FileMapping_.*\.jsp$_ls
      2021-08-04 14:49 [19/1410] ClassifyFileTypesPhase - JspFileMappingRuleProvider - FileMapping_.*\.jspx$_ZB
      2021-08-04 14:49 [20/1410] ClassifyFileTypesPhase - JspFileMappingRuleProvider - FileMapping_.*\.tag$_iG
      2021-08-04 14:49 [21/1410] ClassifyFileTypesPhase - JspFileMappingRuleProvider - FileMapping_.*\.tagx$_bo
      2021-08-04 14:49 [22/1410] ClassifyFileTypesPhase - JavaFileMappingRuleProvider - FileMapping_.*\.java$_YW
      2021-08-04 14:49 [23/1410] ClassifyFileTypesPhase - JavaFileMappingRuleProvider - FileMapping_.*\.class$_0T
      2021-08-04 14:49 [24/1410] ClassifyFileTypesPhase - DiscoverOrganizationByPackageStructureProvider - DiscoverOrganizationByPackageStructureProvider_1
      2021-08-04 14:49 [25/1410] ClassifyFileTypesPhase - IndexJavaSourceFilesRuleProvider - IndexJavaSourceFilesRuleProvider_1
      2021-08-04 14:49 [26/1410] ClassifyFileTypesPhase - DiscoverPropertiesFilesRuleProvider - DiscoverPropertiesFilesRuleProvider_1
      2021-08-04 14:49 [27/1410] ClassifyFileTypesPhase - DiscoverXmlFilesRuleProvider - FileMapping_.*\.xml$_IF
      2021-08-04 14:49 [28/1410] ClassifyFileTypesPhase - DiscoverXmlFilesRuleProvider - FileMapping_.*\.xmi$_hE
      2021-08-04 14:49 [29/1410] ClassifyFileTypesPhase - DiscoverXmlFilesRuleProvider - FileMapping_.*\.jsf$_w4
      2021-08-04 14:49 [30/1410] ClassifyFileTypesPhase - DiscoverXmlFilesRuleProvider - FileMapping_.*\.xhtml$_BP
      2021-08-04 14:49 [31/1410] ClassifyFileTypesPhase - DiscoverXmlFilesRuleProvider - DiscoverXmlFilesRuleProvider_5
      2021-08-04 14:49 [32/1410] DiscoverProjectStructurePhase - DiscoverMavenProjectsRuleProvider - DiscoverMavenProjectsRuleProvider_1
      2021-08-04 14:49 [33/1410] DiscoverProjectStructurePhase - DiscoverNonMavenArchiveProjectsRuleProvider - DiscoverNonMavenArchiveProjectsRuleProvider_1
      2021-08-04 14:49 [34/1410] DiscoverProjectStructurePhase - DiscoverNonMavenSourceProjectsRuleProvider - DiscoverNonMavenSourceProjectsRuleProvider_1
      2021-08-04 14:49 [35/1410] DiscoverProjectStructurePhase - DiscoverAdditionalProjectDetails - DiscoverAdditionalProjectDetails_1
      2021-08-04 14:49 [36/1410] DiscoverProjectStructurePhase - DiscoverMavenHierarchyRuleProvider - DiscoverMavenHierarchyRuleProvider_1
      2021-08-04 14:49 [37/1410] DependentPhase - MavenizeRuleProvider - Mavenize-BOM-data-collection
      2021-08-04 14:49 [38/1410] DependentPhase - MavenizeRuleProvider - Mavenize-BOM-file-creation
      2021-08-04 14:49 [39/1410] DependentPhase - MavenizeRuleProvider - Mavenize-projects-mavenization
      2021-08-04 14:49 [40/1410] DiscoverProjectStructurePhase - DiscoverDuplicateArchiveProjectsRuleProvider - DiscoverDuplicateArchiveProjectsRuleProvider_1
      2021-08-04 14:49 [41/1410] DecompilationPhase - BeforeDecompileClassesRuleProvider - BeforeDecompileClassesRuleProvider_1
      2021-08-04 14:49 [42/1410] DecompilationPhase - DecompileClassesRuleProvider - DecompileClassesRuleProvider_1
      2021-08-04 14:49 [43/1410] DecompilationPhase - DecompileClassesRuleProvider - DecompileClassesRuleProvider_2
      2021-08-04 14:49 [44/1410] InitialAnalysisPhase - embedded-framework-libraries - embedded-framework-libraries-01000
      2021-08-04 14:49 [45/1410] InitialAnalysisPhase - embedded-framework-libraries - embedded-framework-libraries-02000
      2021-08-04 14:49 [46/1410] InitialAnalysisPhase - embedded-framework-libraries - embedded-framework-libraries-04000
      2021-08-04 14:49 [47/1410] InitialAnalysisPhase - embedded-framework-libraries - embedded-framework-libraries-05000
      2021-08-04 14:49 [48/1410] InitialAnalysisPhase - embedded-framework-libraries - embedded-framework-libraries-06000
      2021-08-04 14:49 [49/1410] InitialAnalysisPhase - DiscoverHibernateMappingRuleProvider - DiscoverHibernateMappingRuleProvider_1
      2021-08-04 14:49 [50/1410] InitialAnalysisPhase - ResolveWebSphereWsExtensionXmlRuleProvider - ResolveWebSphereWsExtensionXmlRuleProvider_1
      2021-08-04 14:49 [51/1410] InitialAnalysisPhase - DiscoverSpringConfigurationFilesRuleProvider - DiscoverSpringConfigurationFilesRuleProvider_1
      2021-08-04 14:49 [52/1410] InitialAnalysisPhase - AnalyzeJSPFileRuleProvider - AnalyzeJSPFileRuleProvider_1
      2021-08-04 14:49 [53/1410] InitialAnalysisPhase - DiscoverJBossJbpmProcessFilesRuleProvider - DiscoverJBossJbpmProcessFilesRuleProvider_1
      2021-08-04 14:49 [54/1410] InitialAnalysisPhase - DiscoverHibernateConfigurationRuleProvider - DiscoverHibernateConfigurationRuleProvider_1
      2021-08-04 14:49 [55/1410] InitialAnalysisPhase - DiscoverJsfSourceFileRuleProvider - DiscoverJsfSourceFileRuleProvider_1
      2021-08-04 14:49 [56/1410] InitialAnalysisPhase - ResolveWebSphereWsBindingXmlRuleProvider - ResolveWebSphereWsBindingXmlRuleProvider_1
      2021-08-04 14:49 [57/1410] InitialAnalysisPhase - DiscoverJpaConfigurationXmlRuleProvider - DiscoverJpaConfigurationXmlRuleProvider_1
      2021-08-04 14:49 [58/1410] InitialAnalysisPhase - DiscoverWebXmlRuleProvider - DiscoverWebXmlRuleProvider_1
      2021-08-04 14:49 [59/1410] InitialAnalysisPhase - AnalyzeJavaFilesRuleProvider - AnalyzeJavaFilesRuleProvider_1
      

      No further output is produced, even after 10 minutes or more.

       

      This output is produced when interrupting the scan with ^C:

       

      ^CExecution failed due to: Error encountered while evaluating rule: .addRule().perform(ParseJavaSource).withId("AnalyzeJavaFilesRuleProvider_1")
        From: org.jboss.windup.rules.apps.java.scan.ast.AnalyzeJavaFilesRuleProvider loaded from ModuleClassLoader for Module "org.jboss.windup.rules.apps.windup-rules-java:5.2.0.Alpha1_7a89588b-fd4b-4cfc-8ac5-2062a49492bb" from AddonModuleLoader
        Defined in: org.jboss.windup.rules.apps.java.scan.ast.AnalyzeJavaFilesRuleProvider.getConfiguration(AnalyzeJavaFilesRuleProvider.java:105)
      org.jboss.windup.util.exception.WindupException: Error encountered while evaluating rule: .addRule().perform(ParseJavaSource).withId("AnalyzeJavaFilesRuleProvider_1")
        From: org.jboss.windup.rules.apps.java.scan.ast.AnalyzeJavaFilesRuleProvider loaded from ModuleClassLoader for Module "org.jboss.windup.rules.apps.windup-rules-java:5.2.0.Alpha1_7a89588b-fd4b-4cfc-8ac5-2062a49492bb" from AddonModuleLoader
        Defined in: org.jboss.windup.rules.apps.java.scan.ast.AnalyzeJavaFilesRuleProvider.getConfiguration(AnalyzeJavaFilesRuleProvider.java:105)
      	at org.jboss.windup.config.RuleSubset.perform(RuleSubset.java:370)
      	at org.jboss.windup.exec.WindupProcessorImpl.execute(WindupProcessorImpl.java:214)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor$1.call(ClassLoaderInterceptor.java:87)
      	at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
      	at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor.invoke(ClassLoaderInterceptor.java:103)
      	at org.jboss.windup.exec.WindupProcessorImpl_$$_jvstb2a_ed.execute(WindupProcessorImpl_$$_jvstb2a_ed.java)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:124)
      	at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
      	at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:97)
      	at org.jboss.windup.exec.WindupProcessor_$$_jvstad5_2b.execute(WindupProcessor_$$_jvstad5_2b.java)
      	at org.jboss.windup.bootstrap.commands.windup.RunWindupCommand.runWindup(RunWindupCommand.java:310)
      	at org.jboss.windup.bootstrap.commands.windup.RunWindupCommand.execute(RunWindupCommand.java:67)
      	at org.jboss.windup.bootstrap.Bootstrap.executePhase(Bootstrap.java:532)
      	at org.jboss.windup.bootstrap.Bootstrap.run(Bootstrap.java:352)
      	at org.jboss.windup.bootstrap.Bootstrap.main(Bootstrap.java:113)
      Caused by: java.lang.NullPointerException
      	at org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsGraph.startNewTx(JanusGraphBlueprintsGraph.java:86)
      	at org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsGraph.access$000(JanusGraphBlueprintsGraph.java:59)
      	at org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsGraph$GraphTransaction.doOpen(JanusGraphBlueprintsGraph.java:293)
      	at org.apache.tinkerpop.gremlin.structure.util.AbstractTransaction.open(AbstractTransaction.java:95)
      	at org.apache.tinkerpop.gremlin.structure.Transaction$READ_WRITE_BEHAVIOR$1.accept(Transaction.java:207)
      	at org.apache.tinkerpop.gremlin.structure.Transaction$READ_WRITE_BEHAVIOR$1.accept(Transaction.java:204)
      	at org.apache.tinkerpop.gremlin.structure.util.AbstractThreadLocalTransaction.doReadWrite(AbstractThreadLocalTransaction.java:92)
      	at org.apache.tinkerpop.gremlin.structure.util.AbstractTransaction.readWrite(AbstractTransaction.java:131)
      	at org.apache.tinkerpop.gremlin.structure.util.AbstractTransaction.commit(AbstractTransaction.java:103)
      	at org.jboss.windup.graph.GraphContextImpl.commit(GraphContextImpl.java:535)
      	at org.jboss.windup.config.RuleSubset.perform(RuleSubset.java:332)
      	... 22 more
      Weld SE container org.jboss.windup.config:windup-config-groovy shut down by shutdown hook
      Weld SE container org.jboss.windup.ast:windup-java-ast shut down by shutdown hook
      Weld SE container org.jboss.windup.rules.apps:windup-rules-java-ee shut down by shutdown hook
      Weld SE container org.jboss.windup.rules.apps:windup-rules-tattletale shut down by shutdown hook
      Weld SE container org.jboss.windup.exec:windup-exec shut down by shutdown hook
      Weld SE container org.jboss.windup.rules.apps:windup-rules-base shut down by shutdown hook
      Weld SE container org.jboss.windup:windup-tooling shut down by shutdown hook
      Weld SE container org.jboss.windup.reporting:windup-reporting shut down by shutdown hook
      Weld SE container org.jboss.windup.config:windup-config-xml shut down by shutdown hook
      Weld SE container org.jboss.windup.rules.apps:windup-rules-java-project shut down by shutdown hook
      Weld SE container org.jboss.forge.addon:convert shut down by shutdown hook
      Weld SE container org.jboss.windup.rules.apps:windup-rules-java-archives shut down by shutdown hook
      Weld SE container org.jboss.forge.addon:configuration shut down by shutdown hook
      Weld SE container org.jboss.windup.config:windup-config shut down by shutdown hook
      Weld SE container org.jboss.windup.rules.apps:windup-rules-java shut down by shutdown hook
      Weld SE container org.jboss.forge.addon:ui shut down by shutdown hook
      Weld SE container org.jboss.windup.rules.apps:windup-rules-xml shut down by shutdown hook
      

      I have created a Dockerfile that builds 5.2.0.Alpha1 from source and extracts it in the openJ9 image, ready to be run interactively:

       

       

      FROM docker.io/library/maven:3.8.1-openjdk-8-slim AS builder
      COPY settings.xml /usr/share/maven/conf/
      RUN apt update && apt install -y unzip git
      RUN mkdir ~/windup
      WORKDIR ~/windup
      RUN git clone -b 5.2.0.Alpha1 https://github.com/windup/windup.git 
      RUN git clone -b 5.2.0.Alpha1 https://github.com/windup/windup-rulesets.git 
      RUN git clone -b 5.2.0.Alpha1 https://github.com/windup/windup-distribution.git 
      RUN cd windup && mvn package -DskipTests
      RUN cd windup-rulesets && mvn package -DskipTests
      RUN cd windup-distribution && mvn package -DskipTests
      
      FROM docker.io/adoptopenjdk/openjdk8-openj9:ubi-minimal
      COPY --from=builder ~/windup/windup-distribution/target/mta-cli-5.2.0.Alpha1-offline.zip .
      RUN microdnf install unzip
      RUN unzip mta-cli-5.2.0.Alpha1-offline.zip
      

      (requires this settings.xml placed next to the Dockerfile)

       

       

      <?xml version="1.0" encoding="UTF-8"?>
      <settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd">
        <pluginGroups>
        </pluginGroups>
        <proxies>
        </proxies>
        <servers>
        </servers>
        <mirrors>
        </mirrors>
        <profiles>
        </profiles>
      </settings>
      

       

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            lwestby Liam Westby (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: