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

Bug#932561: cinnamon-settings-daemon: csd-backlight-helper segfaults on get and set



Control: tags -1 + upstream fixed-upstream


Dear Maintainer,
I could reproduce a crash in csd-backlight-helper too.

Had not installed a complete cinnamon desktop - just the
cinnamon-settings-daemon package, running a plasma desktop.

It looks like upstream handled the issue already in [1] [2].

Kind regards,
Bernhard


[1] https://github.com/linuxmint/cinnamon-settings-daemon/pull/255
[2] https://github.com/linuxmint/cinnamon-settings-daemon/commit/48156a7a2b1b0515fe2ef9f5d1201e158d5bd948.patch


(gdb) bt
#0  0x00005621c6970384 in csd_backlight_helper_get_best_backlight (preference_list=0x0) at csd-backlight-helper.c:69
#1  0x00005621c6970384 in main (argc=<optimized out>, argv=<optimized out>) at csd-backlight-helper.c:178

68              /* setup our gsettings interface */
69              if (preference_list[0] == NULL)
70                      g_print("%s\n%s\n",
# Buster/stable amd64 qemu VM 2019-07-21


apt update
apt dist-upgrade


apt install systemd-coredump task-cinnamon-desktop fakeroot gdb cinnamon-settings-daemon-dbgsym
apt build-dep cinnamon-settings-daemon


reboot


# login


export DISPLAY=:0
/usr/lib/x86_64-linux-gnu/cinnamon-settings-daemon/csd-backlight-helper --get-max-brightness
Could not get or set the value of the backlight: No backlight devices present




mkdir /home/benutzer/source/cinnamon-settings-daemon/orig -p
cd    /home/benutzer/source/cinnamon-settings-daemon/orig
apt source cinnamon-settings-daemon
cd


##########
##########
##########



# Buster/stable amd64 real hardware trekstor twin 10 2019-07-21, running plasma


apt update
apt dist-upgrade


apt install cinnamon-settings-daemon cinnamon-settings-daemon-dbgsym

Die folgenden NEUEN Pakete werden installiert:
  cinnamon-desktop-data cinnamon-l10n cinnamon-settings-daemon gir1.2-cvc-1.0 hwdata libcanberra-gtk3-0 libcanberra-gtk3-module libcinnamon-desktop4 libcvc0 libgnomekbd-common libgnomekbd8 libxklavier16 cinnamon-settings-daemon-dbgsym


# logged in in plasma session

export DISPLAY=:0
/usr/lib/x86_64-linux-gnu/cinnamon-settings-daemon/csd-backlight-helper --get-max-brightness



#########


benutzer@trekstor:~$ /usr/lib/x86_64-linux-gnu/cinnamon-settings-daemon/csd-backlight-helper --get-max-brightness
Speicherzugriffsfehler (Speicherabzug geschrieben)


dmesg:
[  196.280350] show_signal_msg: 7 callbacks suppressed
[  196.280355] csd-backlight-h[1538]: segfault at 0 ip 00005621c6970384 sp 00007fff5dc2fc90 error 4 in csd-backlight-helper[5621c6970000+1000]
[  196.280368] Code: d2 02 00 00 31 ff 48 8b 5c 24 38 e8 26 fd ff ff 48 8d 35 2d 0d 00 00 48 89 c7 49 89 c6 e8 54 fd ff ff 49 89 c4 48 85 c0 74 59 <4c> 8b 2b 4d 85 ed 0f 84 c4 02 00 00 48 83 c3 08 4c 8d 3d 14 0d 00


root@trekstor:~# coredumpctl list
TIME                            PID   UID   GID SIG COREFILE  EXE
Sun 2019-07-21 14:43:34 CEST   1538  1000  1000  11 present   /usr/lib/x86_64-linux-gnu/cinnamon-settings-daemon/csd-backlight-helper



root@trekstor:~# coredumpctl gdb 1538
           PID: 1538 (csd-backlight-h)
           UID: 1000 (benutzer)
           GID: 1000 (benutzer)
        Signal: 11 (SEGV)
     Timestamp: Sun 2019-07-21 14:43:31 CEST (1min 18s ago)
  Command Line: /usr/lib/x86_64-linux-gnu/cinnamon-settings-daemon/csd-backlight-helper --get-max-brightness
    Executable: /usr/lib/x86_64-linux-gnu/cinnamon-settings-daemon/csd-backlight-helper
 Control Group: /user.slice/user-1000.slice/session-4.scope
          Unit: session-4.scope
         Slice: user-1000.slice
       Session: 4
     Owner UID: 1000 (benutzer)
       Boot ID: f451c990d14044f48c70e2b2dd67d139
    Machine ID: f7ce6d39c23c4076a7a150787341adb3
      Hostname: trekstor
       Storage: /var/lib/systemd/coredump/core.csd-backlight-h.1000.f451c990d14044f48c70e2b2dd67d139.1538.1563713011000000.lz4
       Message: Process 1538 (csd-backlight-h) of user 1000 dumped core.
                
                Stack trace of thread 1538:
                #0  0x00005621c6970384 n/a (csd-backlight-helper)
                #1  0x00007f6b2372b09b __libc_start_main (libc.so.6)
                #2  0x00005621c697074a n/a (csd-backlight-helper)

GNU gdb (Debian 8.2.1-2) 8.2.1
Copyright (C) 2018 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".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/x86_64-linux-gnu/cinnamon-settings-daemon/csd-backlight-helper...(no debugging symbols found)...done.

warning: core file may not match specified executable file.
[New LWP 1538]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/lib/x86_64-linux-gnu/cinnamon-settings-daemon/csd-backlight-helper --get-m'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00005621c6970384 in ?? ()
(gdb) set width 0
(gdb) set pagination off
(gdb) bt
#0  0x00005621c6970384 in  ()
#1  0x00007f6b2372b09b in __libc_start_main (main=0x5621c69701e0, argc=2, argv=0x7fff5dc2fee8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff5dc2fed8) at ../csu/libc-start.c:308
#2  0x00005621c697074a in  ()


Core was generated by `/usr/lib/x86_64-linux-gnu/cinnamon-settings-daemon/csd-backlight-helper --get-m'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  csd_backlight_helper_get_best_backlight (preference_list=0x0) at csd-backlight-helper.c:69
69      csd-backlight-helper.c: Datei oder Verzeichnis nicht gefunden.
(gdb) set width 0
(gdb) set pagination off
(gdb) bt
#0  0x00005621c6970384 in csd_backlight_helper_get_best_backlight (preference_list=0x0) at csd-backlight-helper.c:69
#1  0x00005621c6970384 in main (argc=<optimized out>, argv=<optimized out>) at csd-backlight-helper.c:178


(gdb) list csd-backlight-helper.c:55,88
55
56      static gchar *
57      csd_backlight_helper_get_best_backlight (gchar** preference_list)
58      {
59              gchar *path = NULL;
60              GList *devices;
61              GUdevClient *client;
62
63              client = g_udev_client_new (NULL);
64              devices = g_udev_client_query_by_subsystem (client, "backlight");
65              if (devices == NULL)
66                      goto out;
67
68              /* setup our gsettings interface */
69              if (preference_list[0] == NULL)
70                      g_print("%s\n%s\n",
71                      "Warning: no backlight sources have been configured.",
72                      "Check " CSD_POWER_SETTINGS_SCHEMA " to configure some.");
73
74              int i = 0;
75              for (i=0; preference_list[i] != NULL; i++) {
76                      path = csd_backlight_helper_get_type 
77                              (devices, preference_list[i]);
78                      if (path != NULL)
79                              goto out;
80              }
81
82      out:
83              g_object_unref (client);
84              g_list_foreach (devices, (GFunc) g_object_unref, NULL);
85              g_list_free (devices);
86              return path;
87      }
88

(gdb) print preference_list
$1 = (gchar **) 0x0






set width 0
set pagination off
directory /home/benutzer/source/cinnamon-settings-daemon/orig/cinnamon-settings-daemon-3.8.4/plugins/power



########


https://github.com/linuxmint/cinnamon-settings-daemon/pull/255
https://github.com/linuxmint/cinnamon-settings-daemon/commit/48156a7a2b1b0515fe2ef9f5d1201e158d5bd948#diff-b731402d7aeb8415543f911107d7bf51
https://github.com/linuxmint/cinnamon-settings-daemon/commit/48156a7a2b1b0515fe2ef9f5d1201e158d5bd948.patch

Reply to: