wenbostar/PDV

Please increase JVM memory

MKoesters opened this issue · 4 comments

Hi all,

I'm trying to test PDV (GUI) with one single mzid from MetaMorpheus (30MB).
However, as soon as I select the the file I get the warning in the title.

This seems strange to me since my machie has 128GB RAM and I'm running PDB as the following:

java -Xmx80G -jar PDV-1.7.4.jar

Even if only loading one mzML, the loading does not seem to finish.

I'm running everything on an arch linux machine to which I connect via VNC from a macbook.

Did you encounter something similar and have any idea whats going wrong?

When trying to run the example as following:

DISPLAY=:1 java -jar PDV-1.7.4.jar -r input_data/SF_200217_U2OS_TiO2_HCD_OT_rep1_myrimatch_mzML.mzid -rt 1 -s input_data/SF_200217_U2OS_TiO2_HCD_OT_rep1.mzML -st 2 -i input_data/spectrum_scan_number.txt -k s -o output -a 0.05 -c 3 -pw 1 -fw 800 -fh 400 -fu px -ft pdf

I end up with the following stack trace:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/manuel/Apps/PDV-1.7.4/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/manuel/Apps/PDV-1.7.4/lib/logback-classic-1.1.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Exception in thread "main" java.lang.ExceptionInInitializerError
        at com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:83)
        at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:176)
        at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:282)
        at com.sun.xml.bind.v2.runtime.property.ArrayProperty.<init>(ArrayProperty.java:69)
        at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.<init>(ArrayERProperty.java:88)
        at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.<init>(ArrayElementProperty.java:100)
        at com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.<init>(ArrayElementNodeProperty.java:62)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
        at com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:128)
        at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:181)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:509)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:326)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:141)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1157)
        at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145)
        at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:236)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:186)
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:146)
        at javax.xml.bind.ContextFinder.find(ContextFinder.java:348)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:446)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:409)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:313)
        at uk.ac.ebi.pride.utilities.pridemod.io.unimod.xml.unmarshaller.UnimodUnmarshallerFactory.initializeUnmarshaller(UnimodUnmarshallerFactory.java:36)
        at uk.ac.ebi.pride.utilities.pridemod.io.unimod.xml.UnimodReader.<init>(UnimodReader.java:35)
        at PDVGUI.utils.ImportPTMsFromUnimod.parsingFile(ImportPTMsFromUnimod.java:55)
        at PDVGUI.utils.ImportPTMsFromUnimod.<init>(ImportPTMsFromUnimod.java:34)
        at PDVCLI.PDVCLIMainClass.runCMD(PDVCLIMainClass.java:246)
        at PDVCLI.PDVCLIMainClass.<init>(PDVCLIMainClass.java:229)
        at PDVGUI.gui.PDVMainClass.main(PDVMainClass.java:282)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @34129c78
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
        at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
        at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
        at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1.run(Injector.java:177)
        at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1.run(Injector.java:174)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
        at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.<clinit>(Injector.java:172)
        ... 37 more

Can you help me with getting PDV to run on a remote linux server (either ssh or vnc are okay for me)

Best,
Manuel

Hi Manuel,

I think it's not because memory. The reason might be the sl4j library. I have updated it and will release a new version soon, maybe tomorrow. Please let me know if you still have the same issue.

Kai

Any updates on the new release?

Sorry for the late update. I will release it as soon as this weekend.

Hi there, could you please share your data with me? I just want to make sure the new version will solve your problem.