Bug#274333: libgnomeprint 2.8.0 breaks gpdf

Loïc Minier Loïc Minier , 274333-quiet@bugs.debian.org
Thu, 7 Oct 2004 14:05:01 +0200


Filip Van Raemdonck <mechanix@debian.org> - Thu, Oct 07, 2004:

> Stopping cupsd did not change gpdf breakage.

 Ah, that's really a pity, it means you've got a completely different
 problem.  If nothing listens on port 631, I don't get the problem.

 I don't have your problem, so I can't debug it, the only way I see to
 make progress is to give you instruction on how to get a backtrace as I
 did, assuming the problem is in libgnomeprint:
 - rebuild with debugging symbols:
   * mkdir -p tmp/libgnomeprint
   * cd tmp/libgnomeprint
   * apt-get source libgnomeprint
   * cd libgnomeprint-2.8.0.1
   * if you have debuild setup, run debuild, else run dpkg-buildpackage,
     else run debian/rules binary
 - find the dynamically loaded libraries used by the bonobo helper:
   * ldd /usr/lib/gpdf/gnome-pdf-viewer | grep libgnomeprint
   * you should see /usr/lib/libgnomeprint-2-2.so.0
   * file /usr/lib/libgnomeprint-2-2.so.0 should tell you it is stripped
 - find the same .so where you've built libgnomeprint
   * find . -name 'libgnomeprint-2-2.so.0'
   * you should see ./libgnomeprint/.libs/libgnomeprint-2-2.so.0
   * file ./libgnomeprint/.libs/libgnomeprint-2-2.so.0 should tell you
     it isn't stripped
 - backup /usr/lib/libgnomeprint-2-2.so.0 as root
   * mv /usr/lib/libgnomeprint-2-2.so.0 \
        /usr/lib/libgnomeprint-2-2.so.0.bak
 - symlink to the non-stripped version as root
   * cd /usr/lib
   * ln -s \
         /home/$YOURNICK/tmp/libgnomeprint/libgnomeprint-2.8.0.1/libgnomeprint/.libs/libgnomeprint-2-2.so.0
 - search for running instances of the gpdf bonobo helper
   * ps fauxw | grep gnome-pdf-viewer
   * you should see none
 - launch gpdf until it freezes
 - search for running instances of the gpdf bonobo helper
   * ps fauxw | grep gnome-pdf-viewer
   * note the PID of the process (referred to as $PID)
 - cd to the place where you've built libgnomeprint and run gdb to that
   PID
   * cd /home/$YOURNICK/tmp/libgnomeprint/libgnomeprint-2.8.0.1
   * gdb
   * within gdb, type:
     . directory libgnomeprint
     . attach $PID
     . (you should see lots of debugging)
     . bt

 Please copy paste the output of this last gdb command, "bt".

   HTH,

PS: this is really an insecure setup, put the backup in place once
    you're done.  there are nicer way do to such things, but I'm lazy
-- 
Loïc Minier <lool@dooz.org>