Two issues: a random seg fault and an ArrayOutOfBoundException when painting GLJPanel

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Two issues: a random seg fault and an ArrayOutOfBoundException when painting GLJPanel

Cyrille
I apologize in advance for the verbose post but every piece of information may be useful.

I am running Jogl 2 (jogl-2.0-pre-20100611-linux-i586) on a Debian box with Java(TM) SE Runtime Environment (build 1.6.0_21-b06)

****************************************************************
ISSUE #1: Segmentation fault when running the application below.
I've spent the whole day trying to isolate a segmentation fault. I only managed to write the following test case that reproduces it from times to times. The only thing to do to try to witness the crash is to run the application.

Here is the code sample:

import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.util.Calendar;

import javax.media.opengl.DebugGL2;
import javax.media.opengl.GL;
import javax.media.opengl.GL2;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLEventListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JTree;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

/**
 */
public final class TestApp implements GLEventListener, ComponentListener, ActionListener
{
        private final Component glCanvas = new javax.media.opengl.awt.GLJPanel();

        private final JFrame frame = new JFrame();

        // Constructors:

        /**
         * Initializes an instance.
         */
        private TestApp()
        {
                if (this.glCanvas instanceof GLAutoDrawable) ((GLAutoDrawable) this.glCanvas).addGLEventListener(TestApp.this);
                (this.glCanvas).addComponentListener(this);

                this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }

        // Methods:

        /** */
        public void start()
        {
                try
                {
                        SwingUtilities.invokeAndWait(new Runnable()
                        {
                                @Override
                                public void run()
                                {
                                        TestApp.this.rebuild();

                                        // Give frame a reasonable initial size.
                                        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
                                        frame.setSize(screenSize.width / 2, screenSize.height / 2);
                                        frame.setVisible(true);
                                }
                        });
                }
                catch (Throwable e)
                {
                        System.exit(1);
                }
        }

        private void rebuild()
        {
                // Clean top level frame.
                this.frame.getContentPane().removeAll();

                // Prepare frame's single child.
                JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
                splitPane.setDividerLocation(100);
                splitPane.setAlignmentX(JSplitPane.CENTER_ALIGNMENT);
                splitPane.setResizeWeight(0.5);
                splitPane.setDividerSize(2);
                this.frame.add(splitPane);

                // Build a component hierarchy that wraps split pane's left component.
                // This hierarchy written in a filesystem-like manner is: /JTabbedPane/JPanel/JScrollPane/JViewport/JPanel/JTree.
                JTree tree = new JTree(new Object[]
                { "First node", "Second node", "Third node", "Fourth node", "Fifth node" });
                tree.setRootVisible(false);
                tree.setShowsRootHandles(true);
                JTabbedPane tabbedPane = new JTabbedPane();
                tabbedPane.addTab("Tab1", makeView(tree));
                splitPane.setLeftComponent(tabbedPane);

                // Make a button for the single tab. This button allows the user to rebuild the entire Swing component hierarchy to reproduce a bug.
                JButton rebuildButton = new JButton("Rebuild");
                tabbedPane.setTabComponentAt(0, rebuildButton);
                rebuildButton.addActionListener(this);

                // Build a component hierarchy that wraps split pane's right component.
                // This hierarchy written in a filesystem-like manner is: /JPanel/JScrollPane/JViewport/JPanel/GLJPanel
                JPanel glView = makeView(this.glCanvas);
                splitPane.setRightComponent(glView);

                // We are done.
                this.frame.validate();
        }

        /**
         * Builds a component hierarchy that wraps the a client component.<br>
         * This hierarchy may seem useless in this example but it appears to be the minimal one that allows to reproduce the segmentation fault the most frequently.
         * @param internalComponent Component to wrap in the following hierarchy: /JPanel/JScrollPane/JViewport/JPanel/internalComponent.
         * @return The root JPanel of that hierarchy.
         */
        private static JPanel makeView(Component internalComponent)
        {
                JPanel view = new JPanel(new GridBagLayout());
                JPanel contentPanel = new JPanel();
                contentPanel.setLayout(new GridBagLayout());
                JScrollPane scrollPane = new JScrollPane(contentPanel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
                scrollPane.setViewportBorder(BorderFactory.createEmptyBorder());
                GridBagConstraints c = new GridBagConstraints();
                c.fill = GridBagConstraints.BOTH;
                c.gridx = 0;
                c.weightx = 1.0;
                c.weighty = 1.0;
                view.add(scrollPane, c);
                contentPanel.add(internalComponent, c);

                return view;
        }

        /**
         * Program main entry point.
         * @param inArguments Command line arguments.
         */
        public static void main(final String[] inArguments)
        {
                try
                {
                        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                }
                catch (Throwable inT)
                {
                        System.exit(0);
                }

                TestApp app = new TestApp();
                app.start();
        }

        @Override
        public void display(GLAutoDrawable arg0)
        {
                GL2 gl = arg0.getGL().getGL2();

                gl.glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
                gl.glClear(GL.GL_COLOR_BUFFER_BIT);

                gl.glColor3f(0.0f, 1.0f, 0.0f);
                gl.glBegin(GL2.GL_LINES);
                gl.glVertex2d(0.0, 0.0);
                gl.glVertex2d(1.0, 0.0);
                gl.glVertex2d(1.0, 1.0);
                gl.glVertex2d(0.0, 0.0);
                gl.glEnd();

                gl.glFlush();
        }

        @Override
        public void dispose(GLAutoDrawable arg0)
        {
        }

        @Override
        public void init(GLAutoDrawable arg0)
        {
                arg0.setGL(new DebugGL2(arg0.getGL().getGL2()));

                GL2 gl = arg0.getGL().getGL2();

                gl.glEnable(GL2.GL_LIGHTING);
        }

        @Override
        public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4)
        {
        }

        @Override
        public void componentHidden(ComponentEvent e)
        {
        }

        @Override
        public void componentMoved(ComponentEvent e)
        {
        }

        @Override
        public void componentResized(ComponentEvent e)
        {
                // The apparently dummy code below is necessary to reproduce the seg fault on my machine. Can't guess why...
                String message = "Dummy message";
                Calendar calendar = Calendar.getInstance();
                int h = calendar.get(Calendar.HOUR_OF_DAY);
                int m = calendar.get(Calendar.MINUTE);
                int s = calendar.get(Calendar.SECOND);
                int ms = calendar.get(Calendar.MILLISECOND);
                System.out.println("*** Debug Message at " + h + ":" + m + ":" + s + "\"" + ms + " *** " + message);
                System.out.println("*** " + message + " ***");
        }

        @Override
        public void componentShown(ComponentEvent e)
        {
        }

        @Override
        public void actionPerformed(ActionEvent e)
        {
                this.rebuild();
        }
}

Of course, this code works fine if I replace the GLJPanel by a simple JPanel. And it behaves nicely too with Jogl 1.1.1. It appears that changing a single line of this test case makes the seg fault likely to disappear on my machine.

It is very likely to be necessary to launch the application several times before seeing the crash (on my machine, I can see a crash every 10 runs, approximately).

Here is the log from the JVM:
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x8f21cb1a, pid=30400, tid=2367048592
#
# Java VM: Java HotSpot(TM) Server VM (10.0-b23 mixed mode linux-x86)
# Problematic frame:
# C  [libnativewindow_x11.so+0x2b1a]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x8d651800):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=30420, stack(0x8d114000,0x8d165000)]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000050

Registers:
EAX=0x00000018, EBX=0x8f21fff4, ECX=0x00000000, EDX=0x00000033
ESP=0x8d162880, EBP=0x8d162ab8, ESI=0x8d162b0c, EDI=0x8d6548c8
EIP=0x8f21cb1a, CR2=0x00000050, EFLAGS=0x00010202

Top of Stack: (sp=0x8d162880)
0x8d162880:   8d1628ac 00000200 8f21e020 8d162acc
0x8d162890:   082233ec 8f21e020 080594f4 00000000
0x8d1628a0:   8f100048 00000010 8d162acc 6974614e
0x8d1628b0:   69776576 776f646e 31315820 72724520
0x8d1628c0:   203a726f 70736944 2079616c 31387830
0x8d1628d0:   34386665 43202c30 2065646f 00387830
0x8d1628e0:   08620d28 b1286e08 00000000 8fce8164
0x8d1628f0:   08223358 8d1629dc 000076d4 8d162928

Instructions: (pc=0x8f21cb1a)
0x8f21cb0a:   89 04 24 e8 a2 ec ff ff 8b 85 e0 fd ff ff 8b 00
0x8f21cb1a:   8b 48 38 8b 83 58 01 00 00 8d 95 f4 fd ff ff 89

Stack: [0x8d114000,0x8d165000],  sp=0x8d162880,  free space=314k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libnativewindow_x11.so+0x2b1a]
C  [libnativewindow_x11.so+0x2b9d]
C  [libX11.so.6+0x3c7d9]  _XError+0xd9
C  [libX11.so.6+0x44c1e]  _XReply+0x22e
C  [libXext.so.6+0x841d]  XShmGetImage+0xed
C  [libmawt.so+0x15080]
C  [libmawt.so+0x1489b]
C  [libawt.so+0x1deb6]  Java_sun_java2d_loops_Blit_Blit+0x276
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::StubRoutines (1)
V  [libjvm.so+0x3735bd]
V  [libjvm.so+0x4fd5d8]
V  [libjvm.so+0x372ed0]
V  [libjvm.so+0x372f5d]
V  [libjvm.so+0x3e3165]
V  [libjvm.so+0x5b61ed]
V  [libjvm.so+0x4fe289]
C  [libpthread.so.0+0x64c0]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::Interpreter
v  ~BufferBlob::StubRoutines (1)

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x8d636400 JavaThread "DestroyJavaVM" [_thread_blocked, id=30405, stack(0xb75a8000,0xb75f9000)]
=>0x8d651800 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=30420, stack(0x8d114000,0x8d165000)]
  0x8d651000 JavaThread "AWT-Shutdown" [_thread_blocked, id=30419, stack(0x8d165000,0x8d1b6000)]
  0x083b4c00 JavaThread "AWT-XAWT" daemon [_thread_blocked, id=30418, stack(0x8fb86000,0x8fbd7000)]
  0x083c6000 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=30417, stack(0x8fbee000,0x8fc3f000)]
  0x080fd800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=30414, stack(0x8ff7f000,0x8ffd0000)]
  0x080fc000 JavaThread "CompilerThread1" daemon [_thread_blocked, id=30413, stack(0x8ffd0000,0x90051000)]
  0x080f9800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=30412, stack(0x90051000,0x900d2000)]
  0x080f8400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=30411, stack(0x900d2000,0x90123000)]
  0x080dd400 JavaThread "Finalizer" daemon [_thread_blocked, id=30410, stack(0x9025d000,0x902ae000)]
  0x080dc400 JavaThread "Reference Handler" daemon [_thread_blocked, id=30409, stack(0x902ae000,0x902ff000)]

Other Threads:
  0x080d9000 VMThread [stack: 0x902ff000,0x90380000] [id=30408]
  0x080ff000 WatcherThread [stack: 0x8fefe000,0x8ff7f000] [id=30415]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 PSYoungGen      total 6656K, used 4442K [0xb0bf0000, 0xb12f0000, 0xb4460000)
  eden space 6144K, 64% used [0xb0bf0000,0xb0fca148,0xb11f0000)
  from space 512K, 97% used [0xb1270000,0xb12ec7b0,0xb12f0000)
  to   space 512K, 0% used [0xb11f0000,0xb11f0000,0xb1270000)
 PSOldGen        total 28864K, used 461K [0x94860000, 0x96490000, 0xb0bf0000)
  object space 28864K, 1% used [0x94860000,0x948d36e8,0x96490000)
 PSPermGen       total 16384K, used 11312K [0x90860000, 0x91860000, 0x94860000)
  object space 16384K, 69% used [0x90860000,0x9136c020,0x91860000)

Dynamic libraries:
06000000-0665d000 r-xp 00000000 08:05 529390     /usr/share/jdk1.6.0_07/jre/lib/i386/server/libjvm.so
0665d000-066a1000 rwxp 0065c000 08:05 529390     /usr/share/jdk1.6.0_07/jre/lib/i386/server/libjvm.so
066a1000-06ac3000 rwxp 066a1000 00:00 0
08048000-08052000 r-xp 00000000 08:05 538205     /usr/share/jdk1.6.0_07/bin/java
08052000-08053000 rwxp 00009000 08:05 538205     /usr/share/jdk1.6.0_07/bin/java
08053000-08983000 rwxp 08053000 00:00 0          [heap]
8cc00000-8ccb8000 rwxp 8cc00000 00:00 0
8ccb8000-8cd00000 ---p 8ccb8000 00:00 0
8cd80000-8ce00000 rwxs 2b1c9000 00:0d 10233      /dev/nvidia0
8ce00000-8cf00000 rwxp 8ce00000 00:00 0
8cf30000-8cf90000 rwxs 00000000 00:08 584679450  /SYSV00000000 (deleted)
8cf90000-8cfd4000 rwxp 00000000 00:0d 1107       /dev/zero
8cfd4000-8d0d4000 rwxs 1b47a000 00:0d 10233      /dev/nvidia0
8d0d4000-8d114000 rwxs 2793c000 00:0d 10233      /dev/nvidia0
8d114000-8d117000 ---p 8d114000 00:00 0
8d117000-8d165000 rwxp 8d117000 00:00 0
8d165000-8d168000 ---p 8d165000 00:00 0
8d168000-8d1b6000 rwxp 8d168000 00:00 0
8d1b6000-8d1fa000 rwxp 00000000 00:0d 1107       /dev/zero
8d1fa000-8d1fc000 rwxp 00000000 00:0d 1107       /dev/zero
8d1fc000-8d3fc000 rwxs 1b685000 00:0d 10233      /dev/nvidia0
8d3fc000-8d400000 rwxs 3751a000 00:0d 10233      /dev/nvidia0
8d400000-8d500000 rwxs 37b3a000 00:0d 10233      /dev/nvidia0
8d500000-8d700000 rwxp 8d500000 00:00 0
8d700000-8d800000 rwxp 8d700000 00:00 0
8d80e000-8d839000 rwxs 00000000 00:08 584744985  /SYSV00000000 (deleted)
8d839000-8d879000 rwxs 37b63000 00:0d 10233      /dev/nvidia0
8d879000-8d899000 rwxs 314f8000 00:0d 10233      /dev/nvidia0
8d8bd000-8d8dd000 rwxs 1b478000 00:0d 10233      /dev/nvidia0
8d8dd000-8d8f6000 rwxs 00000000 00:08 0          /SYSV00000000 (deleted)
8d8f6000-8d997000 r-xp 00000000 08:05 529489     /usr/share/jdk1.6.0_07/jre/lib/i386/libjogl_desktop.so
8d997000-8d998000 r-xp 000a0000 08:05 529489     /usr/share/jdk1.6.0_07/jre/lib/i386/libjogl_desktop.so
8d998000-8d999000 rwxp 000a1000 08:05 529489     /usr/share/jdk1.6.0_07/jre/lib/i386/libjogl_desktop.so
8d999000-8ee62000 r-xp 00000000 08:05 32607      /usr/lib/libnvidia-glcore.so.256.35
8ee62000-8eeb9000 rwxp 014c9000 08:05 32607      /usr/lib/libnvidia-glcore.so.256.35
8eeb9000-8eec9000 rwxp 8eeb9000 00:00 0
8eec9000-8ef68000 r-xp 00000000 08:05 32713      /usr/lib/libGL.so.256.35
8ef68000-8ef85000 rwxp 0009e000 08:05 32713      /usr/lib/libGL.so.256.35
8ef85000-8ef94000 rwxp 8ef85000 00:00 0
8ef9f000-8efa3000 rwxs 1e8f3000 00:0d 10233      /dev/nvidia0
8efa3000-8efa7000 rwxs 14fd2000 00:0d 10233      /dev/nvidia0
8efa7000-8efa8000 rwxs c0005000 00:0d 10233      /dev/nvidia0
8efa8000-8f06b000 rwxp 8efa8000 00:00 0
8f06b000-8f100000 r-xp 00000000 08:05 76269      /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
8f100000-8f200000 rwxp 8f100000 00:00 0
8f200000-8f201000 rwxs 12e13000 00:0d 10233      /dev/nvidia0
8f201000-8f205000 r-xp 00000000 08:05 464564     /usr/lib/libXxf86vm.so.1.0.0
8f205000-8f206000 rwxp 00003000 08:05 464564     /usr/lib/libXxf86vm.so.1.0.0
8f206000-8f207000 rwxs fdc08000 00:0d 10233      /dev/nvidia0
8f207000-8f208000 rwxs fd641000 00:0d 10233      /dev/nvidia0
8f208000-8f209000 rwxs 0bbc8000 00:0d 10233      /dev/nvidia0
8f209000-8f20a000 rwxs 1503a000 00:0d 10233      /dev/nvidia0
8f20a000-8f20e000 rwxs 0b8c0000 00:0d 10233      /dev/nvidia0
8f20e000-8f20f000 rwxs c0002000 00:0d 10233      /dev/nvidia0
8f20f000-8f210000 rwxs 25a75000 00:0d 10233      /dev/nvidia0
8f210000-8f214000 rwxs 0d877000 00:0d 10233      /dev/nvidia0
8f214000-8f215000 rwxs fdc06000 00:0d 10233      /dev/nvidia0
8f215000-8f216000 rwxs fd641000 00:0d 10233      /dev/nvidia0
8f216000-8f217000 rwxs 0bbc8000 00:0d 10233      /dev/nvidia0
8f217000-8f218000 rwxs 1b63a000 00:0d 10233      /dev/nvidia0
8f218000-8f219000 r-xp 00000000 08:05 81457      /usr/lib/tls/libnvidia-tls.so.256.35
8f219000-8f21a000 rwxp 00000000 08:05 81457      /usr/lib/tls/libnvidia-tls.so.256.35
8f21a000-8f21f000 r-xp 00000000 08:05 529490     /usr/share/jdk1.6.0_07/jre/lib/i386/libnativewindow_x11.so
8f21f000-8f220000 r-xp 00004000 08:05 529490     /usr/share/jdk1.6.0_07/jre/lib/i386/libnativewindow_x11.so
8f220000-8f221000 rwxp 00005000 08:05 529490     /usr/share/jdk1.6.0_07/jre/lib/i386/libnativewindow_x11.so
8f221000-8f222000 r-xp 00000000 08:05 529488     /usr/share/jdk1.6.0_07/jre/lib/i386/libgluegen-rt.so
8f222000-8f223000 r-xp 00000000 08:05 529488     /usr/share/jdk1.6.0_07/jre/lib/i386/libgluegen-rt.so
8f223000-8f224000 rwxp 00001000 08:05 529488     /usr/share/jdk1.6.0_07/jre/lib/i386/libgluegen-rt.so
8f224000-8f227000 r-xs 00010000 08:07 1750205    /home/.documents/utilisateurs/cyrille/develop/eclipse/aminate/head/org.aminate.graphics/jogl/nativewindow.all.jar
8f227000-8f268000 rwxp 8f227000 00:00 0
8f268000-8f26a000 r-xp 00000000 08:05 93678      /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
8f26a000-8f26b000 rwxp 00001000 08:05 93678      /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
8f26b000-8f26c000 r-xp 00000000 08:05 93710      /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
8f26c000-8f26d000 rwxp 00000000 08:05 93710      /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
8f26d000-8f2cd000 rwxs 00000000 00:08 584613910  /SYSV00000000 (deleted)
8f2cd000-8f2d1000 r-xp 00000000 08:05 93699      /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so
8f2d1000-8f2d2000 rwxp 00003000 08:05 93699      /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so
8f2d2000-8f2d3000 r-xp 00000000 08:05 473354     /usr/lib/gconv/ISO8859-1.so
8f2d3000-8f2d5000 rwxp 00001000 08:05 473354     /usr/lib/gconv/ISO8859-1.so
8f2d5000-8f2d6000 rwxs fd060000 00:0d 10233      /dev/nvidia0
8f2d6000-8f2dd000 r-xp 00000000 08:05 529405     /usr/share/jdk1.6.0_07/jre/lib/i386/libnio.so
8f2dd000-8f2de000 rwxp 00006000 08:05 529405     /usr/share/jdk1.6.0_07/jre/lib/i386/libnio.so
8f2de000-8f2f1000 r-xp 00000000 08:05 529404     /usr/share/jdk1.6.0_07/jre/lib/i386/libnet.so
8f2f1000-8f2f2000 rwxp 00013000 08:05 529404     /usr/share/jdk1.6.0_07/jre/lib/i386/libnet.so
8f2f2000-8f2f8000 r-xs 00000000 08:05 350488     /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-x86.cache-2
8f2f8000-8f2f9000 r-xs 00000000 08:05 350517     /var/cache/fontconfig/fd9505950c048a77dc4b710eb6a628ed-x86.cache-2
8f2f9000-8f2fc000 r-xs 00000000 08:05 350516     /var/cache/fontconfig/ddc79d3ea06a7c6ffa86ede85f3bb5df-x86.cache-2
8f2fc000-8f2fd000 r-xs 00000000 08:05 350515     /var/cache/fontconfig/e7071f4a29fa870f4323321c154eba04-x86.cache-2
8f2fd000-8f2fe000 r-xs 00000000 08:05 350514     /var/cache/fontconfig/a2ab74764b07279e7c36ddb1d302cf26-x86.cache-2
8f2fe000-8f300000 r-xs 00000000 08:05 350513     /var/cache/fontconfig/c69f04ab05004e31a6d5e715764f16d8-x86.cache-2
8f300000-8f303000 r-xs 00000000 08:05 350512     /var/cache/fontconfig/6eb3985aa4124903f6ff08ba781cd364-x86.cache-2
8f303000-8f305000 r-xs 00000000 08:05 350511     /var/cache/fontconfig/646addb8444faa74ee138aa00ab0b6a0-x86.cache-2
8f305000-8f307000 r-xs 00000000 08:05 350510     /var/cache/fontconfig/20bd79ad97094406f7d1b9654bfbd926-x86.cache-2
8f307000-8f30a000 r-xs 00000000 08:05 350509     /var/cache/fontconfig/9c0624108b9a2ae8552f664125be8356-x86.cache-2
8f30a000-8f311000 r-xs 00000000 08:05 350508     /var/cache/fontconfig/6d41288fd70b0be22e8c3a91e032eec0-x86.cache-2
8f311000-8f313000 r-xs 00000000 08:05 350507     /var/cache/fontconfig/da1bd5ca8443ffe22927a23ce431d198-x86.cache-2
8f313000-8f315000 r-xs 00000000 08:05 350506     /var/cache/fontconfig/ddd4086aec35a5275babba44bb759c3c-x86.cache-2
8f315000-8f316000 r-xs 00000000 08:05 350505     /var/cache/fontconfig/4794a0821666d79190d59a36cb4f44b5-x86.cache-2
8f316000-8f319000 r-xs 00000000 08:05 350504     /var/cache/fontconfig/de9486f0b47a4d768a594cb4198cb1c6-x86.cache-2
8f319000-8f320000 r-xs 00000000 08:05 350503     /var/cache/fontconfig/d52a8644073d54c13679302ca1180695-x86.cache-2
8f320000-8f323000 r-xs 00000000 08:05 350502     /var/cache/fontconfig/6386b86020ecc1ef9690bb720a13964f-x86.cache-2
8f323000-8f329000 r-xs 00000000 08:05 350501     /var/cache/fontconfig/089dead882dea3570ffc31a9898cfb69-x86.cache-2
8f329000-8f32b000 r-xs 00000000 08:05 350422     /var/cache/fontconfig/e13b20fdb08344e0e664864cc2ede53d-x86.cache-2
8f32b000-8f349000 r-xp 00000000 08:05 48902      /usr/share/locale/fr/LC_MESSAGES/libc.mo
8f349000-8f351000 r-xp 00000000 08:05 110540     /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
8f351000-8f352000 rwxp 00007000 08:05 110540     /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
8f352000-8f377000 r-xp 00000000 08:05 35022      /usr/share/locale/fr/LC_MESSAGES/gtk20-properties.mo
8f377000-8f37e000 r-xs 00000000 08:05 39272      /usr/lib/gconv/gconv-modules.cache
8f37e000-8f3a2000 r-xp 00000000 08:05 37302      /usr/lib/libexpat.so.1.5.2
8f3a2000-8f3a4000 rwxp 00023000 08:05 37302      /usr/lib/libexpat.so.1.5.2
8f3a4000-8f3cc000 r-xp 00000000 08:05 38340      /usr/lib/libpixman-1.so.0.10.0
8f3cc000-8f3cd000 rwxp 00027000 08:05 38340      /usr/lib/libpixman-1.so.0.10.0
8f3cd000-8f3d3000 r-xp 00000000 08:05 37274      /usr/lib/libxcb-render.so.0.0.0
8f3d3000-8f3d4000 rwxp 00005000 08:05 37274      /usr/lib/libxcb-render.so.0.0.0
8f3d4000-8f3d7000 r-xp 00000000 08:05 464396     /usr/lib/libxcb-render-util.so.0.0.0
8f3d7000-8f3d8000 rwxp 00002000 08:05 464396     /usr/lib/libxcb-render-util.so.0.0.0
8f3d8000-8f3fb000 r-xp 00000000 08:05 35229      /usr/lib/libpng12.so.0.27.0
8f3fb000-8f3fc000 rwxp 00022000 08:05 35229      /usr/lib/libpng12.so.0.27.0
8f3fc000-8f40f000 r-xp 00000000 08:05 39010      /usr/lib/libdirect-1.0.so.0.1.0
8f40f000-8f410000 rwxp 00012000 08:05 39010      /usr/lib/libdirect-1.0.so.0.1.0
8f410000-8f417000 r-xp 00000000 08:05 464491     /usr/lib/libfusion-1.0.so.0.1.0
8f417000-8f418000 rwxp 00006000 08:05 464491     /usr/lib/libfusion-1.0.so.0.1.0
8f418000-8f47d000 r-xp 00000000 08:05 39011      /usr/lib/libdirectfb-1.0.so.0.1.0
8f47d000-8f47f000 rwxp 00065000 08:05 39011      /usr/lib/libdirectfb-1.0.so.0.1.0
8f47f000-8f4a7000 r-xp 00000000 08:05 35692      /usr/lib/libpcre.so.3.12.1
8f4a7000-8f4a8000 rwxp 00027000 08:05 35692      /usr/lib/libpcre.so.3.12.1
8f4a8000-8f4bc000 r-xp 00000000 08:05 34662      /usr/lib/libz.so.1.2.3.3
8f4bc000-8f4bd000 rwxp 00013000 08:05 34662      /usr/lib/libz.so.1.2.3.3
8f4bd000-8f52e000 r-xp 00000000 08:05 35093      /usr/lib/libfreetype.so.6.3.18
8f52e000-8f532000 rwxp 00070000 08:05 35093      /usr/lib/libfreetype.so.6.3.18
8f532000-8f558000 r-xp 00000000 08:05 35274      /usr/lib/libpangoft2-1.0.so.0.2002.3
8f558000-8f559000 rwxp 00026000 08:05 35274      /usr/lib/libpangoft2-1.0.so.0.2002.3
8f559000-8f55e000 r-xp 00000000 08:05 33798      /usr/lib/libXrandr.so.2.1.0
8f55e000-8f55f000 rwxp 00005000 08:05 33798      /usr/lib/libXrandr.so.2.1.0
8f55f000-8f561000 r-xp 00000000 08:05 37496      /usr/lib/libXinerama.so.1.0.0
8f561000-8f562000 rwxp 00001000 08:05 37496      /usr/lib/libXinerama.so.1.0.0
8f562000-8f58c000 r-xp 00000000 08:05 34012      /usr/lib/libfontconfig.so.1.3.0
8f58c000-8f58d000 rwxp 0002a000 08:05 34012      /usr/lib/libfontconfig.so.1.3.0
8f58d000-8f5f7000 r-xp 00000000 08:05 33760      /usr/lib/libcairo.so.2.17.5
8f5f7000-8f5f9000 rwxp 0006a000 08:05 33760      /usr/lib/libcairo.so.2.17.5
8f5f9000-8f6ad000 r-xp 00000000 08:05 40273      /usr/lib/libglib-2.0.so.0.1600.6
8f6ad000-8f6ae000 rwxp 000b4000 08:05 40273      /usr/lib/libglib-2.0.so.0.1600.6
8f6ae000-8f6b1000 r-xp 00000000 08:05 40240      /usr/lib/libgmodule-2.0.so.0.1600.6
8f6b1000-8f6b2000 rwxp 00002000 08:05 40240      /usr/lib/libgmodule-2.0.so.0.1600.6
8f6b2000-8f6ed000 r-xp 00000000 08:05 40339      /usr/lib/libgobject-2.0.so.0.1600.6
8f6ed000-8f6ee000 rwxp 0003b000 08:05 40339      /usr/lib/libgobject-2.0.so.0.1600.6
8f6ee000-8f707000 r-xp 00000000 08:05 38347      /usr/lib/libatk-1.0.so.0.2209.1
8f707000-8f709000 rwxp 00018000 08:05 38347      /usr/lib/libatk-1.0.so.0.2209.1
8f709000-8f70b000 r-xp 00000000 08:05 37488      /usr/lib/libXdamage.so.1.1.0
8f70b000-8f70c000 rwxp 00001000 08:05 37488      /usr/lib/libXdamage.so.1.1.0
8f70c000-8f70e000 r-xp 00000000 08:05 38480      /usr/lib/libXcomposite.so.1.0.0
8f70e000-8f70f000 rwxp 00001000 08:05 38480      /usr/lib/libXcomposite.so.1.0.0
8f70f000-8f74d000 r-xp 00000000 08:05 35275      /usr/lib/libpango-1.0.so.0.2002.3
8f74d000-8f74f000 rwxp 0003d000 08:05 35275      /usr/lib/libpango-1.0.so.0.2002.3
8f74f000-8f758000 r-xp 00000000 08:05 35272      /usr/lib/libpangocairo-1.0.so.0.2002.3
8f758000-8f759000 rwxp 00008000 08:05 35272      /usr/lib/libpangocairo-1.0.so.0.2002.3
8f759000-8f7dd000 r-xp 00000000 08:05 36800      /usr/lib/libgdk-x11-2.0.so.0.1200.12
8f7dd000-8f7e0000 rwxp 00083000 08:05 36800      /usr/lib/libgdk-x11-2.0.so.0.1200.12
8f7e0000-8f7f7000 r-xp 00000000 08:05 36139      /usr/lib/libgdk_pixbuf-2.0.so.0.1200.12
8f7f7000-8f7f8000 rwxp 00017000 08:05 36139      /usr/lib/libgdk_pixbuf-2.0.so.0.1200.12
8f7f8000-8fb7f000 r-xp 00000000 08:05 35970      /usr/lib/libgtk-x11-2.0.so.0.1200.12
8fb7f000-8fb85000 rwxp 00387000 08:05 35970      /usr/lib/libgtk-x11-2.0.so.0.1200.12
8fb85000-8fb86000 rwxp 8fb85000 00:00 0
8fb86000-8fb89000 ---p 8fb86000 00:00 0
8fb89000-8fbd7000 rwxp 8fb89000 00:00 0
8fbd7000-8fbdb000 r-xp 00000000 08:05 37279      /usr/lib/libXfixes.so.3.1.0
8fbdb000-8fbdc000 rwxp 00003000 08:05 37279      /usr/lib/libXfixes.so.3.1.0
8fbdc000-8fbe4000 r-xp 00000000 08:05 37405      /usr/lib/libXrender.so.1.3.0
8fbe4000-8fbe5000 rwxp 00007000 08:05 37405      /usr/lib/libXrender.so.1.3.0
8fbe5000-8fbed000 r-xp 00000000 08:05 37407      /usr/lib/libXcursor.so.1.0.2
8fbed000-8fbee000 rwxp 00007000 08:05 37407      /usr/lib/libXcursor.so.1.0.2
8fbee000-8fbf1000 ---p 8fbee000 00:00 0
8fbf1000-8fc3f000 rwxp 8fbf1000 00:00 0
8fc3f000-8fcbd000 r-xp 00000000 08:05 529417     /usr/share/jdk1.6.0_07/jre/lib/i386/libfontmanager.so
8fcbd000-8fcc7000 rwxp 0007e000 08:05 529417     /usr/share/jdk1.6.0_07/jre/lib/i386/libfontmanager.so
8fcc7000-8fccc000 rwxp 8fcc7000 00:00 0
8fccc000-8fcd0000 r-xp 00000000 08:05 37271      /usr/lib/libXdmcp.so.6.0.0
8fcd0000-8fcd1000 rwxp 00003000 08:05 37271      /usr/lib/libXdmcp.so.6.0.0
8fcd1000-8fce8000 r-xp 00000000 08:05 39598      /usr/lib/libxcb.so.1.0.0
8fce8000-8fce9000 rwxp 00017000 08:05 39598      /usr/lib/libxcb.so.1.0.0
8fce9000-8fcf0000 r-xp 00000000 08:05 33365      /usr/lib/libXi.so.6.0.0
8fcf0000-8fcf1000 rwxp 00007000 08:05 33365      /usr/lib/libXi.so.6.0.0
8fcf1000-8fcf5000 r-xp 00000000 08:05 37498      /usr/lib/libXtst.so.6.1.0
8fcf5000-8fcf6000 rwxp 00003000 08:05 37498      /usr/lib/libXtst.so.6.1.0
8fcf6000-8fde1000 r-xp 00000000 08:05 34255      /usr/lib/libX11.so.6.2.0
8fde1000-8fde5000 rwxp 000ea000 08:05 34255      /usr/lib/libX11.so.6.2.0
8fde5000-8fdf2000 r-xp 00000000 08:05 34666      /usr/lib/libXext.so.6.4.0
8fdf2000-8fdf3000 rwxp 0000d000 08:05 34666      /usr/lib/libXext.so.6.4.0
8fdf3000-8fdf6000 r-xs 00000000 08:05 350427     /var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-x86.cache-2
8fdf6000-8fe07000 r-xp 00000000 08:05 35021      /usr/share/locale/fr/LC_MESSAGES/gtk20.mo
8fe07000-8fe48000 r-xp 00000000 08:05 537515     /usr/share/jdk1.6.0_07/jre/lib/i386/xawt/libmawt.so
8fe48000-8fe4b000 rwxp 00040000 08:05 537515     /usr/share/jdk1.6.0_07/jre/lib/i386/xawt/libmawt.so
8fe4b000-8fec6000 r-xp 00000000 08:05 529415     /usr/share/jdk1.6.0_07/jre/lib/i386/libawt.so
8fec6000-8fecd000 rwxp 0007b000 08:05 529415     /usr/share/jdk1.6.0_07/jre/lib/i386/libawt.so
8fecd000-8fef1000 rwxp 8fecd000 00:00 0
8fef1000-8fefe000 r-xs 001d1000 08:07 1750824    /home/.documents/utilisateurs/cyrille/develop/eclipse/aminate/head/org.aminate.graphics/jogl/jogl.all.jar
8fefe000-8feff000 ---p 8fefe000 00:00 0
8feff000-8ff7f000 rwxp 8feff000 00:00 0
8ff7f000-8ff82000 ---p 8ff7f000 00:00 0
8ff82000-8ffd0000 rwxp 8ff82000 00:00 0
8ffd0000-8ffd3000 ---p 8ffd0000 00:00 0
8ffd3000-90051000 rwxp 8ffd3000 00:00 0
90051000-90054000 ---p 90051000 00:00 0
90054000-900d2000 rwxp 90054000 00:00 0
900d2000-900d5000 ---p 900d2000 00:00 0
900d5000-90123000 rwxp 900d5000 00:00 0
90123000-9025d000 r-xp 00000000 08:05 50349      /usr/lib/locale/locale-archive
9025d000-90260000 ---p 9025d000 00:00 0
90260000-902ae000 rwxp 90260000 00:00 0
902ae000-902b1000 ---p 902ae000 00:00 0
902b1000-902ff000 rwxp 902b1000 00:00 0
902ff000-90300000 ---p 902ff000 00:00 0
90300000-903b2000 rwxp 90300000 00:00 0
903b2000-9053d000 r-xs 02def000 08:05 529482     /usr/share/jdk1.6.0_07/jre/lib/rt.jar
9053d000-9053e000 ---p 9053d000 00:00 0
9053e000-905be000 rwxp 9053e000 00:00 0
905be000-905bf000 ---p 905be000 00:00 0
905bf000-90647000 rwxp 905bf000 00:00 0
90647000-9065f000 rwxp 90647000 00:00 0
9065f000-9066e000 rwxp 9065f000 00:00 0
9066e000-90741000 rwxp 9066e000 00:00 0
90741000-90749000 rwxp 90741000 00:00 0
90749000-90761000 rwxp 90749000 00:00 0
90761000-90770000 rwxp 90761000 00:00 0
90770000-90842000 rwxp 90770000 00:00 0
90842000-90847000 rwxp 90842000 00:00 0
90847000-9085f000 rwxp 90847000 00:00 0
9085f000-91860000 rwxp 9085f000 00:00 0
91860000-94860000 rwxp 91860000 00:00 0
94860000-96490000 rwxp 94860000 00:00 0
96490000-b0bf0000 rwxp 96490000 00:00 0
b0bf0000-b12f0000 rwxp b0bf0000 00:00 0
b12f0000-b4460000 rwxp b12f0000 00:00 0
b4460000-b4462000 r-xp 00000000 08:05 37269      /usr/lib/libXau.so.6.0.0
b4462000-b4463000 rwxp 00001000 08:05 37269      /usr/lib/libXau.so.6.0.0
b4463000-b4466000 r-xs 00014000 08:07 1750209    /home/.documents/utilisateurs/cyrille/develop/eclipse/aminate/head/org.aminate.graphics/jogl/gluegen-rt.jar
b4466000-b446f000 rwxp b4466000 00:00 0
b446f000-b4526000 rwxp b446f000 00:00 0
b4526000-b4766000 rwxp b4526000 00:00 0
b4766000-b7526000 rwxp b4766000 00:00 0
b7526000-b7535000 r-xp 00000000 08:05 529400     /usr/share/jdk1.6.0_07/jre/lib/i386/libzip.so
b7535000-b7537000 rwxp 0000e000 08:05 529400     /usr/share/jdk1.6.0_07/jre/lib/i386/libzip.so
b7537000-b755a000 r-xp 00000000 08:05 529398     /usr/share/jdk1.6.0_07/jre/lib/i386/libjava.so
b755a000-b755c000 rwxp 00023000 08:05 529398     /usr/share/jdk1.6.0_07/jre/lib/i386/libjava.so
b755c000-b7566000 r-xp 00000000 08:05 434065     /lib/i686/cmov/libnss_files-2.7.so
b7566000-b7568000 rwxp 00009000 08:05 434065     /lib/i686/cmov/libnss_files-2.7.so
b7568000-b7570000 r-xp 00000000 08:05 434094     /lib/i686/cmov/libnss_nis-2.7.so
b7570000-b7572000 rwxp 00008000 08:05 434094     /lib/i686/cmov/libnss_nis-2.7.so
b7572000-b7587000 r-xp 00000000 08:05 433889     /lib/i686/cmov/libnsl-2.7.so
b7587000-b7589000 rwxp 00014000 08:05 433889     /lib/i686/cmov/libnsl-2.7.so
b7589000-b758b000 rwxp b7589000 00:00 0
b758b000-b7596000 r-xp 00000000 08:05 529397     /usr/share/jdk1.6.0_07/jre/lib/i386/libverify.so
b7596000-b7597000 rwxp 0000b000 08:05 529397     /usr/share/jdk1.6.0_07/jre/lib/i386/libverify.so
b7597000-b759f000 rwxs 00000000 08:05 236426     /tmp/hsperfdata_cyrille/30400
b759f000-b75a6000 r-xp 00000000 08:05 434550     /lib/i686/cmov/librt-2.7.so
b75a6000-b75a8000 rwxp 00006000 08:05 434550     /lib/i686/cmov/librt-2.7.so
b75a8000-b75ab000 ---p b75a8000 00:00 0
b75ab000-b75f9000 rwxp b75ab000 00:00 0
b75f9000-b761d000 r-xp 00000000 08:05 433918     /lib/i686/cmov/libm-2.7.so
b761d000-b761f000 rwxp 00023000 08:05 433918     /lib/i686/cmov/libm-2.7.so
b761f000-b7620000 rwxp b761f000 00:00 0
b7620000-b7775000 r-xp 00000000 08:05 434165     /lib/i686/cmov/libc-2.7.so
b7775000-b7776000 r-xp 00155000 08:05 434165     /lib/i686/cmov/libc-2.7.so
b7776000-b7778000 rwxp 00156000 08:05 434165     /lib/i686/cmov/libc-2.7.so
b7778000-b777b000 rwxp b7778000 00:00 0
b777b000-b777d000 r-xp 00000000 08:05 434057     /lib/i686/cmov/libdl-2.7.so
b777d000-b777f000 rwxp 00001000 08:05 434057     /lib/i686/cmov/libdl-2.7.so
b777f000-b7786000 r-xp 00000000 08:05 537513     /usr/share/jdk1.6.0_07/jre/lib/i386/jli/libjli.so
b7786000-b7788000 rwxp 00006000 08:05 537513     /usr/share/jdk1.6.0_07/jre/lib/i386/jli/libjli.so
b7788000-b7789000 rwxp b7788000 00:00 0
b7789000-b779e000 r-xp 00000000 08:05 434017     /lib/i686/cmov/libpthread-2.7.so
b779e000-b77a0000 rwxp 00014000 08:05 434017     /lib/i686/cmov/libpthread-2.7.so
b77a0000-b77a2000 rwxp b77a0000 00:00 0
b77a2000-b77a3000 r-xp 00000000 08:05 39602      /usr/lib/libxcb-xlib.so.0.0.0
b77a3000-b77a4000 rwxp 00000000 08:05 39602      /usr/lib/libxcb-xlib.so.0.0.0
b77a4000-b77ab000 r-xp 00000000 08:05 434337     /lib/i686/cmov/libnss_compat-2.7.so
b77ab000-b77ad000 rwxp 00006000 08:05 434337     /lib/i686/cmov/libnss_compat-2.7.so
b77ad000-b77b3000 r-xp 00000000 08:05 529388     /usr/share/jdk1.6.0_07/jre/lib/i386/native_threads/libhpi.so
b77b3000-b77b4000 rwxp 00006000 08:05 529388     /usr/share/jdk1.6.0_07/jre/lib/i386/native_threads/libhpi.so
b77b4000-b77b5000 rwxp b77b4000 00:00 0
b77b5000-b77b6000 r-xp b77b5000 00:00 0
b77b6000-b77b8000 rwxp b77b6000 00:00 0
b77b8000-b77b9000 r-xp b77b8000 00:00 0          [vdso]
b77b9000-b77d3000 r-xp 00000000 08:05 419289     /lib/ld-2.7.so
b77d3000-b77d5000 rwxp 0001a000 08:05 419289     /lib/ld-2.7.so
bffea000-bffff000 rwxp bffeb000 00:00 0          [stack]

VM Arguments:
jvm_args: -ea -esa -Dfile.encoding=UTF-8
java_command: org.aminate.graphics.gui.TestApp
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=/opt/gutenprint/sbin:/opt/gutenprint/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
USERNAME=cyrille
LD_LIBRARY_PATH=/usr/share/jdk1.6.0_07/jre/lib/i386/server:/usr/share/jdk1.6.0_07/jre/lib/i386:/usr/share/jdk1.6.0_07/jre/../lib/i386:/usr/share/jdk1.6.0_07/jre/lib/i386/client:/usr/share/jdk1.6.0_07/jre/lib/i386:/usr/lib/xulrunner-1.9:/usr/lib/xulrunner-1.9
SHELL=/bin/bash
DISPLAY=:0.0

Signal Handlers:
SIGSEGV: [libjvm.so+0x5edc30], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGBUS: [libjvm.so+0x5edc30], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGFPE: [libjvm.so+0x4fc6a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGPIPE: [libjvm.so+0x4fc6a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGXFSZ: [libjvm.so+0x4fc6a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGILL: [libjvm.so+0x4fc6a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGUSR2: [libjvm.so+0x4fe6e0], sa_mask[0]=0x00000004, sa_flags=0x10000004
SIGHUP: [libjvm.so+0x4fe480], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGINT: [libjvm.so+0x4fe480], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGTERM: [libjvm.so+0x4fe480], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGQUIT: [libjvm.so+0x4fe480], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004


---------------  S Y S T E M  ---------------

OS:5.0.5

uname:Linux 2.6.26-2-686 #1 SMP Mon Jun 21 05:58:44 UTC 2010 i686
libc:glibc 2.7 NPTL 2.7
rlimit: STACK 8192k, CORE 0k, NPROC 16380, NOFILE 1024, AS infinity
load average:0,37 0,28 0,39

CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 6, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3

Memory: 4k page, physical 2075864k(1194528k free), swap 979956k(749096k free)

vm_info: Java HotSpot(TM) Server VM (10.0-b23) for linux-x86 JRE (1.6.0_07-b06), built on Jun 10 2008 01:20:15 by "java_re" with gcc 3.2.1-7a (J2SE release)

time: Sun Jul 18 22:50:14 2010
elapsed time: 1 seconds

*******************************************************************
ISSUE #2: A java.lang.ArrayIndexOutOfBoundsException is raised when clicking on the "Rebuild" button of the JTabbedPane in the application above. This button removes all components from the root JFrame and rebuilds the same hierarchy. The GLJPanel is not deleted: it is reinserted in the new component hierarchy.
Here is the exception's stack trace:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException
        at java.lang.System.arraycopy(Native Method)
        at javax.media.opengl.awt.GLJPanel$AbstractReadbackBackend.postGL(GLJPanel.java:881)
        at javax.media.opengl.awt.GLJPanel$Updater.display(GLJPanel.java:588)
        at com.jogamp.opengl.impl.GLDrawableHelper.display(GLDrawableHelper.java:101)
        at com.jogamp.opengl.impl.GLPbufferImpl$DisplayAction.run(GLPbufferImpl.java:294)
        at com.jogamp.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:166)
        at com.jogamp.opengl.impl.GLPbufferImpl.maybeDoSingleThreadedWorkaround(GLPbufferImpl.java:280)
        at com.jogamp.opengl.impl.GLPbufferImpl.display(GLPbufferImpl.java:120)
        at javax.media.opengl.awt.GLJPanel$PbufferBackend.doPaintComponentImpl(GLJPanel.java:1128)
        at javax.media.opengl.awt.GLJPanel$AbstractReadbackBackend.doPaintComponent(GLJPanel.java:899)
        at javax.media.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:306)
        at javax.swing.JComponent.paint(JComponent.java:1027)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paint(JComponent.java:1036)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paint(JComponent.java:1036)
        at javax.swing.JViewport.paint(JViewport.java:747)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paint(JComponent.java:1036)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paint(JComponent.java:1036)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1026)
        at javax.swing.JComponent.paint(JComponent.java:1036)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paint(JComponent.java:1036)
        at javax.swing.JComponent.paintToOffscreen(JComponent.java:5122)
        at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:285)
        at javax.swing.RepaintManager.paint(RepaintManager.java:1128)
        at javax.swing.JComponent._paintImmediately(JComponent.java:5070)
        at javax.swing.JComponent.paintImmediately(JComponent.java:4880)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:723)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:679)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:659)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)


Well, that's done. Sorry again for the never ending post. If you think it's worth it, I can file two bugs in Bugzilla. That could make this clearer hopefully.

Thanks for reading, don't hesitate to ask for more details.

Cyrille
Reply | Threaded
Open this post in threaded view
|

Re: Two issues: a random seg fault and an ArrayOutOfBoundException when painting GLJPanel

Cyrille
Hi,

For the first issue (the segmentation fault): I would be glad to attach a debugger in order to catch the seg fault and maybe learn more about what happens. Unfortunately, I am completely noob with Ant.

I have checked out the whole source tree of both gluegen and jogl as told here http://jogamp.org/jogl/doc/HowToBuild.html.
My questions are:
- is there a chance that I can attach a debugger to the java process in order to debug the C or C++ code within the guilty libnative_x11.so? If yes, which debugger should I use? I used to pratice GDB in the good old days but that's all.
- assuming someone answered "Yes!" to the first question, how can I build Jogl with debug symbols enabled? I tried to guess it by reading the bunch of xml files within the build folder but, well, I have to admit I understood barely nothing.

Any help to tell me how I could look into it is appreciated! This crash is driving me nuts (and over and above, prevents my application from being usable)...

Thanks,
Cyrille
Reply | Threaded
Open this post in threaded view
|

Re: Two issues: a random seg fault and an ArrayOutOfBoundException when painting GLJPanel

Cyrille
Hi all,

Well, I am still fighting with my GLJPanel that does not want to display things without raising exceptions.

I have a hint for the second issue, i.e the ArrayOutOfBoundsException raised when my demonstration application's "Rebuild" button is clicked. Recall that this rebuild button removes all components from the parent JFrame and build the same component hierarchy again, reusing the same GLJPanel than before. I noticed that:
- the readBackWidthInPixels and readBackHeightInPixels in GLJPanel.PBufferBackend are zero when the exception is raised. By analyzing the code, this means that these two fields are uninitialized (as the only method that assign them a value is handleReshape(), which guarantees to set at least 1)
- the backend is not the same instance than before clicking on "Rebuild". I guess the backend is destroyed when the GLJPanel is removed from its parent JFrame and a new instance of a backend is created later. This guess is compatible with the first assumption that readBackWidthInPixels and readBackHeightInPixels are used before being initialized.

BTW, I forgot to tell that this exception does not seem to be harmless: it is uncaught and prevents the GLJPanel from displaying anything before it is resized by the user.

I think I'll try to put that together and file bugs in Bugzilla when I have time.

Regards,
Cyrille