#1086 Scrolling to the right garbles mindmap canvas on 64bit JVMs

open
Linux (67)
5
2014-09-01
2012-03-19
No

Freemind doesn't correctly refresh the mindmap when scrolling to the right on a 64 bit JVM on Linux causing image corruption (see attached image). Scrolling up, down or left clears up the parts of the image that go out and come back in to view. Changing to another mindmap and coming back also clears up the image. (Some other events do to).

I'm running Debian (mostly) Testing 64bit, fully up to date, with Liquorix kernel. Nvidia drivers 295.20. This had been occurring for a rather long time (various kernels and Nvidia driver version) but I only recently investigated it.

It occurs in KDE, Gnome2, 3 and 3-fallback and XFCE. I created a new account because I wasn't sure if my home settings were getting in the way.
It occurs on my laptop's internal screen as well as on external screens (I have a dock station with 2 screens hooked up).
The window size doesn't matter, a really small Freemind window still shows the bug.

I tested Freemind versions 0.9.0 from Debian repo and also checked out 1.0.0 beta1 from source.
I compiled the source version with various JVMs (including v1.5 for which I had to change String.isEmpty() invocations). Still the same issue.

Also tested (give or take a few) the following 64bit JVMs:
sun-java: jdk1.5.0_22 jdk1.6.0_10 jdk1.6.0_12 jdk1.6.0_17 jdk1.6.0_18 jdk1.6.0_21
openjdk: java-6-sun-1.6.0.26 java-1.7.0-openjdk-amd64 (from Debian repos)
jrockit: 1.6.0_29

I'm not sure if this is helpful but changing the following Java options didn't fix it:
-Dsun.java2d.opengl=true (causes text to not show anywhere at all)
-Dsun.java2d.d3d=false (doesn't seem to do anything)
-Dgnu.java.awt.peer.gtk.Graphics=Graphics2D (removing this fixed a window resizing issue with some version of some JVM I had, don't remember the details though)

Neither did:
export AWT_TOOLKIT=XToolkit
export AWT_TOOLKIT=MToolkit

JEdit, Eclipse and other software don't show this issue.

The workaround I found:
Install a 32 JVM.

Using a 32 bit JVM works just fine. I tested 1.6 and 1.7 version JVMs from Oracle and they both work. It fixes both versions of Freemind (0.9 and 1.0.0beta).
I already had ia32-libs installed, which is probably necessary before you can run those JVMs.

Discussion

  • JKAbrams
    JKAbrams
    2012-04-22

    I can confirm this behaviour. Scolling right/draging left. The displayed buffer has to be repainted to get cleared up.

    Freemind 1.0.0 Beta 2 (also tested on Freemind 0.9.0)
    Arch Linux 64bit
    KDE 4.8.2
    nVidia priopritary ver. 295.40

    java -version
    java version "1.6.0_24"
    OpenJDK Runtime Environment (IcedTea6 1.11.1) (ArchLinux-6.b24_1.11.1-3-x86_64)
    OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

    Here is a cut from Log File Viewer while I make the problem occur. 'Focus change for null' sounds suspicious to me, but might just aswell be totaly normal (there was quite a few of those, but also unrelated to scrolling).
    ---
    2012-apr-22 23:46:01 freemind.controller.Controller$1 propertyChange
    INFO: Focus change for null
    2012-apr-22 23:46:01 freemind.controller.Controller$1 propertyChange
    INFO: Focus change for freemind.view.mindmapview.MapView[,-2132,-816,5052x2512,layout=freemind.view.mindmapview.MindMapLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=234881033,maximumSize=,minimumSize=,preferredSize=]
    2012-apr-22 23:46:06 freemind.controller.Controller$1 propertyChange
    INFO: Focus change for null
    2012-apr-22 23:46:06 freemind.controller.Controller$1 propertyChange
    INFO: Focus change for javax.swing.JRootPane[,2,23,1680x995,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=]

     
  • elguavas
    elguavas
    2012-11-19

    this problem still exists under kubuntu 12.10 64bit with both the openjdk and oracle 64bit jre's.

    any word on this bug? freemind looks interesting but this bug makes it too much of a mess to use.

     
  • Daniel Barrett
    Daniel Barrett
    2014-01-21

    Confirmed that this still happens on 64-bit Ubuntu 13.10 with FreeMind 1.0.0 and Java version as follows.

    $ java -version
    java version "1.7.0_25"
    OpenJDK Runtime Environment (IcedTea 2.3.12) (7u25-2.3.12-4ubuntu3)
    OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

    However, it happens only when DRAGGING the HORIZONTAL scrollbar to the RIGHT.

    It does NOT happen:

    • Dragging horizontally to the LEFT
    • JUMPING horizontally (clicking in the scrollbar's empty space)
    • VERTICALLY scrolling
     
    Last edit: Daniel Barrett 2014-01-21