Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock Wiki ddd
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Information : The version displayed on this page is not the latest available.
History View code

Glx-Dock / Cairo-Dock

Home

History

Language

fr Français

en English

Support Us

Flattr this

Cairo-Dockon

ddd

If you want to help developers fixing bugs that crash the dock, the best is to compile the latest revision of the dock from the source in BZR and then produce a backtrace.

Installing debug symbols
  • For Ubuntu users, you just need to add our Weekly ppa (or our ppa for stable versions but it's maybe better for us to install the version from the "weekly" ppa), and install this packages : cairo-dock-core-dbg libgldi3-dbg cairo-dock-plug-ins-dbg cairo-dock-plug-ins-integration-dbg. You can also use directly this command in a terminal :
    sudo apt-get install cairo-dock-core-dbg libgldi3-dbg cairo-dock-plug-ins-dbg cairo-dock-plug-ins-integration-dbg
    (Note: for Debian users, you can also add our repository for stable versions and install the same packages)
  • For Debian users and Ubuntu users if you want to compile the dock or in case we ask you, the compilation is made very easy thanks to this script.
  • For Fedora users, you just need to install the 2 debuginfo packages provided on our repository.
  • For other distributions that can take more time, but all the commands and explanations are give on the same page => From BZR. Don't forget to add the debug symbols with this command CMake :
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug
  • For ArchLinux users, edit the PKGBUILD (core and plug-ins) for the option to CMake is not enough. Momentarily, you need to remove the option "strip" in /etc/makepkg.conf (OPTIONS=(strip (...))

Backtrace
Graphic Method
Bare in mind that it's more interesting for us to work with a full backtrace. So, if your are able to use commands in a terminal, you can directly jump to the part about GDB.
  • Install the light software ddd (which should be in your repository or other overlays, etc.)
  • Then, run Cairo-Dock using this command (in a terminal or with a shortcut like Alt+F2):
    ddd cairo-dock
  • In DDD, Click on the button 'Run' (or Program / Run or the shortcut 'F2')
  • Reproduce the crash.
  • Finally, create a screenshot of ddd Status/Backtrace Windows (enlarged if needed) and give us a link toward this image on the forum.
http://uppix.net/3/e/9/47e42c4a0400cd58edb366c974e22.png

  • For upload, there are servers like uppix.net, imageshark.us, etc. or you simply use our DND2Share applet.

Terminal Method
GDB: It can be interesting to have a full backtrace but you have to use a terminal and a few commands. If you're able to do that, don't hesitate to add these informations to the bug report!
So... first install gdb package (which should be in your repository or other overlays, etc.)
Then, simply launch these commands and post the content of the gdb.txt file located in your home directory
cd
gdb cairo-dock
#> now you're in the gdb prompt
run
#> if you want to launch the dock with arguments, you can add them after 'run', e.g: to launch the dock without OpenGL backend: 'run -c'
#> simply reproduce the crash
set logging on
l
bt full
#> then press Enter until the end of the backtrace
info frame
info registers
x/16i $pc
thread apply all bt full
#> then press Enter until the end of the backtrace
quit
This file has been created in your home directory: gdb.txt
To read:
cat ~/gdb.txt


What you should do after ?
  • When the bug is fixed :
    • If you had installed Debug packages (Ubuntu), you can remove these, which are now no longer needed :
      sudo apt-get purge cairo-dock-core-dbg libgldi3-dbg cairo-dock-plug-ins-dbg cairo-dock-plug-ins-integration-dbg
    • You can return to the previous version too, but the bug will be not fixed... . However, if a stable version is coming, it is better to use packages of your distribution, in order to be always up to date with stable versions.
      • If the Weekly PPA was added, you can de-activate it and eventually return to previous versions thanks to the synaptic software.
      • If the dock was compiled with the script, you can remove it with this command:
        cd /opt/cairo-dock_bzr
        ./cairo-dock_bzr.sh
        (use option 3 for removing - don't forget to reinstall the dock with our PPA).
      • Or, for other distributions, use this command (running in compilation's directory)
        # make uninstall
        Then, use a previous version (reinstall with our PPA or other).
    • Or continue to use Weekly PPA or a compiled dock (up to date with the script or a bzr command)

Backtrace example with ddd :
http://uppix.net/8/9/0/81641f4d4072f2ac7681612af0820.png


A crash only at startup?
You will have to launch gdb at startup and give to it commands in a file that it will have to use:
  • Create a text file and fill it with gdb instructions to launch the application and give to you a backtrace if there is a crash.
  • Or, simply launch this command
    echo "r
    set logging on
    l
    bt full
    info frame
    info registers
    x/16i $pc
    thread apply all bt full
    quit
    y" > ~/gdb_commands.txt
  • Now you can temporally remove the launch of Cairo-Dock at startup (by using a tool of your desktop environment in order to manage apps launched at startup) and add a new entry with this command in order to launch it at startup:
    gdb -x ~/gdb_commands.txt cairo-dock
  • If you've a crash (or no dock at startup), this file should be available on your home directory: gdb.txt. Thanks to send the content to us ;)


Glx-Dock / Cairo-Dock Wiki ddd Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.