Bug 500591
Summary: | gnbd-debuginfo is empty | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Alexander Todorov <atodorov> |
Component: | gnbd | Assignee: | Ben Marzinski <bmarzins> |
Status: | CLOSED ERRATA | QA Contact: | Cluster QE <mspqa-list> |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | 5.4 | CC: | 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
Reassigning to new gnbd package maintainer. This is fixed. If someone gives me the ACKs, I'll check it in. 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. 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. 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. 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 O.k. I fixed this so that the debugging symbols and source code are actually present. 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; 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 |