sysinfo crashes systematically when selecting NVIDIA in menu

Bug #159974 reported by Koen
2
Affects Status Importance Assigned to Milestone
Restricted Manager
Invalid
Undecided
Unassigned
sysinfo (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: sysinfo

I have installed a fresh ubuntu gutsy on a Dell E521 Desktop machine with a DELL 2007WFP Screen.
The Dell E521 uses a AMD 64 X2 Dual Core Processor but the gutsy edition I've installed is the standard one (not the 64bit one)
It uses the onboard NVIDIA GeForce 6150 LE video adaptor.
The restricted NVIDIA accelerated graphics driver is installed and enabled

When I open sysinfo I can use everything OK (although using the close button in the about box also has problems of its own) except the NVIDIA menu item which causes a systematic crash.
I've attached a video recording of what hapens with istanbull in ogg format which I'll attach.
I normally use the full 1680x1050 resolution, but for the recording I've used 1024x768 resolution.

The crash happens systematically when i click on the NVIDIA icon in the sysinfo menu at outputs the following output in a console/

Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
System.NullReferenceException: A null value was found where an object instance was required.
  at Sysinfo.NvidiaInfo.AditionaInfo () [0x00000]
  at Sysinfo.Sysinfo.on_notebook1_switch_page (System.Object o, Gtk.SwitchPageArgs e) [0x00000]
  at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_object_SwitchPageArgs (object,Gtk.SwitchPageArgs)
  at Gtk.Notebook.SwitchPageSignalCallback (IntPtr arg0, IntPtr arg1, UInt32 arg2, IntPtr gch) [0x00000]

   at GLib.ExceptionManager.RaiseUnhandledException ()
   at Gtk.Notebook.SwitchPageSignalCallback ()
   at Gtk.Notebook.SwitchPageSignalCallback ()
   at Gtk.Notebook.gtk_notebook_set_current_page ()
   at Gtk.Notebook.gtk_notebook_set_current_page ()
   at Gtk.Notebook.set_CurrentPage ()
   at Sysinfo.Sysinfo.on_treeview1_cursor_changed ()
   at System.MulticastDelegate.invoke_void_object_EventArgs ()
   at GLib.Signal.voidObjectCallback ()
   at GLib.Signal.voidObjectCallback ()
   at Gtk.Application.gtk_main ()
   at Gtk.Application.gtk_main ()
   at Gtk.Application.Run ()
   at Sysinfo.Sysinfo..ctor ()
   at Sysinfo.Sysinfo.Main ()

Tags: screencast

Related branches

Revision history for this message
Koen (koen-beek) wrote :

This is a video recording of what happens

Revision history for this message
Koen (koen-beek) wrote :

The attachment should have had a .ogg extension but it works

Revision history for this message
Koen (koen-beek) wrote :

I have installed the source code of sysinfo and done some debugging

I used
  - sudo apt-get build-dep sysinfo
  - sudo apt-get source sysinfo
to get the sources

I then ran
  - sh ./configure
  - make

make failed and this seems to be linked to a double + on line 294 of Sysinfo/SystemInfo.cs

I removed 1 of the two pluses and then make finished OK -> is the source code in the repositories incorrect ??

Adding some debugging displays it seems the crash is caused by code in Sysinfo/NvidiaInfo.cs in function AditionaInfo()

This functions gets three information items by running nvidia-settings with different parameters and then parsing the output to extract the information.

One information that is queried is BusRate
However, nvidia-settings -q BusRate produces no output (it seems that this is not supported (anymore ?) by nvidia-settings

removing the code to get BusRate from this function makes the crash disappear and everything works OK.

    Koen

Revision history for this message
Koen (koen-beek) wrote :
Revision history for this message
Koen (koen-beek) wrote :
Revision history for this message
Koen (koen-beek) wrote :

I have attached the changed source files to make it work on my system

Changed in sysinfo:
status: New → Confirmed
Revision history for this message
Koen (koen-beek) wrote :

This is the output of the nvidia-settings :

koen@Dell_ubuntu:~/bugs/sysinfo/sysinfo-0.7/bin/Release$ nvidia-settings -q busrate

koen@Dell_ubuntu:~/bugs/sysinfo/sysinfo-0.7/bin/Release$

Revision history for this message
Koen (koen-beek) wrote :

I include a screencast of how it works after the changes.

The Busrate is normally appended after the card type, as busrate does not seem to be available the card type is simply PCI which seems OK to me.
An alternative would probably be to change the code so that it detects whether nvidia-settings produces output or not, but my C# skills are too low to attempt that myself.

   Koen

Koen (koen-beek)
Changed in restricted-manager:
status: New → Invalid
Koen (koen-beek)
Changed in sysinfo:
assignee: nobody → koen-beek
status: Confirmed → In Progress
Revision history for this message
Koen (koen-beek) wrote :

I've created a patch that corrects this issue and some others : https://bugs.launchpad.net/ubuntu/+source/sysinfo/+bug/121068/comments/4

Changed in sysinfo:
assignee: koen-beek → nobody
status: In Progress → Confirmed
Koen (koen-beek)
Changed in sysinfo:
assignee: nobody → koen-beek
status: Confirmed → In Progress
Revision history for this message
Koen (koen-beek) wrote :

debdiff included in bug 121068

Changed in sysinfo:
assignee: koen-beek → nobody
status: In Progress → Confirmed
Revision history for this message
Koen (koen-beek) wrote :

sysinfo (0.7-0ubuntu2) hardy; urgency=low

  * References to website http://sysinfo.r8.org replaced by http://sourceforge.net/projects/gsysinfo (LP: #138801)
  * About box could only be used once, secodn, etc times it just produced a small rectangle (LP: #174863)
  * Crash when clicking on Nvidia icon (LP: #159974)
  * Use of lsb-release version information (now shows ubuntu release in stead of debian release on ubuntu) (LP: #121068)
  * SystemInfo.cs contained a double + which made the build of the source package fail

 -- Koen Beek <email address hidden> Sat, 08 Dec 2007 21:13:41 +0100

Changed in sysinfo:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.