cancel
Showing results for 
Search instead for 
Did you mean: 

Problem starting MemoryAnalyzer in linux

Former Member
0 Kudos

I am trying to run under Linux, and I have been unable to get it to work. When I try to run the script (or just run the java command directly), it runs for a second, then exits with no output to stdout or stderr.

Commands I've tried:

java -Xms512m -jar plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar

java -XX:+AggressiveHeap -jar plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar

java -version

java version "1.6.0_01"

Java(TM) SE Runtime Environment (build 1.6.0_01-b06)

Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_01-b06, mixed mode)

uname -a

Linux 2.6.9-55.9.ELsmp #1 SMP Tue Jun 19 07:44:28 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

I've tried both the linux and linux x86 64 versions of the application with exactly the same results. I have been unable to find any log file or any other output to diagnose the problem. Is there a log file I'm missing, or is there some way to get more debug output so I can figure out how to make this work? Thanks very much!

Accepted Solutions (0)

Answers (1)

Answers (1)

Vlado
Advisor
Advisor
0 Kudos

Hi Jacy,

First of all, welcome to SDN!

The Memory Analyzer needs JDK 1.5 to run (though it can be used to analyze heap dumps obtained from JVM/JDK version 1.4.2_12 or 1.5.0_07 or 6.0 upwards).

Check its [wiki|https://wiki.sdn.sap.com/wiki/display/Java/JavaMemoryAnalysis] page.

HTH!

\-- Vladimir

Former Member
0 Kudos

java -version

java version "1.5.0_11"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)

Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_11-b03, mixed mode)

Still the same issue. Tried again with both Linux versions. No output whatsoever. Tried using 'time' to see how long it runs for. After running the start command for SMA, it exits in .12 seconds. Is there any way I can get extra debug output to find out what's going on?

former_member197208
Participant
0 Kudos

Hi,

the eclipse framework creates a workspace directory inside the Memory Analyzer directory. That's where the log file is located. I am not quite sure how this is on Linux, but maybe it's a file permission issue?

AFAIK, jdk 6 should work. The Analyzer needs >=JRE 5.

Kind regards,

- Andreas.

Former Member
0 Kudos

okay, so...progress.

i had missed the log file because it was .log and didn't show up with my default ls.

in the log file, i have a series of these:

!SESSION 2008-02-15 10:24:57.228 -


eclipse.buildId=unknown

java.version=1.6.0_01

java.vendor=Sun Microsystems Inc.

BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US

!ENTRY org.eclipse.osgi 4 0 2008-02-15 10:25:01.022

!MESSAGE Application error

!STACK 1

java.lang.UnsatisfiedLinkError: no swt-pi-gtk-3346 or swt-pi-gtk in swt.library.path, java.library.path or the jar file

at org.eclipse.swt.internal.Library.loadLibrary(Library.java:219)

at org.eclipse.swt.internal.Library.loadLibrary(Library.java:151)

at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:22)

at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)

at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)

at org.eclipse.swt.widgets.Display.<clinit>(Display.java:128)

at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:482)

at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)

at com.sap.tools.memory.ui.rcp.Application.start(Application.java:13)

at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)

at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)

at org.eclipse.equinox.launcher.Main.run(Main.java:1169)

at org.eclipse.equinox.launcher.Main.main(Main.java:1144)

It seems it's not picking up the swt libraries, however, they appear to be in the /plugins directory. do i need to set any environment variables to help ensure it picks the libraries up?

Former Member
0 Kudos

fyi - in attempting to find a workaround, i found a page on the web which talked about setting the java.library.path to avoid these linking issues with SWT. So...I tried that, adding this property to the java args:

-Djava.library.path=plugins/org.eclipse.core.filesystem.linux.x86_64_1.0.100.v20070510/os/linux/x86_64:plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.0.0.v20070606/:plugins/org.eclipse.swt.gtk.linux.x86_64_3.3.0.v3346/:plugins/org.eclipse.update.core.linux_3.2.0.v20070615/os/linux/x86

However, this did not actually work, which I am finding discouraging. I'm explicitly pointing the application to all the paths which contain .so files. I'm not sure what else I need to do.