View Bug Details

IDProjectCategoryView StatusLast Update
0003052DCP-o-maticBugspublic2025-06-10 13:26
Reportercarl Assigned Tocarl  
PriorityurgentSeveritycrashReproducibilityalways
Status confirmedResolutionopen 
Target Version2.18.20 
Summary0003052: Hang when changing content video frame rate during playback
Description

Add files from bug 3051.
Set srt frame rate to 23.976 (on Linux this sets it to 23, another SNAFU with i18n)
Start playing
Set srt frame rate to 24
Hang

Additional Information

#0 0x00007f029bd996c2 in syscall_cancel_arch () at /lib64/libc.so.6
0000001 0x00007f029bd8d9da in
internal_syscall_cancel () at /lib64/libc.so.6
0000002 0x00007f029bd8e04c in __futex_abstimed_wait_common () at /lib64/libc.so.6
0000003 0x00007f029bd9071e in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libc.so.6
0000004 0x00007f02a4d84f43 in boost::posix::pthread_cond_wait (c=0x2ff04648, m=0x2ff04620) at /usr/include/boost/thread/pthread/pthread_helpers.hpp:112
0000005 boost::condition_variable_any::wait<boost::unique_lock<boost::mutex> > (this=0x2ff04620, m=...) at /usr/include/boost/thread/pthread/condition_variable.hpp:199
0000006 0x00007f02a33beb64 in Butler::get_video (this=0x2ff04300, behaviour=Butler::Behaviour::BLOCKING, e=0x7fff02480890) at ../src/lib/butler.cc:270
0000007 0x00007f02a50156a9 in VideoView::get_next_frame (this=0x2f937090, non_blocking=false) at ../src/wx/video_view.cc:78
0000008 0x00007f02a4f25d7d in SimpleVideoView::display_next_frame (this=0x2f937090, non_blocking=false) at ../src/wx/simple_video_view.cc:200
0000009 0x00007f02a4cf0fd7 in FilmViewer::seek (this=0x2fab88d8, t=..., accurate=true) at ../src/wx/film_viewer.cc:589
0000010 0x00007f02a4cf0a71 in FilmViewer::slow_refresh (this=0x2fab88d8) at ../src/wx/film_viewer.cc:519
0000011 0x00007f02a4cf0854 in FilmViewer::player_change (this=0x2fab88d8, properties=std::vector of length 1, capacity 1 = {...}) at ../src/wx/film_viewer.cc:480
0000012 0x00007f02a4cf06cc in FilmViewer::player_change (this=0x2fab88d8, type=ChangeType::DONE, property=803, frequent=false) at ../src/wx/film_viewer.cc:447
0000013 0x00007f02a4d0cc6f in boost::_mfi::mf3<void, FilmViewer, ChangeType, int, bool>::operator() (this=0x2ff05f00, p=0x2fab88d8, a1=ChangeType::DONE, a2=803, a3=false)
at /usr/include/boost/bind/mem_fn_template.hpp:393
0000014 0x00007f02a4d0aed2 in boost::_bi::list4<boost::_bi::value<FilmViewer>, boost::arg<1>, boost::arg<2>, boost::arg<3> >::operator()<boost::_mfi::mf3<void, FilmViewer, ChangeType, int, bool>, boost::_bi::rrlist3<ChangeType, int, bool> > (this=0x2ff05f10, f=..., a=...) at /usr/include/boost/bind/bind.hpp:443
0000015 0x00007f02a4d0897b in boost::_bi::bind_t<void, boost::_mfi::mf3<void, FilmViewer, ChangeType, int, bool>, boost::_bi::list4<boost::_bi::value<FilmViewer
>, boost::arg<1>, boost::arg<2>, boost::arg<3> > >::operator()<ChangeType, int, bool> (this=0x2ff05f00, a1=@0x7fff02480cf4: ChangeType::DONE, a2=@0x7fff02480cf0: 803, a3=@0x7fff02480cec: false)
at /usr/include/boost/bind/bind.hpp:1310
0000016 0x00007f02a4d06797 in boost::detail::function::void_function_obj_invoker3<boost::_bi::bind_t<void, boost::_mfi::mf3<void, FilmViewer, ChangeType, int, bool>, boost::_bi::list4<boost::_bi::value<FilmViewer>, boost::arg<1>, boost::arg<2>, boost::arg<3> > >, void, ChangeType, int, bool>::invoke (function_obj_ptr=..., a0=ChangeType::DONE, a1=803, a2=false)
at /usr/include/boost/function/function_template.hpp:158
0000017 0x00007f02a3832f18 in boost::function3<void, ChangeType, int, bool>::operator() (this=0x2ff05ef8, a0=ChangeType::DONE, a1=803, a2=false)
at /usr/include/boost/function/function_template.hpp:771
0000018 0x00007f02a3831b87 in boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void(ChangeType, int, bool)>, 0u, 1u, 2u, ChangeType&, int&, bool&> (this=0x7fff02480e0f, func=..., args=std::tuple containing = {...}) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:105
0000019 0x00007f02a382f477 in boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void(ChangeType, int, bool)>, ChangeType&, int&, bool&, 3ul> (this=0x7fff02480e0f, func=..., args=std::tuple containing = {...}) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:90
0000020 0x00007f02a382bf82 in boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, int, bool>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, int, bool), boost::function<void(ChangeType, int, bool)> >, boost::signals2::mutex> > > (this=0x7fff02481190, connectionBody=...) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:133
0000021 0x00007f02a38280a8 in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, int, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, int, bool), boost::function<void(ChangeType, int, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, int, bool), boost::function<void(ChangeType, int, bool)> >, boost::signals2::mutex> >::dereference (this=0x7fff02480ee0)
at /usr/include/boost/signals2/detail/slot_call_iterator.hpp:110
0000022 0x00007f02a382460e in boost::iterators::iterator_core_access::dereference<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, int, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, int, bool), boost::function<void(ChangeType, int, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, int, bool), boost::function<void(ChangeType, int, bool)> >, boost::signals2::mutex> > >
(f=...) at /usr/include/boost/iterator/iterator_facade.hpp:631
0000023 0x00007f02a381f3a8 in boost::iterators::detail::iterator_facade_base<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, int, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, int, bool), boost::function<void(ChangeType, int, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, int, bool), boost::function<void(ChangeType, int, bool)> >, boost::signals2::mutex> >, boost::signa--Type <RET> for more, q to quit, c to continue without paging--
0000024 0x00007f02a3818af3 in boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, int, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, int, bool), boost::function<void(ChangeType, int, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, int, bool), boost::function<void(ChangeType, int, bool)> >, boost::signals2::mutex> > >
(this=0x2feb4430, first=..., last=...) at /usr/include/boost/signals2/optional_last_value.hpp:57
0000025 0x00007f02a381344c in boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, int, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, int, bool), boost::function<void(ChangeType, int, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, int, bool), boost::function<void(ChangeType, int, bool)> >, boost::signals2::mutex> > > (this=0x7fff024811ff, combiner=..., first=..., last=...) at /usr/include/boost/signals2/detail/result_type_wrapper.hpp:64
0000026 0x00007f02a380d7b6 in boost::signals2::detail::signal_impl<void(ChangeType, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, int, bool)>, boost::signals2::mutex>::operator()
(this=0x2fd42d10, args#0=ChangeType::DONE, args#1=803, args#2=false) at /usr/include/boost/signals2/detail/signal_template.hpp:243
0000027 0x00007f02a3808445 in boost::signals2::signal<void(ChangeType, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, int, bool)>, boost::signals2::mutex>::operator() (this=0x2fab89c8, args#0=ChangeType::DONE, args#1=803, args#2=false)
at /usr/include/boost/signals2/detail/signal_template.hpp:722
0000028 0x00007f02a37f3a51 in Player::film_change (this=0x2fab89c8, type=ChangeType::DONE, p=FilmProperty::VIDEO_FRAME_RATE) at ../src/lib/player.cc:490
0000029 0x00007f02a382faaf in boost::_mfi::mf2<void, Player, ChangeType, FilmProperty>::operator() (this=0x2fefb830, p=0x2fab89c8, a1=ChangeType::DONE, a2=FilmProperty::VIDEO_FRAME_RATE)
at /usr/include/boost/bind/mem_fn_template.hpp:280
0000030 0x00007f02a382c79d in boost::_bi::list3<boost::_bi::value<Player
>, boost::arg<1>, boost::arg<2> >::operator()<boost::_mfi::mf2<void, Player, ChangeType, FilmProperty>, boost::_bi::rrlist2<ChangeType, FilmProperty> > (this=0x2fefb840, f=..., a=...) at /usr/include/boost/bind/bind.hpp:378
0000031 0x00007f02a38299c8 in boost::_bi::bind_t<void, boost::_mfi::mf2<void, Player, ChangeType, FilmProperty>, boost::_bi::list3<boost::_bi::value<Player>, boost::arg<1>, boost::arg<2> > >::operator()<ChangeType, FilmProperty> (this=0x2fefb830, a1=@0x7fff024813c4: ChangeType::DONE, a2=@0x7fff024813c0: FilmProperty::VIDEO_FRAME_RATE) at /usr/include/boost/bind/bind.hpp:1298
0000032 0x00007f02a382564a in boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, Player, ChangeType, FilmProperty>, boost::_bi::list3<boost::_bi::value<Player
>, boost::arg<1>, boost::arg<2> > >, void, ChangeType, FilmProperty>::invoke (function_obj_ptr=..., a0=ChangeType::DONE, a1=FilmProperty::VIDEO_FRAME_RATE)
at /usr/include/boost/function/function_template.hpp:158
0000033 0x00007f02a36c47f1 in boost::function2<void, ChangeType, FilmProperty>::operator() (this=0x2fefb828, a0=ChangeType::DONE, a1=FilmProperty::VIDEO_FRAME_RATE)
at /usr/include/boost/function/function_template.hpp:771
0000034 0x00007f02a36c24f9 in boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void(ChangeType, FilmProperty)>, 0u, 1u, ChangeType&, FilmProperty&> (this=0x7fff024814bf, func=..., args=std::tuple containing = {...}) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:105
0000035 0x00007f02a36bf145 in boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void(ChangeType, FilmProperty)>, ChangeType&, FilmProperty&, 2ul> (this=0x7fff024814bf, func=..., args=std::tuple containing = {...}) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:90
0000036 0x00007f02a36bbd02 in boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, FilmProperty>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, FilmProperty), boost::function<void(ChangeType, FilmProperty)> >, boost::signals2::mutex> > > (this=0x7fff02481830, connectionBody=...) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:133
0000037 0x00007f02a36b78fc in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, FilmProperty>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, FilmProperty), boost::function<void(ChangeType, FilmProperty)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, FilmProperty), boost::function<void(ChangeType, FilmProperty)> >, boost::signals2::mutex> >::dereference (this=0x7fff02481590)
at /usr/include/boost/signals2/detail/slot_call_iterator.hpp:110
0000039 0x00007f02a36ae0a0 in boost::iterators::detail::iterator_facade_base<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, FilmProperty>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, FilmProperty), boost::function<void(ChangeType, FilmProperty)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, FilmProperty), boost::function<void(ChangeType, FilmProperty)> >, boost::signals2::mutex> >, boost::signals2::detail::void_type, boost::iterators::single_pass_traversal_tag, boost::signals2::detail::void_type const&, long, false, false>::operator (this=0x7fff02481590)
at /usr/include/boost/iterator/iterator_facade.hpp:737
0000040 0x00007f02a36a7903 in boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, FilmProperty>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, FilmProperty), boost::function<void(ChangeType, FilmProperty)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, FilmProperty), boost::function<void(ChangeType, FilmProperty)> >, boost::signals2::mutex> > > (this=0x2fd74a00, first=..., last=...) at /usr/include/boost/signals2/optional_last_value.hpp:57
0000041 0x00007f02a36a044c in boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, FilmProperty>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, FilmProperty), boost::function<void(ChangeType, FilmProperty)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, FilmProperty), boost::function<void(ChangeType, FilmProperty)> >, boost::signals2::mutex> > > (this=0x7fff0248188f, combiner=..., first=..., last=...) at /usr/include/boost/signals2/detail/result_type_wrapper.hpp:64
0000042 0x00007f02a3699310 in boost::signals2::detail::signal_impl<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, FilmProperty)>, boost::function<void(boost::signals2::connection const&, ChangeType, FilmProperty)>, boost::signals2::mutex>::operator()
(this=0x2ff18e00, args#0=ChangeType::DONE, args#1=FilmProperty::VIDEO_FRAME_RATE) at /usr/include/boost/signals2/detail/signal_template.hpp:243
0000043 0x00007f02a3692d8b in boost::signals2::signal<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, FilmProperty)>, boost::function<void(boost::signals2::connection const&, ChangeType, FilmProperty)>, boost::signals2::mutex>::operator()
(this=0x2ff4b748, args#0=ChangeType::DONE, args#1=FilmProperty::VIDEO_FRAME_RATE) at /usr/include/boost/signals2/detail/signal_template.hpp:722
0000044 0x00007f02a36a7041 in boost::_bi::list2<boost::_bi::value<ChangeType>, boost::_bi::value<FilmProperty> >::operator()<boost::reference_wrapper<boost::signals2::signal<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, FilmProperty)>, boost::function<void(boost::signals2::connection const&, ChangeType, FilmProperty)>, boost::signals2::mutex> >, boost::_bi::list0> (this=0x303c4980, f=..., a=...) at /usr/include/boost/bind/bind.hpp:299
0000045 0x00007f02a369fc2b in boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, FilmProperty)>, boost::function<void(boost::signals2::connection const&, ChangeType, FilmProperty)>, boost::signals2::mutex> >, boost::_bi::list2<boost::_bi::value<ChangeType>, boost::_bi::value<FilmProperty> > >::operator() (this=0x303c4978) at /usr/include/boost/bind/bind.hpp:1274
0000046 0x00007f02a3698bc0 in Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, FilmProperty)>, boost::function<void(boost::signals2::connection const&, ChangeType, FilmProperty)>, boost::signals2::mutex> >, boost::_bi::list2<boost::_bi::value<ChangeType>, boost::_bi::value<FilmProperty> > > >::signal (this=0x303c4940) at ../src/lib/signaller.h:84
0000047 0x00007f02a36ad6ee in boost::_mfi::mf0<void, Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, FilmProperty)>, boost::function<void(boost::signals2::connection const&, ChangeType, FilmProperty)>, boost::signals2::mutex> >, boost::_bi::list2<boost::_bi::value<ChangeType>, boost::_bi::value<FilmProperty> > > > >::operator() (this=0x7fff02481a90, p=0x303c4940)
at /usr/include/boost/bind/mem_fn_template.hpp:49
0000048 0x00007f02a36a70b3 in boost::_bi::list1<boost::_bi::value<Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, FilmProperty)>, boost::function<void(boost::signals2::connection const&, ChangeType, FilmProperty)>, boost::signals2::mutex> >, boost::_bi::list2<boost::_bi::value<ChangeType>, boost::_bi::value<FilmProperty> > > >
> >::operator()<boost::_mfi::mf0<void, Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, FilmProperty)>, boost::function<void(boost::signals2::connection const&, ChangeType, FilmProperty)>, boost::signals2::mutex> >, boost::_bi::list2<boost::_bi::value<ChangeType>, boost::_bi::value<FilmProperty> > > > >, boost::_bi::list0> (this=0x7fff02481aa0, f=..., a=...) at /usr/include/boost/bind/bind.hpp:239
0000049 0x00007f02a369fd29 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, FilmProperty)>, boost::function<void(boost::signals2::connection const&, ChangeType, FilmProperty)>, boost::signals2::mutex> >, boost::_bi::list2<boost::_bi::value<ChangeType>, boost::_bi::value<FilmProperty> > > > >, boost::_bi::list1<boost::_bi::value<Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::
0000050 0x00007f02a3698cb4 in SignalManager::emit<boost::_bi::bind_t<void, boost::_mfi::mf0<void, Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, FilmProperty)>, boost::function<void(boost::signals2::connection const&, ChangeType, FilmProperty)>, boost::signals2::mutex> >, boost::_bi::list2<boost::_bi::value<ChangeType>, boost::_bi::value<FilmProperty> > > > >, boost::_bi::list1<boost::_bi::value<Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, FilmProperty)>, boost::function<void(boost::signals2::connection const&, ChangeType, FilmProperty)>, boost::signals2::mutex> >, boost::_bi::list2<boost::_bi::value<ChangeType>, boost::_bi::value<FilmProperty> > > >> > > > (this=0x2ff14110, f=...) at ../src/lib/signal_manager.h:84
0000051 0x00007f02a36927a4 in Signaller::emit<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, FilmProperty), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, FilmProperty)>, boost::function<void(boost::signals2::connection const&, ChangeType, FilmProperty)>, boost::signals2::mutex> >, boost::_bi::list2<boost::_bi::value<ChangeType>, boost::_bi::value<FilmProperty> > > > (this=0x2ff4b6f0, signal=...) at ../src/lib/signaller.h:114
0000052 0x00007f02a367fe22 in Film::signal_change (this=0x2ff4b6f0, type=ChangeType::DONE, p=FilmProperty::VIDEO_FRAME_RATE) at ../src/lib/film.cc:1319
0000053 0x00007f02a3698952 in ChangeSignalDespatcher<Film, FilmProperty>::signal_change (this=0x2ff0a590, signal=...) at ../src/lib/change_signaller.h:76
0000054 0x00007f02a3692598 in ChangeSignaller<Film, FilmProperty>::~ChangeSignaller (this=0x7fff02481c90) at ../src/lib/change_signaller.h:131
0000055 0x00007f02a367f944 in Film::set_video_frame_rate (this=0x2ff4b6f0, f=24, user_explicit=false) at ../src/lib/film.cc:1216
0000056 0x00007f02a367fdc2 in Film::signal_change (this=0x2ff4b6f0, type=ChangeType::DONE, p=FilmProperty::CONTENT) at ../src/lib/film.cc:1315
0000057 0x00007f02a3682911 in Film::playlist_content_change (this=0x2ff4b6f0, type=ChangeType::DONE, c=std::weak_ptr<Content> (use count 11, weak count 12) = {...}, p=405, frequent=false)
at ../src/lib/film.cc:1576
0000058 0x00007f02a36c1b24 in boost::_mfi::mf4<void, Film, ChangeType, std::weak_ptr<Content>, int, bool>::operator()
(this=0x2ff0dea0, p=0x2ff4b6f0, a1=ChangeType::DONE, a2=std::weak_ptr<Content> (use count 11, weak count 12) = {...}, a3=405, a4=false) at /usr/include/boost/bind/mem_fn_template.hpp:506
0000059 0x00007f02a36be68c in boost::_bi::list5<boost::_bi::value<Film
>, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> >::operator()<boost::_mfi::mf4<void, Film, ChangeType, std::weak_ptr<Content>, int, bool>, boost::_bi::rrlist4<ChangeType, std::weak_ptr<Content>, int, bool> > (this=0x2ff0deb0, f=..., a=...) at /usr/include/boost/bind/bind.hpp:511
0000060 0x00007f02a36ba79a in boost::_bi::bind_t<void, boost::_mfi::mf4<void, Film, ChangeType, std::weak_ptr<Content>, int, bool>, boost::_bi::list5<boost::_bi::value<Film>, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >::operator()<ChangeType, std::weak_ptr<Content>, int, bool>
(this=0x2ff0dea0, a1=@0x7fff02481f44: ChangeType::DONE, a2=..., a3=@0x7fff02481f40: 405, a4=@0x7fff02481f34: false) at /usr/include/boost/bind/bind.hpp:1322
0000061 0x00007f02a36b62ef in boost::detail::function::void_function_obj_invoker4<boost::_bi::bind_t<void, boost::_mfi::mf4<void, Film, ChangeType, std::weak_ptr<Content>, int, bool>, boost::_bi::list5<boost::_bi::value<Film
>, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >, void, ChangeType, std::weak_ptr<Content>, int, bool>::invoke
(function_obj_ptr=..., a0=ChangeType::DONE, a1=std::weak_ptr<Content> (empty) = {...}, a2=405, a3=false) at /usr/include/boost/function/function_template.hpp:158
0000062 0x00007f02a3493bf4 in boost::function4<void, ChangeType, std::weak_ptr<Content>, int, bool>::operator()
(this=0x2ff0de98, a0=ChangeType::DONE, a1=std::weak_ptr<Content> (empty) = {...}, a2=405, a3=false) at /usr/include/boost/function/function_template.hpp:771
0000063 0x00007f02a349388b in boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, 0u, 1u, 2u, 3u, ChangeType&, std::weak_ptr<Content>&, int&, bool&> (this=0x7fff0248208f, func=..., args=std::tuple containing = {...})
at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:105
0000064 0x00007f02a349346d in boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, ChangeType&, std::weak_ptr<Content>&, int&, bool&, 4ul> (this=0x7fff0248208f, func=..., args=std::tuple containing = {...}) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:90
0000065 0x00007f02a3492dd8 in boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, std::weak_ptr<Content>, int, bool>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> > > (this=0x7fff02482410, connectionBody=...)
at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:133
0000066 0x00007f02a349234a in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, std::weak_ptr<Content>, int, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> >::dereference (this=0x7fff02482160) at /usr/include/boost/signals2/detail/slot_call_iterator.hpp:110
0000067 0x00007f02a3491ab2 in boost::iterators::iterator_core_access::dereference<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, std::weak_ptr<Content>, int, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2
0000071 0x00007f02a348de86 in boost::signals2::detail::signal_impl<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex>::operator() (this=0x2fcacfe0, args#0=ChangeType::DONE, args#1=std::weak_ptr<Content> (use count 11, weak count 12) = {...}, args#2=405, args#3=false)
at /usr/include/boost/signals2/detail/signal_template.hpp:243
0000072 0x00007f02a348cd07 in boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex>::operator()
(this=0x2fec6178, args#0=ChangeType::DONE, args#1=std::weak_ptr<Content> (use count 11, weak count 12) = {...}, args#2=405, args#3=false)
at /usr/include/boost/signals2/detail/signal_template.hpp:722
0000073 0x00007f02a383f7ac in Playlist::content_change
(this=0x2fec6130, weak_film=std::weak_ptr<const Film> (use count 14, weak count 10) = {...}, type=ChangeType::DONE, content=std::weak_ptr<Content> (use count 11, weak count 12) = {...}, property=405, frequent=false) at ../src/lib/playlist.cc:137
0000074 0x00007f02a384c70f in boost::_mfi::mf5<void, Playlist, std::weak_ptr<Film const>, ChangeType, std::weak_ptr<Content>, int, bool>::operator()
(this=0x305c0f30, p=0x2fec6130, a1=std::weak_ptr<const Film> (use count 14, weak count 10) = {...}, a2=ChangeType::DONE, a3=std::weak_ptr<Content> (use count 11, weak count 12) = {...}, a4=405, a5=false) at /usr/include/boost/bind/mem_fn_template.hpp:619
0000075 0x00007f02a384c45e in boost::_bi::list6<boost::_bi::value<Playlist>, boost::_bi::value<std::shared_ptr<Film const> >, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> >::operator()<boost::_mfi::mf5<void, Playlist, std::weak_ptr<Film const>, ChangeType, std::weak_ptr<Content>, int, bool>, boost::_bi::rrlist4<ChangeType, std::weak_ptr<Content>, int, bool> >
(this=0x305c0f40, f=..., a=...) at /usr/include/boost/bind/bind.hpp:582
0000076 0x00007f02a384c046 in boost::_bi::bind_t<void, boost::_mfi::mf5<void, Playlist, std::weak_ptr<Film const>, ChangeType, std::weak_ptr<Content>, int, bool>, boost::_bi::list6<boost::_bi::value<Playlist
>, boost::_bi::value<std::shared_ptr<Film const> >, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >::operator()<ChangeType, std::weak_ptr<Content>, int, bool>
(this=0x305c0f30, a1=@0x7fff024827e4: ChangeType::DONE, a2=..., a3=@0x7fff024827e0: 405, a4=@0x7fff024827d4: false) at /usr/include/boost/bind/bind.hpp:1322
0000077 0x00007f02a384bc7d in boost::detail::function::void_function_obj_invoker4<boost::_bi::bind_t<void, boost::_mfi::mf5<void, Playlist, std::weak_ptr<Film const>, ChangeType, std::weak_ptr<Content>, int, bool>, boost::_bi::list6<boost::_bi::value<Playlist>, boost::_bi::value<std::shared_ptr<Film const> >, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >, void, ChangeType, std::weak_ptr<Content>, int, bool>::invoke (function_obj_ptr=..., a0=ChangeType::DONE, a1=std::weak_ptr<Content> (empty) = {...}, a2=405, a3=false)
at /usr/include/boost/function/function_template.hpp:158
0000078 0x00007f02a3493bf4 in boost::function4<void, ChangeType, std::weak_ptr<Content>, int, bool>::operator()
--Type <RET> for more, q to quit, c to continue without paging--
(this=0x7f017c006ea8, a0=ChangeType::DONE, a1=std::weak_ptr<Content> (empty) = {...}, a2=405, a3=false) at /usr/include/boost/function/function_template.hpp:771
0000079 0x00007f02a349388b in boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, 0u, 1u, 2u, 3u, ChangeType&, std::weak_ptr<Content>&, int&, bool&> (this=0x7fff0248292f, func=..., args=std::tuple containing = {...})
at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:105
0000080 0x00007f02a349346d in boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, ChangeType&, std::weak_ptr<Content>&, int&, bool&, 4ul> (this=0x7fff0248292f, func=..., args=std::tuple containing = {...}) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:90
0000081 0x00007f02a3492dd8 in boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, std::weak_ptr<Content>, int, bool>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> > > (this=0x7fff02482cb0, connectionBody=...)
at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:133
0000082 0x00007f02a349234a in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, std::weak_ptr<Content>, int, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> >::dereference (this=0x7fff02482a00) at /usr/include/boost/signals2/detail/slot_call_iterator.hpp:110
0000083 0x00007f02a3491ab2 in boost::iterators::iterator_core_access::dereference<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, std::weak_ptr<Content>, int, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> > > (f=...) at /usr/include/boost/iterator/iterator_facade.hpp:631
0000084 0x00007f02a3490fe8 in boost::iterators::detail::iterator_facade_base<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, std::weak_ptr<Content>, int, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> >, boost::signals2::detail::void_type, boost::iterators::single_pass_traversal_tag, boost::signals2::detail::void_type const&, long, false, false>::operator
(this=0x7fff02482a00) at /usr/include/boost/iterator/iterator_facade.hpp:737
0000085 0x00007f02a349004b in boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, std::weak_ptr<Content>, int, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> > > (this=0x303afec0, first=..., last=...)
at /usr/include/boost/signals2/optional_last_value.hpp:57
0000086 0x00007f02a348f010 in boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, ChangeType, std::weak_ptr<Content>, int, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)> >, boost::signals2::mutex> > >
(this=0x7fff02482d2f, combiner=..., first=..., last=...) at /usr/include/boost/signals2/detail/result_type_wrapper.hpp:64
0000087 0x00007f02a348de86 in boost::signals2::detail::signal_impl<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex>::operator() (this=0x303bb780, args#0=ChangeType::DONE, args#1=std::weak_ptr<Content> (use count 11, weak count 12) = {...}, args#2=405, args#3=false)
at /usr/include/boost/signals2/detail/signal_template.hpp:243
0000088 0x00007f02a348cd07 in boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex>::operator()
(this=0x30398168, args#0=ChangeType::DONE, args#1=std::weak_ptr<Content> (use count 11, weak count 12) = {...}, args#2=405, args#3=false)
at /usr/include/boost/signals2/detail/signal_template.hpp:722
--Type <RET> for more, q to quit, c to continue without paging--
0000089 0x00007f02a34901c1 in boost::_bi::list4<boost::_bi::value<ChangeType>, boost::_bi::value<std::shared_ptr<Content> >, boost::_bi::value<int>, boost::_bi::value<bool> >::operator()<boost::reference_wrapper<boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex> >, boost::_bi::list0>
(this=0x313baf10, f=..., a=...) at /usr/include/boost/bind/bind.hpp:443
0000090 0x00007f02a348f0db in boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex> >, boost::_bi::list4<boost::_bi::value<ChangeType>, boost::_bi::value<std::shared_ptr<Content> >, boost::_bi::value<int>, boost::_bi::value<bool> > >::operator() (this=0x313baf08) at /usr/include/boost/bind/bind.hpp:1274
0000091 0x00007f02a348e0aa in Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex> >, boost::_bi::list4<boost::_bi::value<ChangeType>, boost::_bi::value<std::shared_ptr<Content> >, boost::_bi::value<int>, boost::_bi::value<bool> > > >::signal (this=0x313baed0) at ../src/lib/signaller.h:84
0000092 0x00007f02a3491160 in boost::_mfi::mf0<void, Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex> >, boost::_bi::list4<boost::_bi::value<ChangeType>, boost::_bi::value<std::shared_ptr<Content> >, boost::_bi::value<int>, boost::_bi::value<bool> > > > >::operator() (this=0x7fff02482f80, p=0x313baed0) at /usr/include/boost/bind/mem_fn_template.hpp:49
0000093 0x00007f02a349025b in boost::_bi::list1<boost::_bi::value<Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex> >, boost::_bi::list4<boost::_bi::value<ChangeType>, boost::_bi::value<std::shared_ptr<Content> >, boost::_bi::value<int>, boost::_bi::value<bool> > > >> >::operator()<boost::_mfi::mf0<void, Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex> >, boost::_bi::list4<boost::_bi::value<ChangeType>, boost::_bi::value<std::shared_ptr<Content> >, boost::_bi::value<int>, boost::_bi::value<bool> > > > >, boost::_bi::list0> (this=0x7fff02482f90, f=..., a=...)
at /usr/include/boost/bind/bind.hpp:239
0000094 0x00007f02a348f1d9 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex> >, boost::_bi::list4<boost::_bi::value<ChangeType>, boost::_bi::value<std::shared_ptr<Content> >, boost::_bi::value<int>, boost::_bi::value<bool> > > > >, boost::_bi::list1<boost::_bi::value<Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex> >, boost::_bi::list4<boost::_bi::value<ChangeType>, boost::_bi::value<std::shared_ptr<Content> >, boost::_bi::value<int>, boost::_bi::value<bool> > > >
> > >::operator() (this=0x7fff02482f80) at /usr/include/boost/bind/bind.hpp:1274
0000095 0x00007f02a348e19e in SignalManager::emit<boost::_bi::bind_t<void, boost::_mfi::mf0<void, Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex> >, boost::_bi::list4<boost::_bi::value<ChangeType>, boost::_bi::value<std::shared_ptr<Content> >, boost::_bi::value<int>, boost::_bi::value<bool> > > > >, boost::_bi::list1<boost::_bi::value<Wrapper<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex> >, boost::_bi::list4<boost::_bi::value<ChangeType>, boost::_bi::value<std::shared_ptr<Content> >, boost::_bi::value<int>, boost::_bi::value<bool> > > >> > > > (this=0x2ff14110, f=...)
at ../src/lib/signal_manager.h:84
0000096 0x00007f02a348d047 in Signaller::emit<boost::_bi::bind_t<boost::_bi::unspecified, boost::reference_wrapper<boost::signals2::signal<void(ChangeType, std::weak_ptr<Content>, int, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ChangeType, std::weak_ptr<Content>, int, bool)>, boost::function<void(boost::signals2::connection const&, ChangeType, std::weak_ptr<Content>, int, bool)>, boost::signals2::mutex> >, boost::_bi::list4<boost::_bi::value<ChangeType>, boost::_bi::value<std::shared_ptr<Content> >, boost::_bi::value<int>, boost::_bi::value<bool> > > > (this=0x30398110, signal=...) at ../src/lib/signaller.h:114
0000097 0x00007f02a3485f7f in Content::signal_change (this=0x30398110, c=ChangeType::DONE, p=405) at ../src/lib/content.cc:198
0000098 0x00007f02a32fed36 in ChangeSignalDespatcher<Content, int>::signal_change (this=0x7f018c000c60, signal=...) at ../src/lib/change_signaller.h:76
0000099 0x00007f02a32fe97c in ChangeSignaller<Content, int>::~ChangeSignaller (this=0x7fff024831d0) at ../src/lib/change_signaller.h:131
--Type <RET> for more, q to quit, c to continue without paging--
0000100 0x00007f02a3487760 in Content::set_video_frame_rate (this=0x30398110, film=std::shared_ptr<const Film> (use count 14, weak count 10) = {...}, r=24) at ../src/lib/content.cc:410
0000101 0x00007f02a4bb5895 in ContentMenu::advanced (this=0x2fb6f3a0) at ../src/wx/content_menu.cc:509
0000102 0x00007f02a4bcc170 in boost::_mfi::mf0<void, ContentMenu>::operator() (this=0x2fb80868, p=0x2fb6f3a0) at /usr/include/boost/bind/mem_fn_template.hpp:49
0000103 0x00007f02a4bcbfd3 in boost::_bi::list1<boost::_bi::value<ContentMenu
> >::operator()<boost::_mfi::mf0<void, ContentMenu>, boost::_bi::rrlist1<wxCommandEvent&> >

TagsNo tags attached.
Branch
Estimated weeks required
Estimated work required

Activities

carl

2025-06-10 13:26

administrator   ~0007013

Butler is suspended, the content FR change triggers an unnecessary film FR change but I think it should still not hang.

Bug History

Date Modified Username Field Change
2025-06-10 13:25 carl New Bug
2025-06-10 13:26 carl Note Added: 0007013
2025-06-10 13:26 carl Assigned To => carl
2025-06-10 13:26 carl Status new => confirmed