Bug 22314

Summary: tcpdump causes unaligned accesses
Product: Base System Reporter: wilko <wilko>
Component: alphaAssignee: freebsd-alpha (Nobody) <alpha>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description wilko freebsd_committer freebsd_triage 2000-10-26 19:20:01 UTC
	The tcpdump utility causes reports of unaligned accesses when
	run on alpha.

Fix: 

Ignore the warnings as a workaround.
How-To-Repeat: 
	Run tcpdump
Comment 1 Wilko.Bulte 2000-10-27 10:37:51 UTC
As requested more info. Note that it was 4.1R, not 4-stable as I noted =
in
the
initial PR
	Wilko
----------------

Script started on Fri Oct 27 12:10:07 2000

FreeBSD chuck.storage-lab 4.1-RELEASE FreeBSD 4.1-RELEASE #0: Thu Jul =
27
09:39:1
2 GMT 2000     root@beta.osd.bsdi.com:/usr/src/sys/compile/GENERIC  =
alpha

bash-2.04# gdb /usr/sbin/tcpdump tcpdump.core
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and =
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for =
details.
This GDB was configured as "alpha-unknown-freebsd"...
Core was generated by `tcpdump'.
Program terminated with signal 10, Bus error.
Reading symbols from /usr/lib/libpcap.so.2...done.
Reading symbols from /usr/lib/libcrypto.so.1...done.
Reading symbols from /usr/lib/libc.so.4...done.
Reading symbols from /usr/libexec/ld-elf.so.1...done.
#0  0x120003fa8 in getname (ap=3D0x120016774 "\a")
    at
/usr/src/usr.sbin/tcpdump/tcpdump/../../../contrib/tcpdump/addrtoname.c:=
1
92
192             addr =3D *(const u_int32_t *)ap;
(gdb) bt
#0  0x120003fa8 in getname (ap=3D0x120016774 "\a")
    at
/usr/src/usr.sbin/tcpdump/tcpdump/../../../contrib/tcpdump/addrtoname.c:=
1
92
#1  0x120007fa8 in arp_print (bp=3D0x1201ba290 "", length=3D60, =
caplen=3D0)
    at
/usr/src/usr.sbin/tcpdump/tcpdump/../../../contrib/tcpdump/print-arp.c:1=
0
7
#2  0x120016774 in ether_encap_print (ethertype=3D2054, p=3D0x1201ba290 =
"",
length=3D4
6,
    caplen=3D46)
    at
/usr/src/usr.sbin/tcpdump/tcpdump/../../../contrib/tcpdump/print-ether.c=
:
186
#3  0x120016488 in ether_if_print (user=3D0x1201ba290 "", =
h=3D0x2e0000002e,
    p=3D0x1201ba282 "=FF=FF=FF=FF=FF=FF")
    at
/usr/src/usr.sbin/tcpdump/tcpdump/../../../contrib/tcpdump/print-ether.c=
:
142
#4  0x1600bc884 in pcap_read () from /usr/lib/libpcap.so.2
#5  0x1600bc358 in pcap_loop () from /usr/lib/libpcap.so.2
#6  0x120003034 in main (argc=3D301972785, argv=3D0x11ffbd3c)
    at
/usr/src/usr.sbin/tcpdump/tcpdump/../../../contrib/tcpdump/tcpdump.c:421=

(gdb)
#0  0x120003fa8 in getname (ap=3D0x120016774 "\a")
    at
/usr/src/usr.sbin/tcpdump/tcpdump/../../../contrib/tcpdump/addrtoname.c:=
1
92
#1  0x120007fa8 in arp_print (bp=3D0x1201ba290 "", length=3D60, =
caplen=3D0)
    at
/usr/src/usr.sbin/tcpdump/tcpdump/../../../contrib/tcpdump/print-arp.c:1=
0
7
#2  0x120016774 in ether_encap_print (ethertype=3D2054, p=3D0x1201ba290 =
"",
length=3D4
6,
    caplen=3D46)
    at
/usr/src/usr.sbin/tcpdump/tcpdump/../../../contrib/tcpdump/print-ether.c=
:
186
#3  0x120016488 in ether_if_print (user=3D0x1201ba290 "", =
h=3D0x2e0000002e,
    p=3D0x1201ba282 "=FF=FF=FF=FF=FF=FF")
    at
/usr/src/usr.sbin/tcpdump/tcpdump/../../../contrib/tcpdump/print-ether.c=
:
142
#4  0x1600bc884 in pcap_read () from /usr/lib/libpcap.so.2
#5  0x1600bc358 in pcap_loop () from /usr/lib/libpcap.so.2
#6  0x120003034 in main (argc=3D301972785, argv=3D0x11ffbd3c)
    at
/usr/src/usr.sbin/tcpdump/tcpdump/../../../contrib/tcpdump/tcpdump.c:421=

(gdb) bash-2.04# exit

Script done on Fri Oct 27 12:10:32 2000
Comment 2 wilko freebsd_committer freebsd_triage 2000-11-05 16:37:59 UTC
State Changed
From-To: open->closed

Closing PR per the following commit: 

fenner      2000/11/04 16:23:11 PST 

Modified files:        (Branch: RELENG_4) 
usr.sbin/tcpdump/tcpdump config.h 
Log: 
Nasty hack to handle tcpdump alignment issues on Alpha. 
This is being committed directly to RELENG_4 as a bandaid 
for 4.2 and a better solution will be created soon. 

PR:           alpha/22314 
Submitted by: gallatin 
Approved by:  jkh 

Revision  Changes    Path 
1.1.2.1   +7 -1      src/usr.sbin/tcpdump/tcpdump/config.h