Here is a backtrace of the armhf SIGBUS. Note that not all ARM implementations return SIGBUS which is probably why this was not reproducible on the porter machine.
# gdb --args pktanon -c /usr/share/doc/pktanon/examples/profiles/profile.xml
./profiles/sample.pcap ./out.pcap
[...]
Reading symbols from pktanon...
Reading symbols from
/usr/lib/debug/.build-id/af/1ac53f46ae133c8898358966960cba95ac7a70.debug...
(gdb) run
Starting program: /usr/bin/pktanon -c
/usr/share/doc/pktanon/examples/profiles/profile.xml ./profiles/sample.pcap
./out.pcap
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
-----------------------------------------------
pktanon --- profile-based traffic anonymization
-----------------------------------------------
initializing PktAnon, configuration =
/usr/share/doc/pktanon/examples/profiles/profile.xml
unknown element: pktanon-config: 37
unknown element: anonymizations: 102
istream: opened file ./profiles/sample.pcap
ostream: opened output file ./out.pcap
initialized
Program received signal SIGBUS, Bus error.
pktanon::TcpPacketTransformation::transform (this=<optimized out>,
source_buffer=<optimized out>, destination_buffer=0xfffef35a
"\212y\262X\335\300l\221", max_packet_length=40) at
transformations/TcpPacketTransformation.cpp:88
88 hton32 (output_header->ack_num);
(gdb) bt
#0 pktanon::TcpPacketTransformation::transform (this=<optimized out>,
source_buffer=<optimized out>,
destination_buffer=0xfffef35a "\212y\262X\335\300l\221",
max_packet_length=40) at transformations/TcpPacketTransformation.cpp:88
#1 0x0040b77c in pktanon::IPv4PacketTransformation::transform (this=0x4b4eb0,
source_buffer=<optimized out>, destination_buffer=0xfffef346 "E",
max_packet_length=<optimized out>)
at transformations/IPv4PacketTransformation.cpp:153
#2 0x0040af64 in pktanon::EthernetPacketTransformation::transform (
this=0x4ad780, source_buffer=<optimized out>,
destination_buffer=0xfffef338 "\376\212\a\213\001\254\303\341\372DI\355\b",
max_packet_length=74) at transformations/EthernetPacketTransformation.cpp:53
#3 0x00416862 in pktanon::transform_packet (stats=...,
packet_len=<optimized out>,
transformed_packet=0xfffef338 "\376\212\a\213\001\254\303\341\372DI\355\b",
original_packet=0xfffef438 "", record_header=...) at Utils.h:26
#4 pktanon::IstreamInput::read_packets (this=0x4b3ce0)
at IstreamRecordsHandler.cpp:121
#5 0x00415130 in pktanon::PktAnonRuntime::run () at PktAnonRuntime.cpp:37
#6 0x00405bfa in main (argc=<optimized out>, argv=<optimized out>)
at src/Main.cpp:73
(gdb)
So, this is trying to do an hton32() operation on a field that is not 4-byte
aligned.
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer https://www.debian.org/
[email protected] [email protected]
signature.asc
Description: PGP signature

