"Violación de segmento" con torproxy

Iniciado por WhiZ, Enero 21, 2013, 04:33:15 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Hola Gente! Cómo les va?

Recurro a ustedes ya que tengo un pequeño problema con torproxy.

Al intentar ejecutarlo, me sale un mensaje de "violación de segmento".

Acá les dejo lo que me sale.

Código: bash

WhiZ@WhiZ-PC:~$ torproxy -n 178.4.38.11 -p 9900
torproxy 0.3 by Moxie Marlinspike.
Retrieving directory listing...
Violación de segmento


Luego, lo que hice fue ejecutarlo con valgrind, y esto es lo que me salió:
Código: bash

WhiZ@WhiZ-PC:~$ valgrind torproxy -n 178.4.38.11 -p 9900
==9104== Memcheck, a memory error detector
==9104== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==9104== Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for copyright info
==9104== Command: torproxy -n 95.211.6.197 -p 9900
==9104==
torproxy 0.3 by Moxie Marlinspike.
Retrieving directory listing...
==9104== Invalid read of size 4
==9104==    at 0x4126665: std::string::assign(std::string const&) (in /usr/lib/libstdc++.so.6.0.13)
==9104==    by 0x8070AA8: ServerListing::ServerListing(boost::asio::io_service&, std::string&) (basic_string.h:506)
==9104==    by 0x806DD7F: Directory::retrieveDirectoryListingComplete(boost::function<void ()(boost::system::error_code const&)>, boost::system::error_code const&) (Directory.h:127)
==9104==    by 0x806F2F2: boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf2<void, Directory, boost::function<void ()(boost::system::error_code const&)>, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<Directory*>, boost::_bi::value<boost::function<void ()(boost::system::error_code const&)> >, boost::arg<1> (*)()> >, void, boost::system::error_code const&>::invoke(boost::detail::function::function_buffer&, boost::system::error_code const&) (mem_fn_template.hpp:274)
==9104==    by 0x80609FA: boost::function1<void, boost::system::error_code const&>::operator()(boost::system::error_code const&) const (function_template.hpp:1013)
==9104==    by 0x8097CBA: Network::socketReadComplete(boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::shared_ptr<char>, std::string*, boost::function<void ()(boost::system::error_code const&)>, boost::system::error_code const&, unsigned int) (Network.cpp:42)
==9104==    by 0x809BDD4: boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::binder2<boost::_bi::bind_t<void, void (*)(boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::shared_ptr<char>, std::string*, boost::function<void ()(boost::system::error_code const&)>, boost::system::error_code const&, unsigned int), boost::_bi::list6<boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::_bi::value<boost::shared_ptr<char> >, boost::_bi::value<std::string*>, boost::_bi::value<boost::function<void ()(boost::system::error_code const&)> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned int> >::do_call(boost::asio::detail::handler_queue::handler*) (bind.hpp:589)
==9104==    by 0x80552ED: boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false> >::run(boost::system::error_code&) (handler_queue.hpp:39)
==9104==    by 0x804D858: main (io_service.ipp:58)
==9104==  Address 0x4f5b168 is not stack'd, malloc'd or (recently) free'd
==9104==
==9104== Invalid read of size 4
==9104==    at 0x412667B: std::string::assign(std::string const&) (in /usr/lib/libstdc++.so.6.0.13)
==9104==    by 0x8070AA8: ServerListing::ServerListing(boost::asio::io_service&, std::string&) (basic_string.h:506)
==9104==    by 0x806DD7F: Directory::retrieveDirectoryListingComplete(boost::function<void ()(boost::system::error_code const&)>, boost::system::error_code const&) (Directory.h:127)
==9104==    by 0x806F2F2: boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf2<void, Directory, boost::function<void ()(boost::system::error_code const&)>, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<Directory*>, boost::_bi::value<boost::function<void ()(boost::system::error_code const&)> >, boost::arg<1> (*)()> >, void, boost::system::error_code const&>::invoke(boost::detail::function::function_buffer&, boost::system::error_code const&) (mem_fn_template.hpp:274)
==9104==    by 0x80609FA: boost::function1<void, boost::system::error_code const&>::operator()(boost::system::error_code const&) const (function_template.hpp:1013)
==9104==    by 0x8097CBA: Network::socketReadComplete(boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::shared_ptr<char>, std::string*, boost::function<void ()(boost::system::error_code const&)>, boost::system::error_code const&, unsigned int) (Network.cpp:42)
==9104==    by 0x809BDD4: boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::binder2<boost::_bi::bind_t<void, void (*)(boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::shared_ptr<char>, std::string*, boost::function<void ()(boost::system::error_code const&)>, boost::system::error_code const&, unsigned int), boost::_bi::list6<boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::_bi::value<boost::shared_ptr<char> >, boost::_bi::value<std::string*>, boost::_bi::value<boost::function<void ()(boost::system::error_code const&)> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned int> >::do_call(boost::asio::detail::handler_queue::handler*) (bind.hpp:589)
==9104==    by 0x80552ED: boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false> >::run(boost::system::error_code&) (handler_queue.hpp:39)
==9104==    by 0x804D858: main (io_service.ipp:58)
==9104==  Address 0xfffffffc is not stack'd, malloc'd or (recently) free'd
==9104==
==9104==
==9104== Process terminating with default action of signal 11 (SIGSEGV)
==9104==  Access not within mapped region at address 0xFFFFFFFC
==9104==    at 0x412667B: std::string::assign(std::string const&) (in /usr/lib/libstdc++.so.6.0.13)
==9104==    by 0x8070AA8: ServerListing::ServerListing(boost::asio::io_service&, std::string&) (basic_string.h:506)
==9104==    by 0x806DD7F: Directory::retrieveDirectoryListingComplete(boost::function<void ()(boost::system::error_code const&)>, boost::system::error_code const&) (Directory.h:127)
==9104==    by 0x806F2F2: boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf2<void, Directory, boost::function<void ()(boost::system::error_code const&)>, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<Directory*>, boost::_bi::value<boost::function<void ()(boost::system::error_code const&)> >, boost::arg<1> (*)()> >, void, boost::system::error_code const&>::invoke(boost::detail::function::function_buffer&, boost::system::error_code const&) (mem_fn_template.hpp:274)
==9104==    by 0x80609FA: boost::function1<void, boost::system::error_code const&>::operator()(boost::system::error_code const&) const (function_template.hpp:1013)
==9104==    by 0x8097CBA: Network::socketReadComplete(boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::shared_ptr<char>, std::string*, boost::function<void ()(boost::system::error_code const&)>, boost::system::error_code const&, unsigned int) (Network.cpp:42)
==9104==    by 0x809BDD4: boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::binder2<boost::_bi::bind_t<void, void (*)(boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::shared_ptr<char>, std::string*, boost::function<void ()(boost::system::error_code const&)>, boost::system::error_code const&, unsigned int), boost::_bi::list6<boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::_bi::value<boost::shared_ptr<char> >, boost::_bi::value<std::string*>, boost::_bi::value<boost::function<void ()(boost::system::error_code const&)> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned int> >::do_call(boost::asio::detail::handler_queue::handler*) (bind.hpp:589)
==9104==    by 0x80552ED: boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false> >::run(boost::system::error_code&) (handler_queue.hpp:39)
==9104==    by 0x804D858: main (io_service.ipp:58)
==9104==  If you believe this happened as a result of a stack
==9104==  overflow in your program's main thread (unlikely but
==9104==  possible), you can try to increase the size of the
==9104==  main thread stack using the --main-stacksize= flag.
==9104==  The main thread stack size used in this run was 8388608.
==9104==
==9104== HEAP SUMMARY:
==9104==     in use at exit: 2,109,335 bytes in 420 blocks
==9104==   total heap usage: 87,571 allocs, 87,151 frees, 6,268,335 bytes allocated
==9104==
==9104== LEAK SUMMARY:
==9104==    definitely lost: 0 bytes in 0 blocks
==9104==    indirectly lost: 0 bytes in 0 blocks
==9104==      possibly lost: 2,103,827 bytes in 276 blocks
==9104==    still reachable: 5,508 bytes in 144 blocks
==9104==         suppressed: 0 bytes in 0 blocks
==9104== Rerun with --leak-check=full to see details of leaked memory
==9104==
==9104== For counts of detected and suppressed errors, rerun with: -v
==9104== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 32 from 7)
Violación de segmento


El problema está en el código, pero el tema es que no se en dónde ni cómo resolverlo.

Espero que me puedan dar una mano jeje.

Saludos!
WhiZ