[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Pkg-xfce-devel] Bug#519181: Bug#519181: xfce4-sensors-plugin: Latest version crashes with backtrace



   First, sorry for the delay.  I tried to take care of this right away, 
but every time I went to work on it, something interrupted me.

   Second, I replied in private to the previous message in this thread 
but meant to make it public.  So here is a public version of that response:


     Yves-Alexis Perez wrote:
     > But one question, is hddtemp installed, and is it configured a
     > setuid?

     # apt-cache policy hddtemp
     hddtemp:
       Installed: 0.3-beta15-45
       Candidate: 0.3-beta15-45
       Version table:
      *** 0.3-beta15-45 0
             990 ftp://ftp.uwsg.indiana.edu unstable/main Packages
             100 /var/lib/dpkg/status

     # ls -l /usr/sbin/hddtemp
     -rwsr-xr-x 1 root root 28856 2008-07-27 03:53 /usr/sbin/hddtemp


     > Is the sensors plugin warning you about hddtemp not available?

       It always does so whenever I install on a new system, until I have
     a chance to go modify the permissions on 'hddtemp'.  These warnings
     do not involve crashes that prevent the plugin from running, though.
     Indeed, the warning itself means the program is running correctly.
     I can't even get the new version to run without dying....

       Will get to the 'gdb' work soon.

"Soon" turned out to be right now... 3 days later.  :(


   Third, find attached a session (recorded with Emacs) of how I built, 
installed, and tested the xfce4-sensors-plugin.

   The website to which I was directed,

     http://wiki.xfce.org/howto/panel_plugin_debug

suggested making a copy of the *.desktop entry in

     /usr/local/share/xfce4/panel-plugins

and setting the "Exec" line to a custom script which runs the plugin 
inside of 'gdb'.  The contents of the new *.desktop file I created are 
the first listing in the attachment.

   The script I created was placed in

     /home/dawitbro/bin/xfce-sensors-plugin-gdb.sh

and its contents are the second listing in the attachment.  I wrote the 
script modeling it after the example given on the wiki.xfce.org website,
and I had it write the 'gdb' output to a file on my desktop.

   The listings immediately following this in the attachment display the 
steps I used to carry out the process of building, installing, and 
testing the script which ran the plugin inside 'gdb' and redirected its 
output to my desktop.
   It can be seen that I applied the DEB_BUILD_OPTIONS requested by 
Yves-Alexis, though the following output appears during the build process:

     ===============================================================
     Build Configuration
     ===============================================================

     The following sensor interfaces will be built into the plugin:
     *  hddtemp: /usr/sbin/hddtemp (Make sure it is user-executable with
                 UID bit set and user member of the respective group)
     *  libsensors
     *  /proc/acpi
        /sys/class/power_supply

     Full debug is disabled

     ===============================================================

I don't know whether or not the message "Full debug is disabled" means 
that the plugin was built without debugging symbols.  Please let me know 
how I should modify my steps if I have not correctly built the plugin 
with the debugging information embedded!

   The package proceeded to build correctly, and the only problems I saw 
during the build were some (ignored) errors when running 'debian/rules 
clean', some compilation warnings on some unused variables in the source 
file 'hddtemp.c', and some warnings about missing symbols during the run 
of 'dh_shlibdeps'.  Of these issues, the latter look the most 
significant... though I don't pretend to understand what they are about.

   The last listings in the attachment show me installing the resulting 
DEB file and displaying the output from the script which runs the plugin 
in 'gdb'.  That output was disappointingly short:

     GNU gdb 6.8-debian
     Copyright (C) 2008 Free Software Foundation, Inc.
     License GPLv3+: GNU GPL version 3 or later
     <http://gnu.org/licenses/gpl.html>
     This is free software: you are free to change and redistribute it.
     There is NO WARRANTY, to the extent permitted by law.  Type "show
     copying" and "show warranty" for details.
     This GDB was configured as "x86_64-linux-gnu"...
     Starting program: /usr/lib/xfce4-sensors-plugin/xfce4/panel-plugins/
     xfce4-sensors-plugin socket_id=0 name=xfce4-sensors-plugin-gdb
     id=12371563081 display_name=Sensor plugin \(gdb\) size=32
     screen_position=11
     [Thread debugging using libthread_db enabled]
     [New Thread 0x7f8318e2f7d0 (LWP 10399)]

     Program exited with code 01.
     No stack.
     The program is not being run.

I think these are not the results we were looking for.  Please let me 
know what to do differently so I can provide more helpful information.

   Please note that trying to add the plugin to the panel, without using 
the new *.desktop file I created, produces a very similar backtrace 
output in ~/.xsession-errors to what I presented in my first post in 
this thread:

*** glibc detected *** 
/usr/lib/xfce4-sensors-plugin/xfce4/panel-plugins/xfce4-sensors-plugin: 
double free or corruption (out): 0x000000000225dd30 ***
======= Backtrace: =========
/lib/libc.so.6[0x7f63a7c011b8]
/lib/libc.so.6(cfree+0x76)[0x7f63a7c02cf6]
/usr/lib/xfce4/modules/libxfce4sensors.so.1(get_hddtemp_value+0x282)[0x7f63a7ee9e6c]
/usr/lib/xfce4/modules/libxfce4sensors.so.1(remove_unmonitored_drives+0x4c)[0x7f63a7ee9821]
/usr/lib/xfce4/modules/libxfce4sensors.so.1(initialize_hddtemp+0x1a1)[0x7f63a7ee9bae]
/usr/lib/xfce4/modules/libxfce4sensors.so.1(initialize_all+0x45)[0x7f63a7ee63e9]
/usr/lib/xfce4/modules/libxfce4sensors.so.1(sensors_new+0x5f)[0x7f63a7ee76ab]
/usr/lib/xfce4-sensors-plugin/xfce4/panel-plugins/xfce4-sensors-plugin[0x4073a2]
/usr/lib/xfce4-sensors-plugin/xfce4/panel-plugins/xfce4-sensors-plugin[0x407445]
/usr/lib/libxfce4panel.so.1[0x7f63a7985df9]
/usr/lib/libgtk-x11-2.0.so.0[0x7f63a726d8a8]
/usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x16d)[0x7f63a658611d]
/usr/lib/libgobject-2.0.so.0[0x7f63a6599bc8]
/usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x66d)[0x7f63a659aebd]
/usr/lib/libgobject-2.0.so.0(g_signal_emit+0x83)[0x7f63a659b503]
/usr/lib/libgtk-x11-2.0.so.0[0x7f63a737062e]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main_do_event+0x341)[0x7f63a7267391]
/usr/lib/libgdk-x11-2.0.so.0[0x7f63a6cdbffc]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x24a)[0x7f63a62eee4a]
/usr/lib/libglib-2.0.so.0[0x7f63a62f2510]
/usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1cd)[0x7f63a62f29dd]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xa7)[0x7f63a7267747]
/usr/lib/xfce4-sensors-plugin/xfce4/panel-plugins/xfce4-sensors-plugin[0x407689]
/lib/libc.so.6(__libc_start_main+0xe6)[0x7f63a7bad5a6]
/usr/lib/xfce4-sensors-plugin/xfce4/panel-plugins/xfce4-sensors-plugin[0x4036e9]
======= Memory map: ========

[...]

** Message: Sensor plugin: screen changed: 0

** Message: No valid plug window.

(xfce4-panel:1151): Gtk-CRITICAL **: gtk_socket_get_id: assertion 
`GTK_WIDGET_ANCHORED (socket)' failed

** (xfce4-panel:1151): CRITICAL **: An item was unexpectedly removed: 
"Sensor plugin".


   OK, what next?

Dave W.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: build-and-test-session-02.txt
Url: http://lists.alioth.debian.org/pipermail/pkg-xfce-devel/attachments/20090315/32ff3cf3/attachment-0001.txt 



Reply to: