[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SIGBUS libcrypto in Wheezy/Sparc



Install Wheezy using Netboot or CD on T2000 (or I guess any Sparc V9)
Install sipp from http://iweb.dl.sourceforge.net/project/sipp/sipp/3.3/sipp-3.3.tar.gz

apt-get install libpcap-dev (and openssl obviously and perhaps a few other like ncurses

autoreconf -inf
./configure --with-pcap --with-openssl
make
make install

Then start with gdb

gdb ./sipp
run


# gdb ./sipp
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "sparc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /opt/sipp/sipp-3.3/sipp...done.
(gdb) r
Starting program: /opt/sipp/sipp-3.3/sipp
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/sparc-linux-gnu/libthread_db.so.1".

Program received signal SIGBUS, Bus error.
0xf7e34f4c in ?? () from /usr/lib/sparc-linux-gnu/libcrypto.so.1.0.0
(gdb) bt
#0  0xf7e34f4c in ?? () from /usr/lib/sparc-linux-gnu/libcrypto.so.1.0.0
#1  0xf7e34c78 in OPENSSL_cpuid_setup ()
   from /usr/lib/sparc-linux-gnu/libcrypto.so.1.0.0
#2  0xf7e30458 in ?? () from /usr/lib/sparc-linux-gnu/libcrypto.so.1.0.0
#3  0xf7e30458 in ?? () from /usr/lib/sparc-linux-gnu/libcrypto.so.1.0.0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)



If you use a scenario which uses pcap the there would be a crash in line 125 on prepare_pcap.c

#ifdef __HPUX
  pkthdr = (pcap_pkthdr *) malloc (sizeof (*pkthdr));
#else
  pkthdr = malloc (sizeof (*pkthdr));
#endif
  if (!pkthdr)
    ERROR("Can't allocate memory for pcap pkthdr");
  while ((pktdata = (u_char *) pcap_next (pcap, pkthdr)) != NULL)
  {
#endif
    ethhdr = (ether_hdr *)pktdata;
    if (ntohs(ethhdr->ether_type) != 0x0800 /* IPv4 */
          && ntohs(ethhdr->ether_type) != 0x86dd) /* IPv6 */ {
      fprintf(stderr, "Ignoring non IP{4,6} packet!\n");
      continue;
    }
    iphdr = (struct iphdr *)((char *)ethhdr + sizeof(*ethhdr));

    if (iphdr && iphdr->version == 6) {
      //ipv6
      pktlen = (u_long) pkthdr->len



The other software i have seen this crash is with
FREESwitch (http://wiki.freeswitch.org/wiki/Download_FreeSWITCH)

Compile normally without disabling any secure protocols. Freeswitch will crash as soon as its started
Compile disabling srtp and zrtp and there would be no issues


From: Patrick Baggett <baggett.patrick@gmail.com>
To: Jersey Man <jersey_m@yahoo.com>
Cc: Debian Sparc <debian-sparc@lists.debian.org>
Sent: Friday, August 9, 2013 12:34 PM
Subject: Re: SIGBUS libcrypto in Wheezy/Sparc

Hmm, I think I can debug this if you can give me steps to reproduce it. Is it just when you start up the program?

Patrick


On Fri, Aug 9, 2013 at 2:33 AM, Jersey Man <jersey_m@yahoo.com> wrote:
Unaligned access? Get this when running 'sipp' or 'freeswitch' when compiled with SSL support.



[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/sparc-linux-gnu/libthread_db.so.1".

Program received signal SIGBUS, Bus error.
0xf7e34f4c in ?? () from /usr/lib/sparc-linux-gnu/libcrypto.so.1.0.0
(gdb) bt
#0  0xf7e34f4c in ?? () from /usr/lib/sparc-linux-gnu/libcrypto.so.1.0.0
#1  0xf7e34c78 in OPENSSL_cpuid_setup ()
   from /usr/lib/sparc-linux-gnu/libcrypto.so.1.0.0
#2  0xf7e30458 in ?? () from /usr/lib/sparc-linux-gnu/libcrypto.so.1.0.0
#3  0xf7e30458 in ?? () from /usr/lib/sparc-linux-gnu/libcrypto.so.1.0.0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)




Reply to: