do-not-directly-run-imprudence-bin: ir.h:928: ir_call::ir_call(ir_function_signature*, exec_list*): Assertion `callee->return_type != __null' failed. Program received signal SIGABRT, Aborted. 0x00007ffff138b775 in raise () from /lib/libc.so.6 (gdb) bt #0 0x00007ffff138b775 in raise () from /lib/libc.so.6 #1 0x00007ffff138caff in abort () from /lib/libc.so.6 #2 0x00007ffff13846bd in __assert_fail () from /lib/libc.so.6 #3 0x00007fffea72a5fe in ir_call (this=0x7fffe7d9c560, mem_ctx=, ht=0x7fffe7cb0330) at ir.h:928 #4 ir_call::clone (this=0x7fffe7d9c560, mem_ctx=, ht=0x7fffe7cb0330) at ir_clone.cpp:158 #5 0x00007fffea729c69 in ir_assignment::clone (this=0x7fffe7d9c600, mem_ctx=0x7fffe7e4d800, ht=0x7fffe7cb0330) at ir_clone.cpp:253 #6 0x00007fffea67f20c in ir_call::generate_inline (this=, next_ir=) at opt_function_inlining.cpp:185 #7 0x00007fffea67f573 in ir_function_inlining_visitor::visit_enter (this=0x7fffffffbf50, ir=0x7fffe7caf620) at opt_function_inlining.cpp:313 #8 0x00007fffea733d1f in ir_assignment::accept (this=0x7fffe7caf620, v=0x7fffffffbf50) at ir_hv_accept.cpp:276 #9 0x00007fffea7337ed in visit_list_elements (v=0x7fffffffbf50, l=) at ir_hv_accept.cpp:48 #10 0x00007fffea73396d in ir_function_signature::accept (this=0x7fffe7bee6e0, v=0x7fffffffbf50) at ir_hv_accept.cpp:120 #11 0x00007fffea7337ed in visit_list_elements (v=0x7fffffffbf50, l=) at ir_hv_accept.cpp:48 #12 0x00007fffea7339dc in ir_function::accept (this=0x7fffe7bee640, v=0x7fffffffbf50) at ir_hv_accept.cpp:132 #13 0x00007fffea7337ed in visit_list_elements (v=0x7fffffffbf50, l=) at ir_hv_accept.cpp:48 #14 0x00007fffea67eedb in do_function_inlining (instructions=0x7fffe7f5cac0) at opt_function_inlining.cpp:84 #15 0x00007fffea673f6d in do_common_optimization (ir=0x7fffe7f5cac0, linked=true, max_unroll_iterations=32) at glsl_parser_extras.cpp:714 #16 0x00007fffea73cb3b in link_shaders (ctx=0x3327a60, prog=0x7fffe7c93af0) at linker.cpp:1605 #17 0x00007fffea70b783 in _mesa_glsl_link_shader (ctx=0x3327a60, prog=0x7fffe7c93af0) at program/ir_to_mesa.cpp:3051 #18 0x00000000016e8769 in LLShaderMgr::linkProgramObject (this=0x7fffe48ca9f0, obj=23, suppress_errors=0) at /home/aidan/src/imprudence-new-backport/linden/indra/llrender/llshadermgr.cpp:447 #19 0x00000000016d528e in LLGLSLShader::link (this=0x24b7f00, suppress_errors=0) at /home/aidan/src/imprudence-new-backport/linden/indra/llrender/llglslshader.cpp:343 #20 0x00000000016d46bd in LLGLSLShader::mapAttributes (this=0x24b7f00, attributes=0x0) at /home/aidan/src/imprudence-new-backport/linden/indra/llrender/llglslshader.cpp:202 #21 0x00000000016d40f7 in LLGLSLShader::createShader (this=0x24b7f00, attributes=0x0, uniforms=0x7fffe48caac0) at /home/aidan/src/imprudence-new-backport/linden/indra/llrender/llglslshader.cpp:140 #22 0x00000000012d343e in LLViewerShaderMgr::loadShadersEnvironment (this=0x7fffe48ca9f0) ---Type to continue, or q to quit--- at /home/aidan/src/imprudence-new-backport/linden/indra/newview/llviewershadermgr.cpp:619 #23 0x00000000012d171d in LLViewerShaderMgr::setShaders (this=0x7fffe48ca9f0) at /home/aidan/src/imprudence-new-backport/linden/indra/newview/llviewershadermgr.cpp:375 #24 0x0000000001175681 in handleSetShaderChanged (newvalue=...) at /home/aidan/src/imprudence-new-backport/linden/indra/newview/llviewercontrol.cpp:120 #25 0x0000000000a4193b in bool boost::_bi::list1 >::operator() >(boost::_bi::type, bool (*&)(LLSD const&), boost::_bi::list2&, long) () #26 0x0000000000a41426 in bool boost::_bi::bind_t > >::operator()(LLControlVariable*&, LLSD const&) () #27 0x0000000000a406a5 in boost::detail::function::void_function_obj_invoker2 > >, void, LLControlVariable*, LLSD const&>::invoke(boost::detail::function::function_buffer&, LLControlVariable*, LLSD const&) () #28 0x000000000131478a in boost::function2::operator() (this=0x26f7e78, a0=0x28a7690, a1=...) at /usr/include/boost-1_42/boost/function/function_template.hpp:1013 #29 0x00000000013146e3 in boost::signals2::detail::signal2_impl, int, std::less, boost::function, boost::function, boost::signals2::mutex>::slot_invoker::m_invoke(const boost::shared_ptr >, boost::signals2::slot2 >, boost::signals2::mutex> > &, const boost::signals2::detail::void_type *) const (this=0x7fffffffc8e0, connectionBody=...) at /usr/include/boost-1_42/boost/signals2/detail/signal_template.hpp:351 #30 0x0000000001314681 in boost::signals2::detail::signal2_impl, int, std::less, boost::function, boost::function, boost::signals2::mutex>::slot_invoker::operator()(const boost::shared_ptr >, boost::signals2::slot2 >, boost::signals2::mutex> > &) const (this=0x7fffffffc8e0, connectionBody=...) at /usr/include/boost-1_42/boost/signals2/detail/signal_template.hpp:340 #31 0x0000000001314417 in boost::signals2::detail::slot_call_iterator_t, int, std::less, boost::function to continue, or q to quit--- onst LLSD&)>, boost::function, boost::signals2::mutex>::slot_invoker, std::_List_iterator >, boost::signals2::slot2 >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot2 >, boost::signals2::mutex> >::dereference(void) const (this=0x7fffffffc760) at /usr/include/boost-1_42/boost/signals2/detail/slot_call_iterator.hpp:82 #32 0x000000000131402a in boost::iterator_core_access::dereference, int, std::less, boost::function, boost::function, boost::signals2::mutex>::slot_invoker, std::_List_iterator >, boost::signals2::slot2 >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot2 >, boost::signals2::mutex> > >(const boost::signals2::detail::slot_call_iterator_t, int, std::less, boost::function, boost::function, boost::signals2::mutex>::slot_invoker, std::_List_iterator >, boost::signals2::slot2 >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot2 >, boost::signals2::mutex> > &) (f=...) at /usr/include/boost-1_42/boost/iterator/iterator_facade.hpp:516 #33 0x0000000001313d42 in boost::iterator_facade, int, std::less, boost::function, boost::function, boost::signals2::mutex>::slot_invoker, std::_List_iterator >, boost::signals2::slot2 >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot2 >, boost::signals2::mutex> >, boost::signals2::detail::void_ty---Type to continue, or q to quit--- pe, boost::single_pass_traversal_tag, const boost::signals2::detail::void_type&, long int>::operator*(void) const ( this=0x7fffffffc760) at /usr/include/boost-1_42/boost/iterator/iterator_facade.hpp:634 #34 0x0000000001313708 in boost::signals2::optional_last_value::operator(), int, std::less, boost::function, boost::function, boost::signals2::mutex>::slot_invoker, std::_List_iterator >, boost::signals2::slot2 >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot2 >, boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t, int, std::less, boost::function, boost::function, boost::signals2::mutex>::slot_invoker, std::_List_iterator >, boost::signals2::slot2 >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot2 >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t, int, std::less, boost::function, boost::function, boost::signals2::mutex>::slot_invoker, std::_List_iterator >, boost::signals2::slot2 >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot2 >, boost::signals2::mutex> >) const (this=0x28a77d0, first=..., last=...) at /usr/include/boost-1_42/boost/signals2/optional_last_value.hpp:55 #35 0x0000000001312dc3 in boost::signals2::detail::combiner_invoker::operator(), boost::signals2::detail::slot_call_iterator_t, int, std::less, boost::function, boost::function, boost::signals2::mutex>::slot_invoker, std::_List_iterator to continue, or q to quit--- t::optional >, boost::signals2::slot2 >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot2 >, boost::signals2::mutex> > >(boost::signals2::optional_last_value &, boost::signals2::detail::slot_call_iterator_t, int, std::less, boost::function, boost::function, boost::signals2::mutex>::slot_invoker, std::_List_iterator >, boost::signals2::slot2 >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot2 >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t, int, std::less, boost::function, boost::function, boost::signals2::mutex>::slot_invoker, std::_List_iterator >, boost::signals2::slot2 >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot2 >, boost::signals2::mutex> >) const (this=0x7fffffffc9af, combiner=..., first=..., last=...) at /usr/include/boost-1_42/boost/signals2/detail/result_type_wrapper.hpp:64 #36 0x0000000001311c76 in boost::signals2::detail::signal2_impl, int, std::less, boost::function, boost::function, boost::signals2::mutex>::operator()(LLControlVariable *, const LLSD &) (this=0x28a7710, arg1=0x28a7690, arg2=...) at /usr/include/boost-1_42/boost/signals2/detail/signal_template.hpp:246 #37 0x00000000013112a9 in boost::signals2::signal2, int, std::less, boost::function, boost::function, boost::signals2::mutex>::operator()(LLControlVariable *, const LLSD &) ( this=0x28a76d0, arg1=0x28a7690, arg2=...) at /usr/include/boost-1_42/boost/signals2/detail/signal_template.hpp:675 #38 0x00000000018c1540 in LLControlVariable::setValue (this=0x28a7690, new_value=..., saved_value=true) at /home/aidan/src/imprudence-new-backport/linden/indra/llxml/llcontrol.cpp:229 #39 0x00000000018c3341 in LLControlGroup::setUntypedValue (this=0x24a64a0, name=..., val=...) ---Type to continue, or q to quit--- at /home/aidan/src/imprudence-new-backport/linden/indra/llxml/llcontrol.cpp:588 #40 0x0000000001864196 in LLView::setControlValue (this=0x716de30, value=...) at /home/aidan/src/imprudence-new-backport/linden/indra/llui/llview.cpp:2787 #41 0x0000000001714d27 in LLButton::setToggleState (this=0x716de30, b=1) at /home/aidan/src/imprudence-new-backport/linden/indra/llui/llbutton.cpp:751 #42 0x0000000001714dd6 in LLButton::toggleState (this=0x716de30) at /home/aidan/src/imprudence-new-backport/linden/indra/llui/llbutton.cpp:768 #43 0x0000000001713379 in LLButton::handleMouseUp (this=0x716de30, x=12, y=3, mask=0) at /home/aidan/src/imprudence-new-backport/linden/indra/llui/llbutton.cpp:366 #44 0x00000000018b14cf in LLMouseHandler::handleAnyMouseClick(S32, S32, MASK, LLMouseHandler::, BOOL) ( this=0x716de30, x=12, y=3, mask=0, clicktype=LLMouseHandler::CLICK_LEFT, down=0) at /home/aidan/src/imprudence-new-backport/linden/indra/llwindow/llmousehandler.cpp:52 #45 0x00000000012f54a9 in LLViewerWindow::handleAnyMouseClick(LLWindow *, LLCoordGL, MASK, LLMouseHandler::, BOOL) (this=0x29e7460, window=0x2bbbac0, pos=..., mask=0, clicktype=LLMouseHandler::CLICK_LEFT, down=0) at /home/aidan/src/imprudence-new-backport/linden/indra/newview/llviewerwindow.cpp:694 #46 0x00000000012f5c7e in LLViewerWindow::handleMouseUp (this=0x29e7460, window=0x2bbbac0, pos=..., mask=0) at /home/aidan/src/imprudence-new-backport/linden/indra/newview/llviewerwindow.cpp:791 #47 0x00000000018b8770 in LLWindowSDL::gatherInput (this=0x2bbbac0) at /home/aidan/src/imprudence-new-backport/linden/indra/llwindow/llwindowsdl.cpp:1746 #48 0x0000000000a1e245 in LLAppViewer::mainLoop (this=0x26581d0) at /home/aidan/src/imprudence-new-backport/linden/indra/newview/llappviewer.cpp:968 #49 0x00000000014edd82 in main (argc=1, argv=0x7fffffffd4e8) at /home/aidan/src/imprudence-new-backport/linden/indra/newview/llappviewerlinux.cpp:118