compizconfig causes python to segfault in quantal

Bug #1033669 reported by Thomi Richards
26
This bug affects 6 people
Affects Status Importance Assigned to Milestone
Compiz
Confirmed
Medium
Unassigned
compiz (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Trying to use compizconfig to set or get a compiz option in quantal causes the python interpreter to segfault. Here's a sample run using the python interactive shell:

In [1]: import compizconfig
In [2]: ctx = compizconfig.Context()
In [3]: plugin = compizconfig.Plugin(ctx, 'unityshell')
In [4]: setting = compizconfig.Setting(plugin, 'disable_show_desktop')

Segmentation fault (core dumped)

The stack trace looks like this:

#0 0x00007ffff6035018 in ?? () from /usr/lib/python2.7/dist-packages/compizconfig.so
#1 0x0000000000478cd8 in type_call.25443 ()
#2 0x0000000000493b06 in PyEval_EvalFrameEx ()
#3 0x000000000049aa68 in PyEval_EvalCodeEx ()
#4 0x000000000053ead3 in run_mod.42330 ()
#5 0x00000000004339ac in PyRun_FileExFlags ()
#6 0x000000000045ab7c in PyRun_SimpleFileExFlags ()
#7 0x000000000044dacc in Py_Main ()
#8 0x00007ffff68e676d in __libc_start_main (main=0x44db88 <main>, argc=2, ubp_av=0x7fffffffe0f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe0e8) at libc-start.c:226
#9 0x00000000004c9429 in _start ()

without debugging symbols it's pretty useless, but there's no python-compizconfig-dbg package to install them.

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: python-compizconfig 1:0.9.8+bzr3249-0ubuntu2
ProcVersionSignature: Ubuntu 3.5.0-7.7-generic 3.5.0
Uname: Linux 3.5.0-7-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.4-0ubuntu6
Architecture: amd64
Date: Tue Aug 7 09:07:30 2012
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
SourcePackage: compiz
UpgradeStatus: Upgraded to quantal on 2012-07-19 (18 days ago)

Revision history for this message
Thomi Richards (thomir-deactivatedaccount) wrote :
tags: added: compiz-0.9
affects: compiz-core → compiz
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It's crashing because the setting 'disable_show_desktop' does not exist in quantal yet (/usr/share/compiz/unityshell.xml). I can see it in the upstream code, but not yet released in quantal.

Still, crashing on an unknown setting is bad.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in compiz (Ubuntu):
status: New → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Set to Medium because regular users, even abusers of CCSM, will never see this crash.

Changed in compiz:
status: New → Confirmed
importance: Undecided → Medium
milestone: none → 0.9.8.0
Changed in compiz:
milestone: 0.9.8.0 → 0.9.8.1
Changed in compiz:
milestone: 0.9.8.2 → 0.9.8.4
Changed in compiz:
milestone: 0.9.8.4 → 0.9.9.0
Revision history for this message
fejes (anthony-fejes) wrote :

not sure that the bug I'm seeing is exactly this, but trying to launch ccsm in kubuntu 12.10 gives nothing but a segfault. (I normally use KDE with compiz as window manager, but am now unable to launch ccsm to modify the settings.)

name@macbuntu:~$ ccsm
compizconfig - Info: Backend : ini
compizconfig - Info: Integration : true
compizconfig - Info: Profile : default
Segmentation fault (core dumped)

Revision history for this message
Dirk Seidel (dseidel) wrote :

I have the same problem as fejes. When I use the python interactive shell I get:

Python 2.7.3 (default, Sep 26 2012, 21:51:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import compizconfig
>>> ctx = compizconfig.Context()
compizconfig - Info: Backend : ini
compizconfig - Info: Integration : true
compizconfig - Info: Profile : default
Speicherzugriffsfehler (Speicherabzug geschrieben)

So "disable_show_desktop" does not seem to be the problem here, at least if the setting is not activated by default ( I have deleted all compiz configuration files in my home directory).

Up to now I have no clue how to configure - and so use - compiz at all. Using KWin as a workaround is no real good option for me...

Revision history for this message
Fernando Perez (fdo.perez) wrote :

Same as dseidel here:

In [1]: import compizconfig

In [2]: ctx = compizconfig.Context()
compizconfig - Info: Backend : ini
compizconfig - Info: Integration : true
compizconfig - Info: Profile : default
Segmentation fault (core dumped)

Immediate segfault upon creating the context, before any invalid settings have been passed. This is using XFCE4 on ubuntu 12.10, freshly upgraded from 12.04.

Basically this means that now it's impossible to tweak any Compiz settings on 12.10.

Revision history for this message
Rahul (rahulsinner) wrote :
Download full text (3.4 KiB)

I am seeing the same behavior.

$ gdb python core

GNU gdb (GDB) 7.5-ubuntu
Copyright (C) 2012 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".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/python...(no debugging symbols found)...done.

warning: core file may not match specified executable file.
[New LWP 3949]
[New LWP 3951]
[New LWP 3950]

warning: Can't read pathname for load map: Input/output error.
[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/bin/python /usr/bin/ccsm'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f9fa54fc45b in ?? () from /usr/lib/compizconfig/backends/libkconfig4.
so
(gdb) thread apply all backtrace

Thread 3 (Thread 0x7f9fad6f0700 (LWP 3950)):
#0 0x00007f9fb6f6a303 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f9fb63b5d84 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f9fb63b5ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu
/libglib-2.0.so.0
#3 0x00007f9fad6f74ad in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdc
onfsettings.so
#4 0x00007f9fb63d9645 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007f9fb7b62e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.
so.0
#6 0x00007f9fb6f75cbd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#7 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f9faceef700 (LWP 3951)):
#0 0x00007f9fb6f6a303 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f9fb63b5d84 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f9fb63b61e2 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#3 0x00007f9fb44903b6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4 0x00007f9fb63d9645 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007f9fb7b62e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.
so.0
#6 0x00007f9fb6f75cbd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#7 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f9fb6c6a700 (LWP 3949)):
#0 0x00007f9fa54fc45b in ?? () from /usr/lib/compizconfig/backends/libkconfig4.
so
#1 0x00007f9fa775b448 in ccsCopyBackendInfoFromBackend () from /usr/lib/libcomp
izconfig.so.0
#2 0x00007f9fa775b632 in ?? () from /usr/lib/libcompizconfig.so.0
#3 0x00007f9fa775ec0b in ccsGetExistingBackends () from /usr/lib/libcompizconfi
g.so.0
#4 0x00007f9fa79c227c in ?? () from /usr/lib/python2.7/dist-packages/compizconf
ig.so
#5 0x000000000049629d in PyEval_CallObjectWithKeywords ()
#6 0x00007f9fa79c3611 in ?? () from /usr/lib/python2.7/dist-packages/compizconf
ig.so
#7 0x00000000004aaba8 in ?? ()
#8 0x00000000004600be in PyEval_EvalFrameEx ()
#9 0x0000000000467209 in PyEval_EvalCodeEx ()
#10 0x00000000004d0242 in PyEval_EvalCode ()
#11 0x00000000005102bb in...

Read more...

Revision history for this message
Rahul (rahulsinner) wrote :

I found the issue. It's crashing because of libkconfig(whatever that is) and I don't need it. sudo rm /usr/lib/compizconfig/backends/libkconfig4.so fixes it.

https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/1041523

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Rahul:

This bug has nothing to do with kconfig. Please comment in bug 1041523 or log a new one.

Changed in compiz:
milestone: 0.9.9.0 → 0.9.9.2
Changed in compiz:
milestone: 0.9.9.2 → 0.9.10.0
MC Return (mc-return)
Changed in compiz:
milestone: 0.9.10.0 → 0.9.11.0
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.