Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "MemoryAnalyzer/WSL"

m (Formatting)
 
(3 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
Install WSL2 with for example Ubuntu or Ubuntu 20  
 
Install WSL2 with for example Ubuntu or Ubuntu 20  
  
Install Cygwin and X-Server
+
For Windows 10: Install Cygwin and X-Server
  
Install the appropriate graphics driver: [https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps Microsoft WSL GUI apps]
+
For Windows 11: X-Server is installed on WSL2 by default
 +
 
 +
For Windows 10: Install the appropriate graphics driver: [https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps Microsoft WSL GUI apps]
 +
 
 +
For Windows 11: Graphics driver is installed on WSL2 by default
  
 
Install unzip
 
Install unzip
Line 24: Line 28:
 
<code>sudo apt-get install libwebkit2gtk-4.0-37</code>
 
<code>sudo apt-get install libwebkit2gtk-4.0-37</code>
  
Install Java 11 or later
+
Install Java 17 or later
  
<code>sudo apt install openjdk-11-jre-headless</code>
+
<code>sudo apt install openjdk-17-jre-headless</code>
  
 +
For Windows 10, start the X-server:
 
Find the IP address of the WSL2 system:
 
Find the IP address of the WSL2 system:
 
<code>ip addr | grep eth0</code>
 
<code>ip addr | grep eth0</code>
Line 34: Line 39:
 
  <nowiki>startxwin -- -listen tcp
 
  <nowiki>startxwin -- -listen tcp
 
xhost +127.0.0.1 #Add the appropriate IP address, need to check for WSL2
 
xhost +127.0.0.1 #Add the appropriate IP address, need to check for WSL2
# xhost +172.22.46.35 # or use this for WSL2, replace the address with the address from ip addr above</nowiki>
+
# xhost +172.22.46.35 # or use this for WSL2, replace the address with the address from ip addr above
 +
# xhost +$(wsl hostname -I) # or use this from a Cygwin xterm window to automatically find the WSL2 address</nowiki>
  
 
Download Memory Analyzer zip
 
Download Memory Analyzer zip
Line 46: Line 52:
 
./MemoryAnalyzer</nowiki>
 
./MemoryAnalyzer</nowiki>
  
or for WSL2
+
or for WSL2, Windows 10
 
  <nowiki>
 
  <nowiki>
 
cd mat
 
cd mat
Line 52: Line 58:
 
./MemoryAnalyzer</nowiki>
 
./MemoryAnalyzer</nowiki>
  
 +
or for WSL2, Windows 11
 +
<code>./MemoryAnalyzer</code>
 +
 +
===Problems===
 +
 +
Problem: Failed to load swt-pi3
 +
  <nowiki>./MemoryAnalyzer
 +
SWT OS.java Error: Failed to load swt-pi3, loading swt-pi4 as fallback.
 +
MemoryAnalyzer:
 +
An error has occurred. See the log file
 +
/home/user1/mat/configuration/1689022953567.log.
 +
</nowiki>
 +
Solution:
 +
 +
Install GTK4
 +
 +
Problem: Failed to create a browser
 +
  <nowiki>Failed to create a browser because of: No more handles because there is no underlying browser available.
 +
Please ensure that WebKit with its GTK 3.x/4.x bindings is installed.
 +
Consult error log for more details.
 +
Press F1 or the help icon for help.
 +
</nowiki>
 +
 +
Solution:
 +
 +
Install WebKit
 +
 +
===Charts===
  
 
To get charts working, add <code>-Djava.awt.headless=true</code> to `MemoryAnalyzer.ini` in the vmargs section.
 
To get charts working, add <code>-Djava.awt.headless=true</code> to `MemoryAnalyzer.ini` in the vmargs section.
 +
 +
====WebKit problems - e.g. Ubuntu 22.04====
 +
 +
If you get errors such as the following, and blank pages for reports or help:
 +
 +
  <nowiki>(WebKitWebProcess:22883): Gdk-ERROR **: 12:42:02.853: The program 'WebKitWebProcess' received an X Window System error.
 +
This probably reflects a bug in the program.
 +
The error was 'GLXBadFBConfig'.
 +
  (Details: serial 148 error_code 161 request_code 148 (GLX) minor_code 21)
 +
  (Note to programmers: normally, X errors are reported asynchronously;
 +
  that is, you will receive the error a while after causing it.
 +
  To debug your program, run it with the GDK_SYNCHRONIZE environment
 +
  variable to change this behavior. You can then get a meaningful
 +
  backtrace from your debugger if you break on the gdk_x_error() function.)</nowiki>
 +
 +
try starting Memory Analyzer like this
 +
<code>WEBKIT_DISABLE_COMPOSITING_MODE=1 ./MemoryAnalyzer</code>
 +
 +
See [https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/1966418] for details.

Latest revision as of 02:24, 12 July 2023

Windows Subsystem for Linux

it is possible to test Linux builds on a Windows 10 (or 11) machine using Windows Subsystem for Linux.

Install WSL2 with for example Ubuntu or Ubuntu 20

For Windows 10: Install Cygwin and X-Server

For Windows 11: X-Server is installed on WSL2 by default

For Windows 10: Install the appropriate graphics driver: Microsoft WSL GUI apps

For Windows 11: Graphics driver is installed on WSL2 by default

Install unzip

sudo apt install unzip

Install GTK:

sudo apt-get install libswt-gtk-4-jni libswt-gtk-4-java

Install WebKit:

Eclipse instructions sudo apt-get install libwebkit2gtk-4.0-37

Install Java 17 or later

sudo apt install openjdk-17-jre-headless

For Windows 10, start the X-server: Find the IP address of the WSL2 system: ip addr | grep eth0

From Cygwin64 command prompt. xhost should have the IP address of the WSL2 system as seen from Windows / Cygwin

startxwin -- -listen tcp
xhost +127.0.0.1 #Add the appropriate IP address, need to check for WSL2
# xhost +172.22.46.35 # or use this for WSL2, replace the address with the address from ip addr above
# xhost +$(wsl hostname -I) # or use this from a Cygwin xterm window to automatically find the WSL2 address

Download Memory Analyzer zip

unzip MemoryAnalyzer-1.12.0.20210602-linux.gtk.x86_64.zip

For WSL1

cd mat
export DISPLAY=:0
./MemoryAnalyzer

or for WSL2, Windows 10

cd mat
export DISPLAY=$(ip route | grep default | cut -d ' ' -f 3)':0' # Finds the IP address of the Windows machine
./MemoryAnalyzer

or for WSL2, Windows 11 ./MemoryAnalyzer

Problems

Problem: Failed to load swt-pi3

 ./MemoryAnalyzer
SWT OS.java Error: Failed to load swt-pi3, loading swt-pi4 as fallback.
MemoryAnalyzer:
An error has occurred. See the log file
/home/user1/mat/configuration/1689022953567.log.

Solution:

Install GTK4

Problem: Failed to create a browser

 Failed to create a browser because of: No more handles because there is no underlying browser available.
Please ensure that WebKit with its GTK 3.x/4.x bindings is installed.
Consult error log for more details.
Press F1 or the help icon for help.

Solution:

Install WebKit

Charts

To get charts working, add -Djava.awt.headless=true to `MemoryAnalyzer.ini` in the vmargs section.

WebKit problems - e.g. Ubuntu 22.04

If you get errors such as the following, and blank pages for reports or help:

 (WebKitWebProcess:22883): Gdk-ERROR **: 12:42:02.853: The program 'WebKitWebProcess' received an X Window System error.
This probably reflects a bug in the program.
The error was 'GLXBadFBConfig'.
  (Details: serial 148 error_code 161 request_code 148 (GLX) minor_code 21)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

try starting Memory Analyzer like this WEBKIT_DISABLE_COMPOSITING_MODE=1 ./MemoryAnalyzer

See [1] for details.

Back to the top