Ticket #232 (new defect)

Opened 3 years ago

crash in http module, cancelled / readded downloads

Reported by: chemical <chem@gmx.net> Assigned to: wubbla
Priority: normal Milestone: 0.2
Component: mod_http Version: svn-snapshot
Severity: critical Keywords: crash http console
Cc:

Description

Trying to describe my steps as detailed as possible. Surfed to torrent.to, got a link, pasted it into the telnet console with "do http://<url>.torrent"

[2006-Feb-20 19:49:21] Couldn't get the file 102169-xx.torrent because the connection to 193.138.231.227:80 was lost.

Link showed up in downloadlist (vd). However, the source count of 1 dropped to 0 within seconds (guess because of above error).

Did a "pause 0" and "resume 0" which, I hoped, would do the trick of a forced reconnect to that webserver. Did not help, nothing changed. cancel 0 twice and removed the file from the downloadlist.

Readded with the same command as in the first step. The console however replied with:

donkey@hnsh:/$ do http://www.torrent.to/torrent/cache/102169-xx.torrent
You already have: Normal char, echoing

Don't know what that should say me. Guess there is a pointer which shot wild around. So I tried again:

donkey@hnsh:/$ do http://www.torrent.to/torrent/cache/102169-xx.torrent
You already have: Socket 73 is writable.

Funny. Next round:

donkey@hnsh:/$ do http://www.torrent.to/torrent/cache/102169-xx.torrent
You already have: Socket 60 is writable.

Ok, lets see how far this goes .. trying again

[Statistics] Sources: 2230 | Queued: 2016 | Up:  20.01 KB/s | Down:   3.14 KB/s
Upload:   20.00 KB/s | Download:    3.40 KB/s | Connections:  24
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 1948)]
0x40209d29 in std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::begin (this=0x10000048) at stl_tree.h:589
589       (this->_M_impl._M_header._M_left);
(gdb)
(gdb) thread apply all bt full

Thread 4 (Thread 32771 (LWP 1965)):
#0  0x408e8b94 in __pthread_sigsuspend () from /lib/i686/libpthread.so.0
No symbol table info available.
#1  0x408e89d8 in __pthread_wait_for_restart_signal () from /lib/i686/libpthread.so.0
No symbol table info available.
#2  0x408e4e90 in pthread_cond_wait@GLIBC_2.0 () from /lib/i686/libpthread.so.0
No symbol table info available.
#3  0x406cdbc3 in boost::detail::condition_impl::do_wait (this=0x403a9584, pmutex=0x403a95b4)
    at extra/boost_thread/condition.cpp:370
    res = 0
    __PRETTY_FUNCTION__ = "void boost::detail::condition_impl::do_wait(pthread_mutex_t*)"
#4  0x40553e79 in boost::condition::do_wait<boost::mutex> (this=0x403a9580, mutex=@0x403a95b4) at condition.hpp:149
    state = {pmutex = 0x403a95b4}
#5  0x40553f25 in boost::condition::wait<boost::detail::thread::scoped_lock<boost::mutex> > (this=0x403a9580,
    lock=@0x41a64c98) at condition.hpp:92
No locals.
#6  0x40555c92 in WorkThread::threadLoop (this=0x403a9540) at hnbase/workthread.cpp:56
    l1 = {<boost::noncopyable_::noncopyable> = {<No data fields>}, m_mutex = @0x403a95b4, m_locked = true}
    wrk = {p_ = 0x0}
#7  0x40554e74 in boost::_mfi::mf0<void, WorkThread>::operator() (this=0x80ddb38, p=0x403a9540)
    at mem_fn_template.hpp:45
No locals.
#8  0x405550d2 in boost::_bi::list1<boost::_bi::value<WorkThread*> >::operator()<boost::_mfi::mf0<void, WorkThread>, boost::_bi::list0> (this=0x80ddb40, f=@0x80ddb38, a=@0x41a64e0e) at bind.hpp:229
No locals.
#9  0x40555123 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, WorkThread>, boost::_bi::list1<boost::_bi::value<WorkThread*> > >::operator() (this=0x80ddb38) at bind_template.hpp:20
    a = {<No data fields>}
#10 0x4055514d in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, WorkThread>, boost::_bi::list1<boost::_bi::value<WorkThread*> > >, void>::invoke (function_obj_ptr=
      {obj_ptr = 0x80ddb38, const_obj_ptr = 0x80ddb38, func_ptr = 0x80ddb38, data = "8"}) at function_template.hpp:136
    f = (
    boost::_bi::bind_t<void,boost::_mfi::mf0<void, WorkThread>,boost::_bi::list1<boost::_bi::value<WorkThread*> > > *) 0x80ddb38
#11 0x406e32bf in boost::function0<void, std::allocator<boost::function_base> >::operator() (this=0x41a64e9c)
    at function_template.hpp:576
No locals.
#12 0x406e1f46 in thread_proxy (param=0xbfffed88) at extra/boost_thread/thread.cpp:113
    p = ((anonymous namespace)::thread_param *) 0xbfffed88
    threadfunc = {<boost::function_base> = {
    manager = 0x40554fb4 <boost::detail::function::functor_manager<boost::_bi::bind_t<void, boost::_mfi::mf0<void, WorkThread>, boost::_bi::list1<boost::_bi::value<WorkThread*> > >, std::allocator<boost::function_base> >::manage(boost::detail::function::any_pointer, boost::detail::function::functor_manager_operation_type)>, functor = {obj_ptr = 0x80ddb38,
      const_obj_ptr = 0x80ddb38, func_ptr = 0x80ddb38, data = "8"}}, static args = <optimized out>,
  static arity = <optimized out>,
  invoker = 0x4055512a <boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, WorkThread>, boost::_bi::list1<boost::_bi::value<WorkThread*> > >, void>::invoke(boost::detail::function::any_pointer)>}
#13 0x408e5f60 in pthread_start_thread () from /lib/i686/libpthread.so.0
No symbol table info available.
#14 0x408e60fe in pthread_start_thread_event () from /lib/i686/libpthread.so.0
No symbol table info available.
#15 0x40a0d327 in clone () from /lib/i686/libc.so.6
No symbol table info available.

Thread 3 (Thread 16386 (LWP 1951)):
#0  0x408e8b94 in __pthread_sigsuspend () from /lib/i686/libpthread.so.0
No symbol table info available.
#1  0x408e89d8 in __pthread_wait_for_restart_signal () from /lib/i686/libpthread.so.0
No symbol table info available.
#2  0x408e4e90 in pthread_cond_wait@GLIBC_2.0 () from /lib/i686/libpthread.so.0
No symbol table info available.
#3  0x406cdbc3 in boost::detail::condition_impl::do_wait (this=0x40596304, pmutex=0x40596334)
    at extra/boost_thread/condition.cpp:370
    res = 0
    __PRETTY_FUNCTION__ = "void boost::detail::condition_impl::do_wait(pthread_mutex_t*)"
#4  0x40553e79 in boost::condition::do_wait<boost::mutex> (this=0x40596300, mutex=@0x40596334) at condition.hpp:149
    state = {pmutex = 0x40596334}
#5  0x40553f25 in boost::condition::wait<boost::detail::thread::scoped_lock<boost::mutex> > (this=0x40596300,
    lock=@0x41264c98) at condition.hpp:92
No locals.
#6  0x40555c92 in WorkThread::threadLoop (this=0x405962c0) at hnbase/workthread.cpp:56
    l1 = {<boost::noncopyable_::noncopyable> = {<No data fields>}, m_mutex = @0x40596334, m_locked = true}
    wrk = {p_ = 0x0}
#7  0x40554e74 in boost::_mfi::mf0<void, WorkThread>::operator() (this=0x80dc4b8, p=0x405962c0)
    at mem_fn_template.hpp:45
No locals.
#8  0x405550d2 in boost::_bi::list1<boost::_bi::value<WorkThread*> >::operator()<boost::_mfi::mf0<void, WorkThread>, boost::_bi::list0> (this=0x80dc4c0, f=@0x80dc4b8, a=@0x41264e0e) at bind.hpp:229
No locals.
#9  0x40555123 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, WorkThread>, boost::_bi::list1<boost::_bi::value<WorkThread*> > >::operator() (this=0x80dc4b8) at bind_template.hpp:20
    a = {<No data fields>}
#10 0x4055514d in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, WorkThread>, boost::_bi::list1<boost::_bi::value<WorkThread*> > >, void>::invoke (function_obj_ptr=
      {obj_ptr = 0x80dc4b8, const_obj_ptr = 0x80dc4b8, func_ptr = 0x80dc4b8, data = "¸"}) at function_template.hpp:136
    f = (
    boost::_bi::bind_t<void,boost::_mfi::mf0<void, WorkThread>,boost::_bi::list1<boost::_bi::value<WorkThread*> > > *) 0x80dc4b8
#11 0x406e32bf in boost::function0<void, std::allocator<boost::function_base> >::operator() (this=0x41264e9c)
    at function_template.hpp:576
No locals.
#12 0x406e1f46 in thread_proxy (param=0xbfffebf8) at extra/boost_thread/thread.cpp:113
    p = ((anonymous namespace)::thread_param *) 0xbfffebf8
    threadfunc = {<boost::function_base> = {
    manager = 0x40554fb4 <boost::detail::function::functor_manager<boost::_bi::bind_t<void, boost::_mfi::mf0<void, WorkThread>, boost::_bi::list1<boost::_bi::value<WorkThread*> > >, std::allocator<boost::function_base> >::manage(boost::detail::function::any_pointer, boost::detail::function::functor_manager_operation_type)>, functor = {obj_ptr = 0x80dc4b8,
      const_obj_ptr = 0x80dc4b8, func_ptr = 0x80dc4b8, data = "¸"}}, static args = <optimized out>,
  static arity = <optimized out>,
  invoker = 0x4055512a <boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, WorkThread>, boost::_bi::list1<boost::_bi::value<WorkThread*> > >, void>::invoke(boost::detail::function::any_pointer)>}
#13 0x408e5f60 in pthread_start_thread () from /lib/i686/libpthread.so.0
No symbol table info available.
#14 0x408e60fe in pthread_start_thread_event () from /lib/i686/libpthread.so.0
No symbol table info available.
#15 0x40a0d327 in clone () from /lib/i686/libc.so.6
No symbol table info available.

Thread 2 (Thread 32769 (LWP 1950)):
#0  0x40a04b66 in poll () from /lib/i686/libc.so.6
No symbol table info available.
#1  0x408e5a8e in __pthread_manager () from /lib/i686/libpthread.so.0
No symbol table info available.
#2  0x408e5d63 in __pthread_manager_event () from /lib/i686/libpthread.so.0
No symbol table info available.
#3  0x40a0d327 in clone () from /lib/i686/libc.so.6
No symbol table info available.

Thread 1 (Thread 16384 (LWP 1948)):
#0  0x40209d29 in std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::begin (this=0x10000048) at stl_tree.h:589
No locals.
#1  0x40209d6c in std::set<std::string, std::less<std::string>, std::allocator<std::string> >::begin (this=0x10000048)
    at stl_set.h:239
No locals.
#2  0x40296dcd in MetaData::customBegin (this=0x10000000) at metadata.h:556
No locals.
#3  0x421533a1 in Http::HttpClient::startDownload (this=0x8c3a3c0, url=@0xbfffe024) at hncore/http/client.cpp:324
    md = (MetaData *) 0x10000000
    found = false
    it2 = {_M_node = 0x4080bb74}
    files = {<std::_Vector_base<SharedFile*,std::allocator<SharedFile*> >> = {
    _M_impl = {<std::allocator<SharedFile*>> = {<__gnu_cxx::__mt_alloc<SharedFile*,__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >> = {<__gnu_cxx::__mt_alloc_base<SharedFile*>> = {<No data fields>}, <No data fields>}, <No data fields>}, _M_start = 0x8484ef0, _M_finish = 0x8484ef4, _M_end_of_storage = 0x8484ef4}}, <No data fields>}
    purl = {m_valid = true, m_url = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::__mt_alloc<char,__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >> = {<__gnu_cxx::__mt_alloc_base<char>> = {<No data fields>}, <No data fields>}, <No data fields>},
      _M_p = 0x8cb0b74 "http://www.torrent.to/torrent/cache/102169-555-www.torrent.to...Sky.Fighters.TS.MD.German.SVCD-AOEbywww.mystik-torrent.dl.amforTTO.torrent"}}, m_host = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::__mt_alloc<char,__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >> = {<__gnu_cxx::__mt_alloc_base<char>> = {<No data fields>}, <No data fields>}, <No data fields>},
      _M_p = 0x9122354 "www.torrent.to"}}, m_path = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::__mt_alloc<char,__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >> = {<__gnu_cxx::__mt_alloc_base<char>> = {<No data fields>}, <No data fields>}, <No data fields>},
      _M_p = 0x8e15474 "/torrent/cache/102169-555-www.torrent.to...Sky.Fighters.TS.MD.German.SVCD-AOEbywww.mystik-torrent.dl.amforTTO.torrent"}}, m_file = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::__mt_alloc<char,__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >> = {<__gnu_cxx::__mt_alloc_base<char>> = {<No data fields>}, <No data fields>}, <No data fields>},
      _M_p = 0x90cd3e4 "102169-555-www.torrent.to...Sky.Fighters.TS.MD.German.SVCD-AOEbywww.mystik-torrent.dl.amforTTO.torrent"}}, m_user = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::__mt_alloc<char,__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >> = {<__gnu_cxx::__mt_alloc_base<char>> = {<No data fields>}, <No data fields>}, <No data fields>},
      _M_p = 0x408ad8e4 ""}}, m_password = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::__mt_alloc<char,__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >> = {<__gnu_cxx::__mt_alloc_base<char>> = {<No data fields>}, <No data fields>}, <No data fields>},
      _M_p = 0x408ad8e4 ""}}, m_port = 80}
    it = {_M_current = 0x8484ef0}
    sf = (class SharedFile *) 0x86bbaf8
    md = (MetaData *) 0x8c3a460
#4  0x42153d94 in Http::HttpClient::tryStartDownload (this=0x8c3a3c0, url=@0xbfffe024, silent=false)
    at hncore/http/client.cpp:271
    urlFound = false
    it = {_M_node = 0x8c3a460}
#5  0x4215416e in Http::HttpClient::linkHandler (this=0x8c3a3c0, link=@0xbfffe024) at hncore/http/client.cpp:234
No locals.
#6  0x4216bab5 in boost::_mfi::mf1<bool, Http::HttpClient, std::string const&>::operator() (this=0x86b8400,
    p=0x8c3a3c0, a1=@0xbfffe024) at mem_fn_template.hpp:149
No locals.
#7  0x42176404 in boost::_bi::list2<boost::_bi::value<Http::HttpClient*>, boost::arg<1> >::operator()<bool, boost::_mfi::mf1<bool, Http::HttpClient, std::string const&>, boost::_bi::list1<std::string const&> > (this=0x86b8408,
    f=@0x86b8400, a=@0xbfffde8c) at bind.hpp:276
No locals.
#8  0x42176460 in boost::_bi::bind_t<bool, boost::_mfi::mf1<bool, Http::HttpClient, std::string const&>, boost::_bi::list2<boost::_bi::value<Http::HttpClient*>, boost::arg<1> > >::operator()<std::string const> (this=0x86b8400,
    a1=@0xbfffe024) at bind_template.hpp:32
    a = {a1_ = @0xbfffe024}
#9  0x42176494 in boost::detail::function::function_obj_invoker1<boost::_bi::bind_t<bool, boost::_mfi::mf1<bool, Http::HttpClient, std::string const&>, boost::_bi::list2<boost::_bi::value<Http::HttpClient*>, boost::arg<1> > >, bool, std::string const&>::invoke (function_obj_ptr=
      {obj_ptr = 0x86b8400, const_obj_ptr = 0x86b8400, func_ptr = 0x86b8400, data = ""}, a0=@0xbfffe024)
    at function_template.hpp:119
    f = (
    boost::_bi::bind_t<bool,boost::_mfi::mf1<bool, Http::HttpClient, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>,boost::_bi::list2<boost::_bi::value<Http::HttpClient*>, boost::arg<1> > > *) 0x86b8400
#10 0x4031e5ba in boost::function1<bool, std::string const&, std::allocator<void> >::operator() (this=0x8c3d00c,
    a0=@0xbfffe024) at function_template.hpp:576
No locals.
#11 0x4031d1fd in Search::downloadLink (link=@0xbfffe024) at hncore/search.cpp:88
    i = {_M_current = 0x8c3d018}
#12 0x41fe82d0 in Shell::ShellCommands::cmdDownload (this=0x8fb1a70, args=
        {first_ = {_M_current = 0x8eef93c "download http://www.torrent.to/torrent/cache/102169-555-www.torrent.to...Sky.Fighters.TS.MD.German.SVCD-AOEbywww.mystik-torrent.dl.amforTTO.torrent "}, last_ = {_M_current = 0x8eef9d0 ""}, f_ = {m_unescapeChar = 0 '\0'}}) at hncore/hnsh/shellcommands.cpp:576
    link = {static npos = 4294967295,
  _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::__mt_alloc<char,__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >> = {<__gnu_cxx::__mt_alloc_base<char>> = {<No data fields>}, <No data fields>}, <No data fields>},
    _M_p = 0x8cb0b74 "http://www.torrent.to/torrent/cache/102169-555-www.torrent.to...Sky.Fighters.TS.MD.German.SVCD-AOEbywww.mystik-torrent.dl.amforTTO.torrent"}}
    it = {<boost::iterator_facade<boost::token_iterator<Shell::command_tokenizer, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,boost::forward_traversal_tag,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&,ptrdiff_t>> = {<No data fields>}, f_ = {m_unescapeChar = 32 ' '}, begin_ = {_M_current = 0x8eef9d0 ""}, end_ = {_M_current = 0x8eef9d0 ""},
  valid_ = true, tok_ = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::__mt_alloc<char,__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >> = {<__gnu_cxx::__mt_alloc_base<char>> = {<No data fields>}, <No data fields>}, <No data fields>},
      _M_p = 0x8cd248c ""}}}
    toDownload = {<std::_Vector_base<uint32_t,std::allocator<uint32_t> >> = {
    _M_impl = {<std::allocator<uint32_t>> = {<__gnu_cxx::__mt_alloc<uint32_t,__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >> = {<__gnu_cxx::__mt_alloc_base<uint32_t>> = {<No data fields>}, <No data fields>}, <No data fields>},
      _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}
    c = {<boost::signals::connection> = {<boost::less_than_comparable1<boost::signals::connection,boost::detail::empty_base>> = {<> = {<No data fields>}, <No data fields>}, <boost::equality_comparable1<boost::signals::connection,boost::detail::empty_base>> = {<> = {<No data fields>}, <No data fields>}, con = {px = 0x330002, pn = {pi_ = 0x4039e0d0}},
    controlling_connection = 200}, released = 229}
#13 0x4202aa44 in boost::_mfi::mf1<bool, Shell::ShellCommands, boost::tokenizer<Shell::command_tokenizer, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::operator() (this=0x8c88028, p=0x8fb1a70, a1=
        {first_ = {_M_current = 0x8eef93c "download http://www.torrent.to/torrent/cache/102169-555-www.torrent.to...Sky.Fighters.TS.MD.German.SVCD-AOEbywww.mystik-torrent.dl.amforTTO.torrent "}, last_ = {_M_current = 0x8eef9d0 ""}, f_ = {m_unescapeChar = 0 '\0'}}) at mem_fn_template.hpp:149
No locals.
#14 0x4202aace in boost::_bi::list2<boost::_bi::value<Shell::ShellCommands*>, boost::arg<1> >::operator()<bool, boost::_mfi::mf1<bool, Shell::ShellCommands, boost::tokenizer<Shell::command_tokenizer, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >, boost::_bi::list1<boost::tokenizer<Shell::command_tokenizer, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>&> > (this=0x8c88030, f=@0x8c88028, a=@0xbfffe26c) at bind.hpp:276
No locals.
#15 0x4202ab28 in boost::_bi::bind_t<bool, boost::_mfi::mf1<bool, Shell::ShellCommands, boost::tokenizer<Shell::command_tokenizer, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >, boost::_bi::list2<boost::_bi::value<Shell::ShellCommands*>, boost::arg<1> > >::operator()<boost::tokenizer<Shell::command_tokenizer, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> > (this=0x8c88028, a1=@0xbfffe2b4) at bind_template.hpp:32
    a = {a1_ = @0xbfffe2b4}
#16 0x4202ab5c in boost::detail::function::function_obj_invoker1<boost::_bi::bind_t<bool, boost::_mfi::mf1<bool, Shell::ShellCommands, boost::tokenizer<Shell::command_tokenizer, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >, boost::_bi::list2<boost::_bi::value<Shell::ShellCommands*>, boost::arg<1> > >, bool, boost::tokenizer<Shell::command_tokenizer, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::invoke (function_obj_ptr=
      {obj_ptr = 0x8c88028, const_obj_ptr = 0x8c88028, func_ptr = 0x8c88028, data = "("}, a0=
        {first_ = {_M_current = 0x8eef93c "download http://www.torrent.to/torrent/cache/102169-555-www.torrent.to...Sky.Fighters.TS.MD.German.SVCD-AOEbywww.mystik-torrent.dl.amforTTO.torrent "}, last_ = {_M_current = 0x8eef9d0 ""}, f_ = {m_unescapeChar = 0 '\0'}}) at function_template.hpp:119
    f = (
    boost::_bi::bind_t<bool,boost::_mfi::mf1<bool, Shell::ShellCommands, boost::tokenizer<Shell::command_tokenizer, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,boost::_bi::list2<boost::_bi::value<Shell::ShellCommands*>, boost::arg<1> > > *) 0x8c88028
#17 0x41fed36d in boost::function1<bool, boost::tokenizer<Shell::command_tokenizer, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::allocator<void> >::operator() (this=0x8d16bdc, a0=
        {first_ = {_M_current = 0x8eef93c "download http://www.torrent.to/torrent/cache/102169-555-www.torrent.to...Sky.Fighters.TS.MD.German.SVCD-AOEbywww.mystik-torrent.dl.amforTTO.torrent "}, last_ = {_M_current = 0x8eef9d0 ""}, f_ = {m_unescapeChar = 0 '\0'}}) at function_template.hpp:576
No locals.
#18 0x41fda181 in Shell::ShellCommands::dispatch (this=0x8fb1a70, args=
        {first_ = {_M_current = 0x8eef93c "download http://www.torrent.to/torrent/cache/102169-555-www.torrent.to...Sky.Fighters.TS.MD.German.SVCD-AOEbywww.mystik-torrent.dl.amforTTO.torrent "}, last_ = {_M_current = 0x8eef9d0 ""}, f_ = {m_unescapeChar = 0 '\0'}}) at hncore/hnsh/shellcommands.cpp:203
    tmp = {static npos = 4294967295,
  _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::__mt_alloc<char,__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >> = {<__gnu_cxx::__mt_alloc_base<char>> = {<No data fields>}, <No data fields>}, <No data fields>},
    _M_p = 0x8eef93c "download http://www.torrent.to/torrent/cache/102169-555-www.torrent.to...Sky.Fighters.TS.MD.German.SVCD-AOEbywww.mystik-torrent.dl.amforTTO.torrent "}}
    it = {<boost::iterator_facade<boost::token_iterator<Shell::command_tokenizer, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,boost::forward_traversal_tag,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&,ptrdiff_t>> = {<No data fields>}, f_ = {m_unescapeChar = 32 ' '}, begin_ = {_M_current = 0x8ed58c1 ""}, end_ = {_M_current = 0x8ed58c1 ""},
  valid_ = false, tok_ = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::__mt_alloc<char,__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >> = {<__gnu_cxx::__mt_alloc_base<char>> = {<No data fields>}, <No data fields>}, <No data fields>},
      _M_p = 0x408ad8e4 ""}}}
    found = {_M_node = 0x8d16bc8}
    e = (class std::exception &) @0xbfffe5c8: {_vptr.exception = 0xbfffe728}
#19 0x4204bc5b in Shell::ShellClient::handleCommand (this=0x8fb1a38, cmd=@0xbfffe9ec)
    at hncore/hnsh/shellclient.cpp:357
    d = {m_parent = 0x8fb1a38}
    args = {first_ = {
    _M_current = 0x8ed5834 "do http://www.torrent.to/torrent/cache/102169-555-www.torrent.to...Sky.Fighters.TS.MD.German.SVCD-AOEbywww.mystik-torrent.dl.amforTTO.torrent"}, last_ = {_M_current = 0x8ed58c1 ""}, f_ = {
    m_unescapeChar = 0 '\0'}}
    ret = true
#20 0x4204d5bf in Shell::ShellClient::readFromSocket (this=0x8fb1a38) at hncore/hnsh/shellclient.cpp:288
    i = 4294967295
    e = (class std::exception &) @0xbfffeb48: {_vptr.exception = 0x8fca30c}
#21 0x4204e00c in Shell::ShellClient::onEvent (this=0x8fb1a38, evt=SOCK_READ) at hncore/hnsh/shellclient.cpp:186
No locals.
#22 0x420528f6 in boost::_mfi::mf2<void, Shell::ShellClient, SocketClient*, SocketEvent>::operator() (this=0x90b2b00,
    p=0x8fb1a38, a1=0x91598c8, a2=SOCK_READ) at mem_fn_template.hpp:252
No locals.
#23 0x4205673b in boost::_bi::list3<boost::_bi::value<Shell::ShellClient*>, boost::arg<1>, boost::arg<2> >::operator()<boost::_mfi::mf2<void, Shell::ShellClient, SocketClient*, SocketEvent>, boost::_bi::list2<SocketClient*&, SocketEvent&> > (this=0x90b2b08, f=@0x90b2b00, a=@0xbfffebd8) at bind.hpp:347
No locals.
#24 0x4205679b in boost::_bi::bind_t<void, boost::_mfi::mf2<void, Shell::ShellClient, SocketClient*, SocketEvent>, boost::_bi::list3<boost::_bi::value<Shell::ShellClient*>, boost::arg<1>, boost::arg<2> > >::operator()<SocketClient*, SocketEvent> (this=0x90b2b00, a1=@0xbfffec24, a2=@0xbfffec28) at bind_template.hpp:44
    a = {a1_ = @0xbfffec24, a2_ = @0xbfffec28}
#25 0x420567d3 in boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, Shell::ShellClient, SocketClient*, SocketEvent>, boost::_bi::list3<boost::_bi::value<Shell::ShellClient*>, boost::arg<1>, boost::arg<2> > >, void, SocketClient*, SocketEvent>::invoke (function_obj_ptr=
      {obj_ptr = 0x90b2b00, const_obj_ptr = 0x90b2b00, func_ptr = 0x90b2b00, data = ""}, a0=0x91598c8, a1=SOCK_READ)
    at function_template.hpp:136
    f = (
    boost::_bi::bind_t<void,boost::_mfi::mf2<void, Shell::ShellClient, SocketClient*, SocketEvent>,boost::_bi::list3<boost::_bi::value<Shell::ShellClient*>, boost::arg<1>, boost::arg<2> > > *) 0x90b2b00
#26 0x40538049 in boost::function2<void, SocketClient*, SocketEvent, std::allocator<void> >::operator() (
    this=0x9063878, a0=0x91598c8, a1=SOCK_READ) at function_template.hpp:576
No locals.
#27 0x40538232 in boost::_bi::list2<boost::_bi::value<SocketClient*>, boost::_bi::value<SocketEvent> >::operator()<boost::function<void ()(SocketClient*, SocketEvent), std::allocator<void> >, boost::_bi::list0> (this=0x9063884,
    f=@0x9063878, a=@0xbfffecb2) at bind.hpp:286
No locals.
#28 0x40538283 in boost::_bi::bind_t<boost::_bi::unspecified, boost::function<void ()(SocketClient*, SocketEvent), std::allocator<void> >, boost::_bi::list2<boost::_bi::value<SocketClient*>, boost::_bi::value<SocketEvent> > >::operator() (
    this=0x9063878) at bind_template.hpp:20
    a = {<No data fields>}
#29 0x405382ad in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<boost::_bi::unspecified, boost::function<void ()(SocketClient*, SocketEvent), std::allocator<void> >, boost::_bi::list2<boost::_bi::value<SocketClient*>, boost::_bi::value<SocketEvent> > >, void>::invoke (function_obj_ptr=
      {obj_ptr = 0x9063878, const_obj_ptr = 0x9063878, func_ptr = 0x9063878, data = "x"}) at function_template.hpp:136
    f = (
    boost::_bi::bind_t<boost::_bi::unspecified,boost::function<void ()(SocketClient*, SocketEvent), std::allocator<void> >,boost::_bi::list2<boost::_bi::value<SocketClient*>, boost::_bi::value<SocketEvent> > > *) 0x9063878
#30 0x40514eaf in boost::function0<void, std::allocator<void> >::operator() (this=0x8d2d888)
    at function_template.hpp:576
No locals.
#31 0x4051efcf in SocketWatcher::process (this=0x40596880) at hnbase/sockets.cpp:1009
    wfds = {fds_bits = {0 <repeats 32 times>}}
    efds = {fds_bits = {0 <repeats 32 times>}}
    curTick = 1140466816609
    tv = {tv_sec = 0, tv_usec = 50000}
    ret = 1
    rfds = {fds_bits = {16384, 0 <repeats 31 times>}}
    highest = 83
#32 0x404abb50 in EventMain::process (this=0x40596240) at hnbase/eventbase.cpp:48
    i = {_M_node = 0x86b7ef0}
#33 0x402487e7 in Hydranode::doLoop (this=0x403a9360) at hncore/hydranode.cpp:399
No locals.
#34 0x402494c5 in Hydranode::mainLoop (this=0x403a9360) at hncore/hydranode.cpp:390
No locals.
#35 0x4024fd96 in Hydranode::run (this=0x403a9360, argc=3, argv=0xbffff0b4) at hncore/hydranode.cpp:130
No locals.
#36 0x08049985 in main (argc=3, argv=0xbffff0b4) at hncore/main.cpp:48
No locals.
(gdb)

svn revision 2683