X
5070

Fedora Core 7 and 8 High Memory Usage or Segmentation Fault While Attempting to Use IDL 6.4 Direct Graphics

Topic
Customers running IDL 6.4 under Fedora Core 7 have encountered a segmentation fault when executing any Direct Graphics calls, e.g. WINDOW, PLOT or TV. This problem appears to be associated with a recent (June 2007) Fedora upgrade, presumably due to a modified X11 library file in that upgrade, but perhaps due strictly to that library's interface with NVIDIA video card drivers.

The Discussion below provides some immediate workaround options that are available for fixing this problem.

Note: Fedora Core 8 users are also experiencing the same problems and the following main workaround seems to fix this version of Fedora too.

Discussion
One common symptom shared by all scenarios using 32-bit IDL is that once the problem is encountered (i.e. when calling PLOT for example) the machine freezes up. Memory usage goes up, swap starts to be overused, and this sends the rest of the system to a halt. The one user reporting about 64-bit IDL could not detect the memory overusage; his IDL sessions went straight to segmentation fault upon entry of the PLOT command.

These are some of the X11 packages that customers have reported being installed by their recent upgrade of their Fedora Core 7 systems:

    Customer one:
    libX11-1.0.3-8.fc7
    libX11-devel-1.0.3-8.fc7

    Customer two:
    xorg-x11-server-Xorg.i386 1.3.0.0-9.fc7

    Customer three:
    xorg-x11-server-Xorg.x86_64 1.3.0.0-7.fc7
    xorg-x11-drv-vesa.x86_64 1.3.0-8.fc7
    xorg-x11-drv-nv.x86_64 2.0.96-2.fc7
    xorg-x11-drv-nouveau.x86_64 2.0.96-2.fc7

Possible Workarounds:

Main Workaround:

The following workaround should be tried first, before any other. The inclusion of the following four lines to the system file /etc/X11/xorg.conf ought to fix the problem:

    Section "ServerFlags"
    Option "RandR" "false"
    Option "Xinerama" "false"
    EndSection

IDL Direct Graphics should work fine after the server restarts.

Secondary Workarounds:

There are two possible alternative workarounds to the problem:

  1. Rolling back to xorg-x11-server-Xorg.i386 1.3.0.0-5.fc7 should fix the problem. Try the following to roll back to previous xorg packages:



      rpm -e --nodeps xorg-x11-server-Xorg-1.3.0.0
      [32-bit]
      rpm -i xorg-x11-server-Xorg-1.3.0.0-5.fc7.i386.rpm
      [64-bit]
      xorg-x11-server-Xorg-1.3.0.0-5.fc7.x86_64.rpm

    Logging out automatically restarts the X server. After the server restart IDL should work fine. We note that the ibiblio organization is one source that can offer quick web download access to these packages at:
    http://distro.ibiblio.org/pub/linux/distributions/fedora/linux/releases/7/Fedora/i386/os/Fedora/ and
    http://distro.ibiblio.org/pub/linux/distributions/fedora/linux/releases/7/Fedora/x86_64/os/Fedora/.

  2. Install the NVIDIA driver version 100.14.11 and, after every reboot!, run its settings utility before you start IDL. This driver does not come with the default installation of Fedora Core 7, but can be acquired from NVIDIA's web site at URL:



    The driver that is installed has a control panel called "nvidia-settings", which can be initialized from a shell prompt with the command:

      /usr/sbin/nvidia-settings

    or from the GUI under 'Applications->System Tools'. One just has to open the settings utility and then close it to eliminate this seg-fault/memory-overusage behavior; no changes need to be made in the NVIDIA settings! Note, however, that this particular workaround is only valid until your system next shuts down. After any reboot, you will have to perform the same nvidia-settings call before the next time you call idl/idlde.