Я пытаюсь создать и загрузить файл ARXML с помощью java SE 8 на 32-разрядной машине.
ifile.create(inputStreamObj, true, null);
ModelLoadManager.INSTANCE.loadFile(ifile, false, null);
При загрузке файла ARXML я получаю следующее исключение:
!ENTRY org.eclipse.core.jobs 4 2 2018-05-11 14:36:03.520
!MESSAGE An internal error occurred during: "Loading Model Resources".
!STACK 0
java.lang.StackOverflowError
at java.io.InputStream.<init>(Unknown Source)
at java.util.zip.ZipFile$ZipFileInputStream.<init>(Unknown Source)
at java.util.zip.ZipFile.getInputStream(Unknown Source)
at org.eclipse.osgi.storage.bundlefile.ZipBundleEntry.getInputStream(ZipBundleEntry.java:59)
at org.eclipse.osgi.storage.bundlefile.BundleEntry.getBytes(BundleEntry.java:90)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:566)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:538)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:525)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:325)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:345)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:423)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:273)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:586)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:538)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:525)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:325)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:345)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:423)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
at java.lang.ClassLoader.loadClass(Unknown Source)
at autosar40.diagnosticextract.dem.diagnosticevent.DiagnosticeventFactory.<clinit>(DiagnosticeventFactory.java:41)
at autosar40.diagnosticextract.dem.diagnosticevent.impl.DiagnosticeventPackageImpl.<init>(DiagnosticeventPackageImpl.java:1103)
at autosar40.diagnosticextract.dem.diagnosticevent.impl.DiagnosticeventPackageImpl.init(DiagnosticeventPackageImpl.java:1157)
at autosar40.diagnosticextract.dem.diagnosticevent.DiagnosticeventPackage.<clinit>(DiagnosticeventPackage.java:84)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
at autosar40.diagnosticextract.dem.diagnosticoperationcycle.impl.DiagnosticoperationcyclePackageImpl.init(DiagnosticoperationcyclePackageImpl.java:1342)
at autosar40.diagnosticextract.dem.diagnosticoperationcycle.DiagnosticoperationcyclePackage.<clinit>(DiagnosticoperationcyclePackage.java:82)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
at autosar40.diagnosticextract.dem.diagnosticaging.impl.DiagnosticagingPackageImpl.init(DiagnosticagingPackageImpl.java:1323)
at autosar40.diagnosticextract.dem.diagnosticaging.DiagnosticagingPackage.<clinit>(DiagnosticagingPackage.java:78)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
at autosar40.diagnosticextract.dem.diagnostictroublecode.impl.DiagnostictroublecodePackageImpl.init(DiagnostictroublecodePackageImpl.java:1453)
at autosar40.diagnosticextract.dem.diagnostictroublecode.DiagnostictroublecodePackage.<clinit>(DiagnostictroublecodePackage.java:82)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
at autosar40.diagnosticextract.dem.diagnosticdebouncingalgorithm.impl.DiagnosticdebouncingalgorithmPackageImpl.init(DiagnosticdebouncingalgorithmPackageImpl.java:1331)
at autosar40.diagnosticextract.dem.diagnosticdebouncingalgorithm.DiagnosticdebouncingalgorithmPackage.<clinit>(DiagnosticdebouncingalgorithmPackage.java:80)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
at autosar40.diagnosticextract.dem.diagnosticfreezeframe.impl.DiagnosticfreezeframePackageImpl.init(DiagnosticfreezeframePackageImpl.java:1338)
at autosar40.diagnosticextract.dem.diagnosticfreezeframe.DiagnosticfreezeframePackage.<clinit>(DiagnosticfreezeframePackage.java:82)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
at autosar40.diagnosticextract.dem.diagnosticextendeddatarecord.impl.DiagnosticextendeddatarecordPackageImpl.init(DiagnosticextendeddatarecordPackageImpl.java:1329)
at autosar40.diagnosticextract.dem.diagnosticextendeddatarecord.DiagnosticextendeddatarecordPackage.<clinit>(DiagnosticextendeddatarecordPackage.java:81)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
at autosar40.diagnosticextract.commondiagnostics.impl.CommondiagnosticsPackageImpl.init(CommondiagnosticsPackageImpl.java:1432)
at autosar40.diagnosticextract.commondiagnostics.CommondiagnosticsPackage.<clinit>(CommondiagnosticsPackage.java:83)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
at autosar40.diagnosticextract.swmapping.impl.SwmappingPackageImpl.init(SwmappingPackageImpl.java:1317)
at autosar40.diagnosticextract.swmapping.SwmappingPackage.<clinit>(SwmappingPackage.java:78)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
at autosar40.featuremodel.impl.FeaturemodelPackageImpl.init(FeaturemodelPackageImpl.java:1455)
at autosar40.featuremodel.FeaturemodelPackage.<clinit>(FeaturemodelPackage.java:88)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
at autosar40.autosartoplevelstructure.impl.AutosartoplevelstructurePackageImpl.init(AutosartoplevelstructurePackageImpl.java:1324)
at autosar40.autosartoplevelstructure.AutosartoplevelstructurePackage.<clinit>(AutosartoplevelstructurePackage.java:79)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
at autosar40.standardization.abstractblueprintstructure.impl.AbstractblueprintstructurePackageImpl.init(AbstractblueprintstructurePackageImpl.java:1371)
at autosar40.standardization.abstractblueprintstructure.AbstractblueprintstructurePackage.<clinit>(AbstractblueprintstructurePackage.java:81)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
at autosar40.standardization.clientserverinterfacetobswmoduleentrymapping.impl.ClientserverinterfacetobswmoduleentrymappingPackageImpl.init(ClientserverinterfacetobswmoduleentrymappingPackageImpl.java:1329)
at autosar40.standardization.clientserverinterfacetobswmoduleentrymapping.ClientserverinterfacetobswmoduleentrymappingPackage.<clinit>(ClientserverinterfacetobswmoduleentrymappingPackage.java:80)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown
Я пробовал с разными значениями -xss, такими как 320k, 520k, 600k, 1024k, 256k, 1m, 2m и 10m, но без толку.
Мой файл eclipse.ini выглядит следующим образом:
-startup
plugins/org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.401.v20161122-1740
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
--launcher.XXMaxPermSize
512m
-vmargs
-Xss1m
-XX:MaxPermSize=256m
-Xms128m
-Xmx1000m
Тот же код отлично работает на 64-битной машине через рабочую область, но на 32-битной машине у меня возникает проблема. Может у кого-нибудь есть решение для этого?
Большое спасибо, Адья ....
он работает нормально.
Но я установил -xss1m в файле eclipse.ini, но это не сработало
в любом случае большое спасибо Адья
Проголосуйте за комментарий, если можете
Очистить форматирование
Имейте в виду, что -XX:+UseG1GC рекомендуется хранить только в кучах размером> 4 ГБ. Другие сборщики мусора (parallel / cms) могут быть более предпочтительными в зависимости от вашей ситуации. Но держу пари, что параллель должна быть вашим выбором, если вы не можете решить, какой из них использовать.
Кроме того, теоретически максимальная куча для 32-битной JVM составляет 4G, независимо от того, сколько у него оперативной памяти. @Adya




Откройте конфигурацию запуска для приложения Java, затем на вкладке аргументов появится текстовое поле аргументов виртуальной машины, напишите -Xss1m, это увеличит размер вашего стека.