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/ slanga...@ubuntu.com vor...@debian.org
signature.asc
Description: PGP signature