system.method.set_key = \
event.download.finished, \
move_complete, \
"d.set_directory=/usr/home/user/f/;execute=mv,-n,$d.get_base_path=,/usr/home/user/f/"
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 28b01140 (LWP 100092)]
torrent::Tracker::failed_counter (this=0x0) at tracker.h:114
114 uint32_t failed_counter() const {return m_failed_counter; }
(gdb) info threads
4 Thread 28ce5340 (LWP 100162) 0x28a87b7b in kevent () from /lib/libc.so.7
3 Thread 28ce7140 (LWP 100161) 0x28a87b7b in kevent () from /lib/libc.so.7
* 2 Thread 28b01140 (LWP 100092) torrent::Tracker::failed_counter (this=0x0) at tracker.h:114
(gdb) thread 2
[Switching to thread 2 (Thread 28b01140 (LWP 100092))]
#0 torrent::Tracker::failed_counter (this=0x0) at tracker.h:114
114 uint32_t failed_counter() const {return m_failed_counter; }
(gdb) bt
#0 torrent::Tracker::failed_counter (this=0x0) at tracker.h:114
#1 0x081fcdef in torrent::TrackerController::do_timeout (this=0x2a7fee80) at tracker_controller.cc:444
#2 0x081ffbc3 in std::tr1::_Mem_fn<void (torrent::TrackerController::*)()>::operator() (this=0x2a6ff3b0, __object=0x2a7fee80) at functional_iterate.h:214
#3 0x081ffb55 in std::tr1::_Bind<std::tr1::_Mem_fn<void (torrent::TrackerController::*)()> ()(torrent::TrackerController*)>::operator() (this=0x2a6ff3b0) at bind_iterate.h:45
#4 0x081ff83f in std::tr1::_Function_handler<void ()(), std::tr1::_Bind<std::tr1::_Mem_fn<void (torrent::TrackerController::*)()> ()(torrent::TrackerController*)>>::_M_invoke (__functor=@0x29bfff78) at functional_iterate.h:502
#5 0x0805bc76 in std::tr1::function<void ()()>::operator() (this=0x29bfff78) at functional_iterate.h:865
#6 0x082d5120 in torrent::thread_main::call_events (this=0x28bc7380) at thread_main.cc:79
#7 0x0825453b in torrent::thread_base::event_loop (thread=0x28bc7380) at thread_base.cc:114
#8 0x080543af in main (argc=0x1, argv=0xbfbfe790) at main.cc:872
(gdb) thread 3
[Switching to thread 3 (Thread 28ce7140 (LWP 100161))]#0 0x28a87b7b in kevent () from /lib/libc.so.7
(gdb) bt
#0 0x28a87b7b in kevent () from /lib/libc.so.7
#1 0x081f02b9 in torrent::PollKQueue::poll (this=0x28b273d0, msec=0x2711) at poll_kqueue.cc:166
#2 0x081f0791 in torrent::PollKQueue::do_poll (this=0x28b273d0, timeout_usec=0x989680, flags=0x1) at poll_kqueue.cc:258
#3 0x082546eb in torrent::thread_base::event_loop (thread=0x28bc7700) at thread_base.cc:144
#4 0x284ce77f in pthread_getprio () from /lib/libthr.so.3
#5 0x00000000 in ?? ()
(gdb) thread 4
[Switching to thread 4 (Thread 28ce5340 (LWP 100162))]#0 0x28a87b7b in kevent () from /lib/libc.so.7
(gdb) bt
#0 0x28a87b7b in kevent () from /lib/libc.so.7
#1 0x081f02b9 in torrent::PollKQueue::poll (this=0x28b27100, msec=0x927c1) at poll_kqueue.cc:166
#2 0x081f0791 in torrent::PollKQueue::do_poll (this=0x28b27100, timeout_usec=0x23c34600, flags=0x1) at poll_kqueue.cc:258
#3 0x082546eb in torrent::thread_base::event_loop (thread=0x28b85200) at thread_base.cc:144
#4 0x284ce77f in pthread_getprio () from /lib/libthr.so.3
#5 0x00000000 in ?? ()
(gdb) c
Continuing.
Caught Segmentation fault, dumping stack:
Stack dump not enabled.
Program received signal SIGABRT, Aborted.
0x289fc6db in thr_kill () from /lib/libc.so.7
(gdb) bt
#0 0x289fc6db in thr_kill () from /lib/libc.so.7
#1 0x284d4956 in pthread_kill () from /lib/libthr.so.3
#2 0x284d23d3 in raise () from /lib/libthr.so.3
#3 0x28a9f7aa in abort () from /lib/libc.so.7
#4 0x080545e9 in do_panic (signum=0xb) at main.cc:999
#5 0x08057231 in sigc::pointer_functor1<int, void>::operator() (this=0x28b272a0, _A_a1=@0x28b272a4) at ptr_fun.h:111
#6 0x080571f9 in sigc::adaptor_functor<sigc::pointer_functor1<int, void> >::operator()<int&> (this=0x28b2729c, _A_arg1=@0x28b272a4) at adaptor_trait.h:84
#7 0x080571c6 in sigc::bind_functor<-1, sigc::pointer_functor1<int, void>, int, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator() (this=0x28b27298) at bind.h:1110
#8 0x08057182 in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::pointer_functor1<int, void>, int, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0x28b27280) at slot.h:103
#9 0x080c7fe6 in sigc::slot0<void>::operator() (this=0x845bec4) at slot.h:440
#10 0x080c9fea in SignalHandler::caught (signum=0xb) at signal_handler.cc:99
#11 <signal handler called>
#12 torrent::Tracker::failed_counter (this=0x0) at tracker.h:114
#13 0x081fcdef in torrent::TrackerController::do_timeout (this=0x2a7fee80) at tracker_controller.cc:444
#14 0x081ffbc3 in std::tr1::_Mem_fn<void (torrent::TrackerController::*)()>::operator() (this=0x2a6ff3b0, __object=0x2a7fee80) at functional_iterate.h:214
#15 0x081ffb55 in std::tr1::_Bind<std::tr1::_Mem_fn<void (torrent::TrackerController::*)()> ()(torrent::TrackerController*)>::operator() (this=0x2a6ff3b0) at bind_iterate.h:45
#16 0x081ff83f in std::tr1::_Function_handler<void ()(), std::tr1::_Bind<std::tr1::_Mem_fn<void (torrent::TrackerController::*)()> ()(torrent::TrackerController*)>>::_M_invoke (__functor=@0x29bfff78) at functional_iterate.h:502
#17 0x0805bc76 in std::tr1::function<void ()()>::operator() (this=0x29bfff78) at functional_iterate.h:865
#18 0x082d5120 in torrent::thread_main::call_events (this=0x28bc7380) at thread_main.cc:79
#19 0x0825453b in torrent::thread_base::event_loop (thread=0x28bc7380) at thread_base.cc:114
#20 0x080543af in main (argc=0x1, argv=0xbfbfe790) at main.cc:872
If I remove mv event everything is fine. Is my event logic bad?
The system is a FreeBSD 8.2 32bit and executable compiled with clang 3.0.