[tor-bugs] #10695 [Tor]: tor on mipsel

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Jan 22 15:02:37 UTC 2014


#10695: tor on mipsel
--------------------+---------------------
 Reporter:  lamero  |          Owner:
     Type:  defect  |         Status:  new
 Priority:  normal  |      Milestone:
Component:  Tor     |        Version:
 Keywords:          |  Actual Points:
Parent ID:          |         Points:
--------------------+---------------------
 i'm trying to compile tor for mipsel and, all go for good but when start
 binary it give me segmentation fault. Other application work
 good...strange only tor goes in segmentation fault.

 i use this setup:


 for first openssl

 #!/bin/bash
 export TOOLCHAIN=/opt/cross/mipsel-unknown-linux-gnu
 export CC=$TOOLCHAIN/bin/mipsel-unknown-linux-gnu-gcc
 export RANLIB=$TOOLCHAIN/bin/mipsel-unknown-linux-gnu-ranlib
 ./Configure --prefix=$TOOLCHAIN/mipsel-unknown-linux-gnu/sys-root/usr/
 linux-generic32 shared

 libevent:
 #!/bin/bash
 export TOOLCHAIN=/opt/cross/mipsel-unknown-linux-gnu
 export CC=$TOOLCHAIN/bin/mipsel-unknown-linux-gnu-gcc
 export RANLIB=$TOOLCHAIN/bin/mipsel-unknown-linux-gnu-ranlib
 ./configure --prefix=$TOOLCHAIN/mipsel-unknown-linux-gnu/sys-root/usr/
 --host=mipsel-unknown-linux-gnu


 Then zlib

 #!/bin/bash
 export TOOLCHAIN=/opt/cross/mipsel-unknown-linux-gnu
 export CC=$TOOLCHAIN/bin/mipsel-unknown-linux-gnu-gcc
 export RANLIB=$TOOLCHAIN/bin/mipsel-unknown-linux-gnu-ranlib
 ./configure --prefix=$TOOLCHAIN/mipsel-unknown-linux-gnu/sys-root/usr/

 at the and i compile tor

 #!/bin/bash
 export TOOLCHAIN=/opt/cross/mipsel-unknown-linux-gnu
 export CC=$TOOLCHAIN/bin/mipsel-unknown-linux-gnu-gcc
 export RANLIB=$TOOLCHAIN/bin/mipsel-unknown-linux-gnu-ranlib
 ./configure --prefix=$TOOLCHAIN/mipsel-unknown-linux-gnu/sys-root/usr/
 --host=mipsel-unknown-linux-gnu --disable-asciidoc


 When i launch openssl binary on mipsel machine it work good and all the
 other's application.
 Only tor goes in segmentation fault...very strange...
 i Have also tryied to make strace ./tor and this is the result:

 ./tor
 Segmentation fault

 Then with strace:

 strace ./tor
 execve("./tor", ["./tor"], [/* 12 vars */]) = 0
 brk(0)                                  = 0x55a4e000
 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
 0x773d1000
 uname({sys="Linux", node="dm800se", ...}) = 0
 access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
 directory)
 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
 fstat64(3, {st_mode=S_IFREG|0644, st_size=10585, ...}) = 0
 mmap(NULL, 10585, PROT_READ, MAP_PRIVATE, 3, 0) = 0x773cc000
 close(3)                                = 0
 open("/lib/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
 read(3,
 "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\300\27\0\0004\0\0\0"...,
 512) = 512
 fstat64(3, {st_mode=S_IFREG|0755, st_size=104116, ...}) = 0
 mmap(NULL, 164720, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
 0x77370000
 mprotect(0x77389000, 61440, PROT_NONE)  = 0
 mmap(0x77398000, 4096, PROT_READ|PROT_WRITE,
 MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x77398000
 close(3)                                = 0
 open("/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
 read(3,
 "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\0=\0\0004\0\0\0"...,
 512) = 512
 lseek(3, 620, SEEK_SET)                 = 620
 read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0\20\0\0\0",
 32) = 32
 fstat64(3, {st_mode=S_IFREG|0755, st_size=570664, ...}) = 0
 mmap(NULL, 623536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
 0x772d4000
 mprotect(0x7735c000, 61440, PROT_NONE)  = 0
 mmap(0x7736b000, 8192, PROT_READ|PROT_WRITE,
 MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x87000) = 0x7736b000
 close(3)                                = 0
 open("/usr/lib/libevent-2.0.so.5", O_RDONLY|O_CLOEXEC) = 3
 read(3,
 "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\360|\0\0004\0\0\0"...,
 512) = 512
 fstat64(3, {st_mode=S_IFREG|0755, st_size=278032, ...}) = 0
 mmap(NULL, 319184, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
 0x77284000
 mprotect(0x772c1000, 65536, PROT_NONE)  = 0
 mmap(0x772d1000, 4096, PROT_READ|PROT_WRITE,
 MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3d000) = 0x772d1000
 close(3)                                = 0
 open("/usr/lib/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = 3
 read(3,
 "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0`\244\0\0004\0\0\0"...,
 512) = 512
 fstat64(3, {st_mode=S_IFREG|0755, st_size=376684, ...}) = 0
 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
 0x773cb000
 mmap(NULL, 421136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
 0x7721c000
 mprotect(0x7726e000, 61440, PROT_NONE)  = 0
 mmap(0x7727d000, 24576, PROT_READ|PROT_WRITE,
 MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x51000) = 0x7727d000
 close(3)                                = 0
 open("/lib/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = 3
 read(3,
 "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0PR\3\0004\0\0\0"..., 512)
 = 512
 fstat64(3, {st_mode=S_IFREG|0755, st_size=1813864, ...}) = 0
 mmap(NULL, 1743936, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
 = 0x77070000
 mprotect(0x771f1000, 65536, PROT_NONE)  = 0
 mmap(0x77201000, 90112, PROT_READ|PROT_WRITE,
 MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x181000) = 0x77201000
 mmap(0x77217000, 11328, PROT_READ|PROT_WRITE,
 MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x77217000
 close(3)                                = 0
 open("/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0
 \31\0\0004\0\0\0"..., 512) = 512
 lseek(3, 676, SEEK_SET)                 = 676
 read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0\20\0\0\0",
 32) = 32
 fstat64(3, {st_mode=S_IFREG|0755, st_size=37312, ...}) = 0
 mmap(NULL, 99040, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
 0x77054000
 mprotect(0x7705c000, 61440, PROT_NONE)  = 0
 mmap(0x7706b000, 8192, PROT_READ|PROT_WRITE,
 MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7706b000
 close(3)                                = 0
 open("/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
 read(3,
 "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\200\v\0\0004\0\0\0"...,
 512) = 512
 lseek(3, 636, SEEK_SET)                 = 636
 read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0\20\0\0\0",
 32) = 32
 fstat64(3, {st_mode=S_IFREG|0755, st_size=14736, ...}) = 0
 mmap(NULL, 78064, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
 0x77040000
 mprotect(0x77043000, 61440, PROT_NONE)  = 0
 mmap(0x77052000, 8192, PROT_READ|PROT_WRITE,
 MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x77052000
 close(3)                                = 0
 open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
 read(3,
 "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\244\272\1\0004\0\0\0"...,
 512) = 512
 lseek(3, 700, SEEK_SET)                 = 700
 read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0\20\0\0\0",
 32) = 32
 fstat64(3, {st_mode=S_IFREG|0755, st_size=1663880, ...}) = 0
 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
 0x773ca000
 mmap(NULL, 1646432, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
 = 0x76eac000
 mprotect(0x77026000, 65536, PROT_NONE)  = 0
 mmap(0x77036000, 24576, PROT_READ|PROT_WRITE,
 MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17a000) = 0x77036000
 mmap(0x7703c000, 8032, PROT_READ|PROT_WRITE,
 MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7703c000
 close(3)                                = 0
 open("/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
 read(3,
 "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\340c\0\0004\0\0\0"...,
 512) = 512
 lseek(3, 676, SEEK_SET)                 = 676
 read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0\20\0\0\0",
 32) = 32
 fstat64(3, {st_mode=S_IFREG|0755, st_size=113612, ...}) = 0
 mmap(NULL, 177168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
 0x76e80000
 mprotect(0x76e99000, 61440, PROT_NONE)  = 0
 mmap(0x76ea8000, 8192, PROT_READ|PROT_WRITE,
 MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x76ea8000
 mmap(0x76eaa000, 5136, PROT_READ|PROT_WRITE,
 MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76eaa000
 close(3)                                = 0
 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
 0x773c9000
 set_thread_area(0x773d0860)             = 0
 mprotect(0x77036000, 12288, PROT_READ)  = 0
 mprotect(0x76ea8000, 4096, PROT_READ)   = 0
 mprotect(0x77052000, 4096, PROT_READ)   = 0
 mprotect(0x7706b000, 4096, PROT_READ)   = 0
 mprotect(0x7736b000, 4096, PROT_READ)   = 0
 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x5756aa1e}
 ---
 +++ killed by SIGSEGV +++
 Segmentation fault

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/10695>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list