Bug 500591

Summary: gnbd-debuginfo is empty
Product: Red Hat Enterprise Linux 5 Reporter: Alexander Todorov <atodorov>
Component: gnbdAssignee: Ben Marzinski <bmarzins>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: medium Docs Contact:
Priority: low    
Version: 5.4CC: cluster-maint, djansa, iannis, syeghiay
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: gnbd-1.1.7-3.el5 Doc Type: Bug Fix
Doc Text:
Cause: The gnbd makefile was stripping the binaries of their debugging symbols. Consequence: The gnbd debuginfo package was empty Fix: I removed the strip commands from the gnbd makefiles Result: The binaries were no longer stripped of their debugging information during compilation, and the debuginfo packages have all the appropriate information.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-08 07:48:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 807971    

Description Alexander Todorov 2009-05-13 11:49:47 UTC
Description of problem:
gnbd-debuginfo is empty while gnbd package contains ELF objects

Version-Release number of selected component (if applicable):
gnbd-debuginfo-1.1.7-1.el5.i386.rpm

How reproducible:
always

Steps to Reproduce:
1. rpm -qpl gnbd-debuginfo-1.1.7-1.el5.i386.rpm
2.
3.
  
Actual results:
empty package

Expected results:
Package containing debugging information

Additional info:

Comment 2 Chris Feist 2009-10-22 15:07:32 UTC
Reassigning to new gnbd package maintainer.

Comment 3 Ben Marzinski 2009-12-09 22:53:02 UTC
This is fixed.  If someone gives me the ACKs, I'll check it in.

Comment 10 RHEL Program Management 2012-04-02 14:17:19 UTC
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux release.  Product Management has
requested further review of this request by Red Hat Engineering, for
potential inclusion in a Red Hat Enterprise Linux release for currently
deployed products.  This request is not yet committed for inclusion in
a release.

Comment 14 Ben Marzinski 2012-08-14 04:37:46 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: The gnbd makefile was stripping the binaries of their debugging symbols.

Consequence: The gnbd debuginfo package was empty

Fix: I removed the strip commands from the gnbd makefiles

Result: The binaries were no longer stripped of their debugging information during compilation, and the debuginfo packages have all the appropriate information.

Comment 15 Nate Straz 2012-09-07 17:44:59 UTC
Verified package is no longer empty.

[nstraz@nsew debug]$ pwd
/mnt/redhat/rel-eng/RHEL5.9-Server-20120829.0/5/x86_64/debug
[nstraz@nsew debug]$ ls gnbd*
gnbd-debuginfo-1.1.7-2.el5.x86_64.rpm  gnbd-kmod-debuginfo-0.1.5-2.el5.x86_64.rpm
[nstraz@nsew debug]$ rpm -qlp gnbd-debuginfo-1.1.7-2.el5.x86_64.rpm
/usr/lib/debug
/usr/lib/debug/sbin
/usr/lib/debug/sbin/fence_gnbd.debug
/usr/lib/debug/sbin/gnbd_clusterd.debug
/usr/lib/debug/sbin/gnbd_export.debug
/usr/lib/debug/sbin/gnbd_import.debug
/usr/lib/debug/sbin/gnbd_monitor.debug
/usr/lib/debug/sbin/gnbd_recvd.debug
/usr/lib/debug/sbin/gnbd_serv.debug
[nstraz@nsew debug]$ rpm -qlp gnbd-kmod-debuginfo-0.1.5-2.el5.x86_64.rpm
/usr/lib/debug/lib/modules/2.6.18-98.el5/extra/gnbd/gnbd.ko.debug
/usr/lib/debug/lib/modules/2.6.18-98.el5xen/extra/gnbd/gnbd.ko.debug
/usr/src/debug/gnbd-kmod-0.1.5
/usr/src/debug/gnbd-kmod-0.1.5/_kmod_build_
/usr/src/debug/gnbd-kmod-0.1.5/_kmod_build_/src
/usr/src/debug/gnbd-kmod-0.1.5/_kmod_build_/src/gnbd.c
/usr/src/debug/gnbd-kmod-0.1.5/_kmod_build_/src/gnbd.h
/usr/src/debug/gnbd-kmod-0.1.5/_kmod_build_/src/gnbd.mod.c
/usr/src/debug/gnbd-kmod-0.1.5/_kmod_build_xen
/usr/src/debug/gnbd-kmod-0.1.5/_kmod_build_xen/src
/usr/src/debug/gnbd-kmod-0.1.5/_kmod_build_xen/src/gnbd.c
/usr/src/debug/gnbd-kmod-0.1.5/_kmod_build_xen/src/gnbd.h
/usr/src/debug/gnbd-kmod-0.1.5/_kmod_build_xen/src/gnbd.mod.c


Still need to verify that package contents work.

Comment 16 Nate Straz 2012-09-07 17:57:16 UTC
Still no usable debugging symbols in the gnbd-debuginfo package.  Also, most other debuginfo packages include source code.

# for i in `rpm -ql gnbd | grep sbin`; do gdb -q $i < /dev/null; done
Reading symbols from /sbin/fence_gnbd...Reading symbols from /usr/lib/debug/sbin/fence_gnbd.debug...(no debugging symbols found)...done.
(no debugging symbols found)...done.
(gdb) quit
Reading symbols from /sbin/gnbd_clusterd...Reading symbols from /usr/lib/debug/sbin/gnbd_clusterd.debug...(no debugging symbols found)...done.
(no debugging symbols found)...done.
(gdb) quit
Reading symbols from /sbin/gnbd_export...Reading symbols from /usr/lib/debug/sbin/gnbd_export.debug...(no debugging symbols found)...done.
(no debugging symbols found)...done.
(gdb) quit
"/sbin/gnbd_get_uid": not in executable format: File format not recognized
(gdb) quit
Reading symbols from /sbin/gnbd_import...Reading symbols from /usr/lib/debug/sbin/gnbd_import.debug...(no debugging symbols found)...done.
(no debugging symbols found)...done.
(gdb) quit
Reading symbols from /sbin/gnbd_monitor...Reading symbols from /usr/lib/debug/sbin/gnbd_monitor.debug...(no debugging symbols found)...done.
(no debugging symbols found)...done.
(gdb) quit
Reading symbols from /sbin/gnbd_recvd...Reading symbols from /usr/lib/debug/sbin/gnbd_recvd.debug...(no debugging symbols found)...done.
(no debugging symbols found)...done.
(gdb) quit
Reading symbols from /sbin/gnbd_serv...Reading symbols from /usr/lib/debug/sbin/gnbd_serv.debug...(no debugging symbols found)...done.
(no debugging symbols found)...done.
(gdb) quit

Comment 17 Ben Marzinski 2012-09-12 14:03:31 UTC
O.k. I fixed this so that the debugging symbols and source code are actually present.

Comment 18 Nate Straz 2012-09-13 15:58:30 UTC
Looks much better.  Marking VERIFIED.

[root@west-01 tmp]# rpm -q gnbd-debuginfo
gnbd-debuginfo-1.1.7-3.el5

[root@west-01 ~]# for i in `rpm -ql gnbd | grep sbin`; do echo "== $i =="; gdb -q $i -ex "list main" -ex quit; done
== /sbin/fence_gnbd ==
Reading symbols from /sbin/fence_gnbd...Reading symbols from /usr/lib/debug/sbin/fence_gnbd.debug...done.
done.
308       }
309     }
310
311
312     int main(int argc, char **argv)
313     {
314       serv_list_t *tmp;
315       if (atexit(clear_serv) != 0)
316         fail("can't register exit function\n");
317
== /sbin/gnbd_clusterd ==
Reading symbols from /sbin/gnbd_clusterd...Reading symbols from /usr/lib/debug/sbin/gnbd_clusterd.debug...done.
done.
75
76        if (polls[CMAN].revents & POLLIN)
77          default_process_member();
78      }
79
80      int main(int argc, char **argv){
81        struct sigaction act;
82
83        program_name = "gnbd_clusterd";
84
== /sbin/gnbd_export ==
Reading symbols from /sbin/gnbd_export...Reading symbols from /usr/lib/debug/sbin/gnbd_export.debug...done.
done.
718         return 1; \
719       } \
720       action = (x); \
721     } while(0)
722
723     int main(int argc, char **argv){
724       int c, i;
725       int action = 0;
726       int cached = 0;
727       unsigned int timeout = 0;
== /sbin/gnbd_get_uid ==
"/sbin/gnbd_get_uid": not in executable format: File format not recognized
No symbol table is loaded.  Use the "file" command.
== /sbin/gnbd_import ==
Reading symbols from /sbin/gnbd_import...Reading symbols from /usr/lib/debug/sbin/gnbd_import.debug...done.
done.
1158        }
1159      }
1160    }
1161
1162    int main(int argc, char **argv)
1163    {
1164      int action = 0;
1165      char *host = NULL;
1166      char *fence_server = NULL;
1167      char *dev = NULL;
== /sbin/gnbd_monitor ==
Reading symbols from /sbin/gnbd_monitor...Reading symbols from /usr/lib/debug/sbin/gnbd_monitor.debug...done.
done.
850       if( sigaction(SIGCHLD, &act, NULL) <0)
851         fail_startup("cannot setup SIGCHLD handler : %s\n", strerror(errno));
852     }
853
854     int main(int argc, char *argv[])
855     {
856       int minor_nr;
857       int timeout;
858       int err;
859
== /sbin/gnbd_recvd ==
Reading symbols from /sbin/gnbd_recvd...Reading symbols from /usr/lib/debug/sbin/gnbd_recvd.debug...done.
done.
345       close(sock);
346       return;
347     }
348
349     int main(int argc, char **argv)
350     {
351       parse_cmdline(argc, argv);
352       char minor_str[20];
353       struct sigaction act;
354
== /sbin/gnbd_serv ==
Reading symbols from /sbin/gnbd_serv...Reading symbols from /usr/lib/debug/sbin/gnbd_serv.debug...done.
done.
341                           the main process should kill the gservs */
342             kill_all_gserv();
343     }
344
345     int main(int argc, char **argv)
346     {
347       parse_cmdline(argc, argv);
348
349       if (killing_gnbd_serv){
350         int pid;

Comment 20 errata-xmlrpc 2013-01-08 07:48:59 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-0110.html