Unable to get Tor to compile using OpenSSL 1.0.0-beta5 on Debian Lenny
My high bandwidth exit node crashes every few days - network timeouts, unable to connect (for server config, see below). Using remote console, I can see a lot of output being printed; from my limited Linux knowledge the following lines look most interesting:
oom-killer: gfp_mask=0xd0, order=1 [] out_of_memory+0x25/0x13a [] __alloc_pages+0x1f5/0x275 [] cache_alloc_refill+0x297/0x493 [] cache_alloc_refill+0x63/0x493 [] kmem_cache_alloc+0x3b/0x54 [] copy_process+0xa5/0x10ae [] kmem_cache_alloc+0x4a/0x54 [] _spin_lock_irq+0x8/0x18 [] alloc_pid+0x1fc/0x219 [] do_fork+0x91/0x17a [] sigprocmask+0xcc/0xd2 [] sys_clone+0x28/0x2d [] syscall_call+0x7/0xb
Sometimes I also get:
] read_swap_cache_async+0x2f/0xac [] swapin_readahead+0x3a/0x58 [] __handle_mm_fault+0xa62/0xfa3 [] do_truncate+0x6b/0x75 [] __pagevec_free+0x14/0x1a [] release_pages+0x143/0x14b [] do_page_fault+0x6af/0xb76 [] flush_window+0x4b/0x94 [] unmap_region+0xe1/0xf0 [] kmem_cache_free+0x44/0x7d [] sys_gettimeofday+0x27/0x53 [] do_page_fault+0x0/0xb76 [] error_code+0x2b/0x30
So, after reading the FAQ, I'm now trying to build Tor with OpenSSL 1.0.0-beta5 manually. These are the steps I performed:
- I left the Debian OpenSSL package installed and used configure, make and make install to install OpenSSL1.0.0-beta5 to /usr/local/ssl
- Using the guide at https://www.torproject.org/docs/debian.html.en , I got the source for Tor 0.2.2.10-alpha and tried to configure it:
./configure --enable-openbsd-malloc --enable-static-openssl --with-openssl-dir=/usr/local/ssl
Then, I used debuild -rfakeroot -uc -us and installed the package, but Tor still seems to be using OpenSSL 0.9.8:
[notice] Tor 0.2.2.10-alpha (git-e43253ba9e9430ea) opening log file. [notice] OpenSSL OpenSSL 0.9.8g 19 Oct 2007 [90807f] looks like it's older than 0.9.8l, but some vendors have backported 0.9.8l's renegotiation code to earlier versions. # I'll set SSL3_FLAGS just to be safe.
Makefile:
OPENSSL = /usr/local/ssl/bin/openssl TOR_OPENSSL_LIBS = /usr/local/ssl/lib/libssl.a /usr/local/ssl/lib/libcrypto.a
Sebastian suggested to also compile libevent statically, but I'm not sure how: The option --with-libevent-dir wants me to specify a directory, whereas I only have libevent libraries directly inside /usr/lib. Also, is it on purpose that configure accepts both --with-openssl-dir=/usr/local/ssl and --with-openssl-dir=/usr/local/ssl/bin ?
You can find me on IRC (nick "narr").
Debian Lenny DomU with 2.6.18-6-xen-686 etch Kernel ~5MB/s bandwidth
free -m (no tor running) total used free shared buffers cached Mem: 1640 1625 15 0 14 1200 -/+ buffers/cache: 410 1229 Swap: 1023 0 1023
[Automatically added by flyspray2trac: Operating System: Other Linux]
Trac:
Username: narr