Wireshark-bugs: [Wireshark-bugs] [Bug 9615] New: Executables in OS X app bundles don't have debu
Date: Sun, 05 Jan 2014 22:22:11 +0000
Bug ID 9615
Summary Executables in OS X app bundles don't have debug symbols
Classification Unclassified
Product Wireshark
Version 1.10.6
Hardware All
OS Mac OS X 10.8
Status UNCONFIRMED
Severity Normal
Priority Low
Component Wireshark
Assignee bugzilla-admin@wireshark.org
Reporter guy@alum.mit.edu

Build Information:
Version 1.10.5 (SVN Rev 54262 from /trunk-1.10)

Copyright 1998-2013 Gerald Combs <gerald@wireshark.org> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with GTK+ 2.24.17, with Cairo 1.10.2, with Pango 1.30.1, with
GLib 2.36.0, with libpcap, with libz 1.2.3, without POSIX capabilities, without
libnl, with SMI 0.4.8, without c-ares, without ADNS, with Lua 5.1, without
Python, with GnuTLS 2.12.19, with Gcrypt 1.5.0, with MIT Kerberos, with GeoIP,
with PortAudio V19-devel (built Jul 16 2013 19:05:52), with AirPcap.

Running on Mac OS X 10.8.5, build 12F45 (Darwin 12.5.0), with locale .UTF-8,
with libpcap version 1.1.1, with libz 1.2.5, GnuTLS 2.12.19, Gcrypt 1.5.0,
without AirPcap.
      Intel(R) Core(TM) i7-3820QM CPU @ 2.70GHz

Built using llvm-gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build
2336.9.00).

--
The binaries in the install dmgs for Wireshark don't have debugging symbols, so
if, for example, you kill wireshark-bin with SIGABRT, you get

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib            0x00007fff8d8b0322 __select + 10
1   libglib-2.0.0.dylib               0x00000001057a9558 g_poll + 1112
2   libglib-2.0.0.dylib               0x000000010579394b g_main_context_poll +
107
3   libglib-2.0.0.dylib               0x00000001057930c3 g_main_context_iterate
+ 531
4   libglib-2.0.0.dylib               0x0000000105793688 g_main_loop_run + 568
5   libgtk-x11-2.0.0.dylib            0x0000000104bb0c3f gtk_main + 255
6   wireshark-bin                     0x000000010006c498 main + 5656
7   wireshark-bin                     0x0000000100001f34 start + 52

as opposed to

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib            0x00007fff8d8b0322 __select + 10
1   libglib-2.0.0.dylib               0x0000000114ab8558 g_poll + 1112
2   libglib-2.0.0.dylib               0x0000000114aa294b g_main_context_poll +
107
3   libglib-2.0.0.dylib               0x0000000114aa20c3 g_main_context_iterate
+ 531
4   libglib-2.0.0.dylib               0x0000000114aa2688 g_main_loop_run + 568
5   libgtk-x11-2.0.0.dylib            0x0000000113e8785f gtk_main + 255
6   wireshark                         0x000000010f37a4e8 main + 5656
(main.c:3197)
7   libdyld.dylib                     0x00007fff8592a7e1 start + 1

(note the source file and line number in stack frame item 6) which I got from
killing Wireshark run from the command line in a build tree.

This makes it harder to debug problems such as the one in bug 9582; the stack
trace in

   
http://ask.wireshark.org/questions/28244/mac-os-109-mavericks-wireshark-always-crash-right-after-i-started-the-capture

doesn't indicate where in dissect_ieee80211_common() the crash occurred.

If we run symbols on the binary from the installed app bundle we get

$ symbols /Applications/Wireshark.app/Contents/Resources/bin/wireshark-bin |
head
/Applications/Wireshark.app/Contents/Resources/bin/wireshark-bin [x86_64,
0.000338 seconds]:
    25DD6004-1675-3E22-970B-63D75FD7F9EC
/Applications/Wireshark.app/Contents/Resources/bin/wireshark-bin [AOUT,
FaultedFromDisk, MMap64]  
        0x0000000100000000 (  0x1f00) MACH_HEADER
        0x0000000100001f00 (0x1174e1) __TEXT __text
            0x0000000100001f00 (    0x40) start [FUNC, EXT, NameNList,
MangledNameNList, Merged, NList, FunctionStarts] 
            0x0000000100001f40 (    0x10) get_interface_list [FUNC, PEXT,
NameNList, MangledNameNList, Merged, NList, FunctionStarts] 
            0x0000000100001f50 (    0x40) get_runtime_pcap_version [FUNC, PEXT,
NameNList, MangledNameNList, Merged, NList, FunctionStarts] 
            0x0000000100001f90 (    0x20) get_compiled_pcap_version [FUNC,
PEXT, NameNList, MangledNameNList, Merged, NList, FunctionStarts] 
            0x0000000100001fb0 (    0x20) cant_get_if_list_error_message [FUNC,
PEXT, NameNList, MangledNameNList, Merged, NList, FunctionStarts] 
            0x0000000100001fd0 (   0x270) if_info_new [FUNC, PEXT, NameNList,
MangledNameNList, Merged, NList, FunctionStarts] 

with no line-number symbols, but if we run it on the binary from the build tree
we get

$ symbols .libs/wireshark | head
.libs/wireshark [x86_64, 0.000274 seconds]:
    1898BFCB-D434-3E50-A6A2-9F00DBF8A520 .libs/wireshark [AOUT, PIE,
FaultedFromDisk, MMap64]  
        0x0000000100000000 (  0x1f70) MACH_HEADER
        0x0000000100001f70 (0x117471) __TEXT __text
            0x0000000100001f70 (    0x40) start [FUNC, EXT, NameNList,
MangledNameNList, Merged, NList, FunctionStarts] 
            0x0000000100001fb0 (     0xa) get_interface_list [FUNC, PEXT,
LENGTH, NameNList, MangledNameNList, Merged, NList, DebugMap, FunctionStarts] 
                0x0000000100001fb0 (     0x4) capture-pcap-util-unix.c:106
                0x0000000100001fb4 (     0x6) capture-pcap-util-unix.c:105
            0x0000000100001fc0 (    0x33) get_runtime_pcap_version [FUNC, PEXT,
LENGTH, NameNList, MangledNameNList, Merged, NList, DebugMap, FunctionStarts] 
                0x0000000100001fc0 (     0xc) capture-pcap-util-unix.c:362

with line-number symbols.

If I build a dmg from the build tree, and install from it, the debug symbols
are present in
/Applications/Wireshark.app/Contents/Resources/bin/wireshark-bin, so I'm not
sure where they're getting removed.


You are receiving this mail because:
  • You are watching all bug changes.