Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gaffer crashes after creating an arbitary node #1245

Closed
leonard7e opened this issue Mar 19, 2015 · 14 comments
Closed

gaffer crashes after creating an arbitary node #1245

leonard7e opened this issue Mar 19, 2015 · 14 comments

Comments

@leonard7e
Copy link

Hi.

I have problems to create a node in gaffer.

My system.

Using Fedora 21 linux.

$ cat /proc/version
Linux version 3.17.7-300.fc21.x86_64 (mockbuild@bkernel01.phx2.fedoraproject.org) (gcc version 4.9.2 20141101 (Red Hat 4.9.2-1) (GCC) ) #1 SMP Wed Dec 17 03:08:44 UTC 2014

Running Gaffer.

I get these errors on startup.

ERROR : IECore.loadConfig : Error executing file "/home/lsiebeneicher/opt/pkg/gaffer_precompiled/gaffer-0.10.0.0-linux/startup/gui/ocio.py" - "The specified transform file '/home/lsiebeneicher/opt/pkg/gaffer_precompiled/gaffer-0.10.0.0-linux/openColorIO/luts/srgb.spi1d' could not be loaded. Invalid 'From' Tag".
Traceback (most recent call last):
File "/home/lsiebeneicher/opt/pkg/gaffer_precompiled/gaffer-0.10.0.0-linux/python/IECore/ConfigLoader.py", line 68, in loadConfig
execfile( fullFileName, contextDict, contextDict )
File "/home/lsiebeneicher/opt/pkg/gaffer_precompiled/gaffer-0.10.0.0-linux/startup/gui/ocio.py", line 82, in __setDisplayTransform()
File "/home/lsiebeneicher/opt/pkg/gaffer_precompiled/gaffer-0.10.0.0-linux/startup/gui/ocio.py", line 73, in __setDisplayTransform
processor = config.getProcessor( OCIO.Constants.ROLE_SCENE_LINEAR, colorSpace )

Now I try to create an arbitary node.
Gaffer crashes immediately. Message:

terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc

Tried these versions

0.8.2.0 || 0.9.0.0 || 0.10.0.0
(downloaded, precompiled)

Compiled and tried 0.11.0.0
same issue, gaffer crashes if I create a node.

@johnhaddon
Copy link
Member

A bit of googling seems to suggest that the startup error may come from a bug in OpenColorIO :

AcademySoftwareFoundation/OpenColorIO#297
AcademySoftwareFoundation/OpenColorIO#379

Is it possible you might be hitting that, or are you running with an english locale (which would suggest there is another problem).

As for the crash, I wonder if you could provide us with a stack trace to help us track it down? If you run Gaffer with env GAFFER_DEBUG=1 gaffer, that'll load Gaffer in the gdb debugger. You can then enter r to run it, and when it crashes, enter bt to get a stack trace. If you could post that here we will hopefully be able to get to the root of the problem…

Cheers…
John

@leonard7e
Copy link
Author

Hi John,

I had German locales. Changed to english locales.

Now localectl gives

System Locale: LANG=en_US.utf8
VC Keymap: us-euro
X11 Layout: en,en

Same issues with ocio.


I edited some files , removed line with FROM manually.
All errors relating to OpenColorIO disappeared.

But gaffer still crashes if I create a node

terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc

Regards,
Leonard


gdb log
( llines with FROM removed from ocio data files )

Starting program: /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/bin/python /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/bin/gaffer.py
Missing separate debuginfos, use: debuginfo-install glibc-2.20-7.fc21.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Detaching after fork from child process 4148.
Detaching after fork from child process 4150.
Detaching after fork from child process 4152.
Detaching after fork from child process 4154.
Detaching after fork from child process 4156.
Detaching after fork from child process 4158.
Detaching after fork from child process 4160.
[New Thread 0x7fffcda16700 (LWP 4164)]

Program received signal SIGABRT, Aborted.
0x00007ffff6d468c7 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install libdrm-2.4.58-3.fc21.x86_64 mesa-dri-drivers-10.4.0-4.20141214.fc21.x86_64 mesa-libGL-10.4.1-1.20141230.fc21.x86_64 mesa-libglapi-10.4.1-1.20141230.fc21.x86_64 systemd-libs-216-20.fc21.x86_64
#0 0x00007ffff6d468c7 in raise () from /lib64/libc.so.6
#1 0x00007ffff6d4852a in abort () from /lib64/libc.so.6
#2 0x00007fffea4b9fdd in gnu_cxx::verbose_terminate_handler ()
at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95
#3 0x00007fffea4b7e56 in cxxabiv1::terminate (handler=)
at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:47
#4 0x00007fffea4b6e59 in cxa_call_terminate (ue_header=0x7fffc0001370)
at ../../../../libstdc++-v3/libsupc++/eh_call.cc:54
#5 0x00007fffea4b765a in cxxabiv1::gxx_personality_v0 (version=,
actions=6, exception_class=, ue_header=,
context=)
at ../../../../libstdc++-v3/libsupc++/eh_personality.cc:670
#6 0x00007fffea252033 in Unwind_RaiseException_Phase2 (
exc=exc@entry=0x7fffc0001370, context=context@entry=0x7fffffff96d0)
at ../../../libgcc/unwind.inc:62
#7 0x00007fffea252557 in Unwind_Resume (exc=0x7fffc0001370)
at ../../../libgcc/unwind.inc:230
#8 0x00007fffe3af0f9b in IECoreGL::Selector::~Selector() ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libIECoreGL.so
#9 0x00007fffe3af0fa9 in IECoreGL::Selector::~Selector() ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libIECoreGL.so
#10 0x00007fffeff56bf9 in boost::detail::shared_count::~shared_count() ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libboost_filesystem.so.1.51.0
#11 0x00007fffe3771c49 in GafferUI::ViewportGadget::SelectionScope::~SelectionScope()
() from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libGafferUI.so
#12 0x00007fffe37736db in GafferUI::ViewportGadget::gadgetsAt(Imath_2_1::Vec2 const&, std::vectorboost::intrusive_ptr<GafferUI::Gadget, std::allocatorboost::intrusive_ptr<GafferUI::Gadget > >&) const ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libGafferUI.so
#13 0x00007fffe3773b58 in GafferUI::ViewportGadget::mouseMove(boost::intrusive_ptrGafferUI::Gadget, GafferUI::ButtonEvent const&) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libGafferUI.so
#14 0x00007fffe3774b91 in boost::detail::function::function_obj_invoker2<boost::bi::bind_t<bool, boost::mfi::mf2<bool, GafferUI::ViewportGadget, boost::intrusive_ptrGafferUI::Gadget, GafferUI::ButtonEvent const&>, boost::bi::list3boost::bi::value<GafferUI::ViewportGadget*, boost::arg<1>, boost::arg<2> > >, bool, GafferUI::Gadget, GafferUI::ButtonEvent const&>::invoke(boost::detail::function::function_buffer&, GafferUI::Gadget, GafferUI::ButtonEvent const&) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libGafferUI.so
#15 0x00007fffe3778716 in boost::signal2<bool, GafferUI::Gadget*, GafferUI::ButtonEvent const&, GafferUI::EventSignalCombiner, int, std::less, boost::function<bool (GafferUI::Gadget*, GafferUI::ButtonEvent const&)> >::operator()(GafferUI::Gadget
, GafferUI::ButtonEvent const&) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libGafferUI.so
#16 0x00007fffe2176a4c in GafferBindings::DefaultSignalCallerBase<2, boost::signal<bool (GafferUI::Gadget
, GafferUI::ButtonEvent const&), GafferUI::EventSignalCombiner, int, std::less, boost::function<bool (GafferUI::Gadget*, GafferUI::ButtonEvent const&)> > >::call(boost::signal<bool (GafferUI::Gadget*, GafferUI::ButtonEvent const&), GafferUI::EventSignalCombiner, int, std::less, boost::function<bool (GafferUI::Gadget*, GafferUI::ButtonEvent const&)> >&, GafferUI::Gadget, GafferUI::ButtonEvent const&) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libGafferUIBindings.so
#17 0x00007fffe216e346 in boost::python::objects::caller_py_function_impl<boost::python::detail::caller<bool ()(boost::signal<bool (GafferUI::Gadget*, GafferUI::ButtonEvent const&), GafferUI::EventSignalCombiner, int, std::less, boost::function<bool (GafferUI::Gadget*, GafferUI::ButtonEvent const&)> >&, GafferUI::Gadget, GafferUI::ButtonEvent const&), boost::python::default_call_policies, boost::mpl::vector4<bool, boost::signal<bool (GafferUI::Gadget, GafferUI::ButtonEvent const&), GafferUI::EventSignalCombiner, int, std::less, boost::function<bool (GafferUI::Gadget*, GafferUI::ButtonEvent const&)> >&, GafferUI::Gadget, GafferUI::ButtonEvent const&> > >::operator()(object, object) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libGafferUIBindings.so
#18 0x00007fffedec8121 in boost::python::objects::function::call(object, object) const ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libboost_python.so.1.51.0
#19 0x00007fffedec85a8 in boost::detail::function::void_function_ref_invoker0<boost::python::objects::(anonymous namespace)::bind_return, void>::invoke(boost::detail::function::function_buffer&) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libboost_python.so.1.51.0
#20 0x00007fffeded0f73 in boost::python::detail::exception_handler::operator()(boost::function0 const&) const ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libboost_python.so.1.51.0
#21 0x00007fffebf02ff7 in boost::detail::function::function_obj_invoker2<boost::bi::bind_t<bool, boost::python::detail::translate_exception<IECore::Exception, void ()(IECore::Exception const&)>, boost::bi::list3boost::arg<1, boost::arg<2>, boost::bi::value<void ()(IECore::Exception const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0 const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0 const&) () from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libIECorePython.so
#22 0x00007fffeded0d33 in boost::python::handle_exception_impl(boost::function0) () from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libboost_python.so.1.51.0
#23 0x00007fffedec6298 in function_call ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libboost_python.so.1.51.0
#24 0x00007ffff7a41953 in PyObject_Call (func=0x123b970, arg=,
kw=) at Objects/abstract.c:2529
#25 0x00007ffff7a5407f in instancemethod_call (func=0x123b970, arg=0x3f78640, kw=0x0)
at Objects/classobject.c:2602
#26 0x00007ffff7a41953 in PyObject_Call (func=0x34c93c0, arg=,
kw=) at Objects/abstract.c:2529
#27 0x00007ffff7aae0fc in slot_tp_call (self=0x35d4670, args=0x359e290, kwds=0x0)
at Objects/typeobject.c:5432
#28 0x00007ffff7a41953 in PyObject_Call (func=0x35d4670, arg=,
kw=) at Objects/abstract.c:2529
#29 0x00007ffff7af0a79 in do_call (nk=, na=,
pp_stack=0x7fffffffa298, func=0x35d4670) at Python/ceval.c:4239
#30 call_function (oparg=, pp_stack=0x7fffffffa298)
at Python/ceval.c:4044
#31 PyEval_EvalFrameEx (f=, throwflag=)
at Python/ceval.c:2666
#32 0x00007ffff7af311e in PyEval_EvalCodeEx (co=0x1ce2130, globals=,
locals=, args=, argcount=3, kws=0x7ffff7f85068,
kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3253
#33 0x00007ffff7a70f18 in function_call (func=0x1ce80c8, arg=0x3f785f0, kw=0x3b55920)
at Objects/funcobject.c:526
#34 0x00007ffff7a41953 in PyObject_Call (func=0x1ce80c8, arg=,
kw=) at Objects/abstract.c:2529
#35 0x00007ffff7aefdc6 in ext_do_call (nk=66553328, na=,
flags=, pp_stack=0x7fffffffa568, func=0x1ce80c8)
at Python/ceval.c:4334
#36 PyEval_EvalFrameEx (f=, throwflag=)
at Python/ceval.c:2705
#37 0x00007ffff7af311e in PyEval_EvalCodeEx (co=0x1093eb0, globals=,
locals=, args=, argcount=3, kws=0x0, kwcount=0,
defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3253
#38 0x00007ffff7a70e11 in function_call (func=0x10b81b8, arg=0x3f785a0, kw=0x0)
at Objects/funcobject.c:526
#39 0x00007ffff7a41953 in PyObject_Call (func=0x10b81b8, arg=,
kw=) at Objects/abstract.c:2529
#40 0x00007ffff7a5407f in instancemethod_call (func=0x10b81b8, arg=0x3f785a0, kw=0x0)
at Objects/classobject.c:2602
#41 0x00007ffff7a41953 in PyObject_Call (func=0x3372e60, arg=,
kw=) at Objects/abstract.c:2529
#42 0x00007ffff7aae0fc in slot_tp_call (self=0x259c950, args=0x35ccf38, kwds=0x0)
at Objects/typeobject.c:5432
#43 0x00007ffff7a41953 in PyObject_Call (func=0x259c950, arg=,
kw=) at Objects/abstract.c:2529
#44 0x00007ffff7aeada3 in PyEval_CallObjectWithKeywords (func=0x259c950,
arg=0x35ccf38, kw=) at Python/ceval.c:3890
#45 0x00007ffff7b0df2a in PyEval_CallFunction (obj=0x259c950, format=)
at Python/modsupport.c:557
#46 0x00007fffe223614b in boost::detail::function::function_obj_invoker2<GafferBindings::Slot<boost::signal<bool (boost::python::api::object, boost::python::api::object), GafferUI::EventSignalCombiner, int, std::less, boost::function<bool (boost::python::api::object, boost::python::api::object)> >, GafferBindings::DefaultSlotCaller<boost::signal<bool (boost::python::api::object, boost::python::api::object), GafferUI::EventSignalCombiner, int, std::less, boost::function<bool (boost::python::api::object, boost::python::api::object)> > > >, bool, boost::python::api::object, boost::python::api::object>::invoke(boost::detail::function::function_buffer&, boost::python::api::object, boost::python::api::object) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libGafferUIBindings.so
#47 0x00007fffe223c272 in boost::signal2<bool, boost::python::api::object, boost::python::api::object, GafferUI::EventSignalCombiner, int, std::less, boost::function<bool (boost::python::api::object, boost::python::api::object)> >::operator()(boost::python::api::object, boost::python::api::object) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libGafferUIBindings.so
#48 0x00007fffe223c5a9 in GafferBindings::DefaultSignalCallerBase<2, boost::signal<bool (boost::python::api::object, boost::python::api::object), GafferUI::EventSignalCombiner, int, std::less, boost::function<bool (boost::python::api::object, boost::python::api::object)> > >::call(boost::signal<bool (boost::python::api::object, boost::python::api::object), GafferUI::EventSignalCombiner, int, std::less, boost::function<bool (boost::python::api::object, boost::python::api::object)> >&, boost::python::api::object, boost::python::api::object) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libGafferUIBindings.so
#49 0x00007fffe2235943 in boost::python::objects::caller_py_function_impl<boost::python::detail::caller<bool (
)(boost::signal<bool (boost::python::api::object, boost::python::api::object), GafferUI::EventSignalCombiner, int, std::less, boost::function<bool (boost::python::api::object, boost::python::api::object)> >&, boost::python::api::object, boost::python::api::object), boost::python::default_call_policies, boost::mpl::vector4<bool, boost::signal<bool (boost::python::api::object, boost::python::api::object), GafferUI::EventSignalCombiner, int, std::less, boost::function<bool (boost::python::api::object, boost::python::api::object)> >&, boost::python::api::object, boost::python::api::object> > >::operator()(object, object) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libGafferUIBindings.so
#50 0x00007fffedec8121 in boost::python::objects::function::call(object, object) const ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libboost_python.so.1.51.0
#51 0x00007fffedec85a8 in boost::detail::function::void_function_ref_invoker0<boost::python::objects::(anonymous namespace)::bind_return, void>::invoke(boost::detail::function::function_buffer&) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libboost_python.so.1.51.0
#52 0x00007fffeded0f73 in boost::python::detail::exception_handler::operator()(boost::function0 const&) const ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libboost_python.so.1.51.0
#53 0x00007fffebf02ff7 in boost::detail::function::function_obj_invoker2<boost::bi::bind_t<bool, boost::python::detail::translate_exception<IECore::Exception, void ()(IECore::Exception const&)>, boost::_bi::list3boost::arg<1, boost::arg<2>, boost::_bi::value<void ()(IECore::Exception const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0 const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0 const&) () from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libIECorePython.so
#54 0x00007fffeded0d33 in boost::python::handle_exception_impl(boost::function0) () from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libboost_python.so.1.51.0
#55 0x00007fffedec6298 in function_call ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libboost_python.so.1.51.0
#56 0x00007ffff7a41953 in PyObject_Call (func=0x1280230, arg=,
kw=) at Objects/abstract.c:2529
#57 0x00007ffff7a5407f in instancemethod_call (func=0x1280230, arg=0x3f78550, kw=0x0)
at Objects/classobject.c:2602
#58 0x00007ffff7a41953 in PyObject_Call (func=0xfdd370, arg=,
kw=) at Objects/abstract.c:2529
#59 0x00007ffff7aae0fc in slot_tp_call (self=0x259e7e0, args=0x20dc998, kwds=0x0)
at Objects/typeobject.c:5432
#60 0x00007ffff7a41953 in PyObject_Call (func=0x259e7e0, arg=,
kw=) at Objects/abstract.c:2529
#61 0x00007ffff7af0a79 in do_call (nk=, na=,
pp_stack=0x7fffffffb4f8, func=0x259e7e0) at Python/ceval.c:4239
#62 call_function (oparg=, pp_stack=0x7fffffffb4f8)
at Python/ceval.c:4044
#63 PyEval_EvalFrameEx (f=, throwflag=)
at Python/ceval.c:2666
#64 0x00007ffff7af201e in fast_function (nk=, na=,
n=, pp_stack=0x7fffffffb648, func=0x1abac08)
at Python/ceval.c:4107
#65 call_function (oparg=, pp_stack=0x7fffffffb648)
at Python/ceval.c:4042
#66 PyEval_EvalFrameEx (f=, throwflag=)
at Python/ceval.c:2666
#67 0x00007ffff7af311e in PyEval_EvalCodeEx (co=0x1516cb0, globals=,
locals=, args=, argcount=3, kws=0x0, kwcount=0,
defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3253
#68 0x00007ffff7a70e11 in function_call (func=0x1aba848, arg=0x3f78500, kw=0x0)
at Objects/funcobject.c:526
#69 0x00007ffff7a41953 in PyObject_Call (func=0x1aba848, arg=,
kw=) at Objects/abstract.c:2529
#70 0x00007ffff7a5407f in instancemethod_call (func=0x1aba848, arg=0x3f78500, kw=0x0)
at Objects/classobject.c:2602
#71 0x00007ffff7a41953 in PyObject_Call (func=0xfdd0f0, arg=,
kw=) at Objects/abstract.c:2529
#72 0x00007fffdcc39a22 in QObjectWrapper::eventFilter(QObject
, QEvent
) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/python/PySide/QtCore.so
#73 0x00007fffe331f747 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject
, QEvent) () from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtCore.so.4
#74 0x00007fffe26e676c in QApplicationPrivate::notify_helper(QObject, QEvent) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtGui.so.4
#75 0x00007fffe26ed0f6 in QApplication::notify(QObject, QEvent) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtGui.so.4
#76 0x00007fffdb8e951e in QApplicationWrapper::notify(QObject, QEvent) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/python/PySide/QtGui.so
#77 0x00007fffe331fafc in QCoreApplication::notifyInternal(QObject, QEvent) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtCore.so.4
#78 0x00007fffe26ebeae in QApplicationPrivate::sendMouseEvent(QWidget, QMouseEvent, QWidget_, QWidget_, QWidget*, QPointer&, bool) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtGui.so.4
#79 0x00007fffe275e62b in ?? ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtGui.so.4
#80 0x00007fffe275d20e in QApplication::x11ProcessEvent(XEvent) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtGui.so.4
#81 0x00007fffe2786e12 in ?? ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtGui.so.4
#82 0x00007fffe127daeb in g_main_dispatch (context=0x1b17440) at gmain.c:3111
#83 g_main_context_dispatch (context=context@entry=0x1b17440) at gmain.c:3710
#84 0x00007fffe127de88 in g_main_context_iterate (context=context@entry=0x1b17440,
block=block@entry=1, dispatch=dispatch@entry=1, self=)
at gmain.c:3781
#85 0x00007fffe127df3c in g_main_context_iteration (context=0x1b17440, may_block=1)
at gmain.c:3842
#86 0x00007fffe334b7d3 in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtCore.so.4
#87 0x00007fffe27869ae in ?? ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtGui.so.4
#88 0x00007fffe331e992 in QEventLoop::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtCore.so.4
#89 0x00007fffe331ecf4 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtCore.so.4
#90 0x00007fffe3323d39 in QCoreApplication::exec() ()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/lib/libQtCore.so.4
#91 0x00007fffdb8eb5f7 in Sbk_QApplicationFunc_exec
()
from /home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/python/PySide/QtGui.so
#92 0x00007ffff7af13b9 in call_function (oparg=,
pp_stack=0x7fffffffcfa8) at Python/ceval.c:4005
#93 PyEval_EvalFrameEx (f=, throwflag=)
at Python/ceval.c:2666
#94 0x00007ffff7af201e in fast_function (nk=, na=,
n=, pp_stack=0x7fffffffd0f8, func=0x1b2a7d0)
at Python/ceval.c:4107
#95 call_function (oparg=, pp_stack=0x7fffffffd0f8)
at Python/ceval.c:4042
#96 PyEval_EvalFrameEx (f=, throwflag=)
at Python/ceval.c:2666
#97 0x00007ffff7af201e in fast_function (nk=, na=,
n=, pp_stack=0x7fffffffd248, func=0x1e59668)
at Python/ceval.c:4107
#98 call_function (oparg=, pp_stack=0x7fffffffd248)
at Python/ceval.c:4042
#99 PyEval_EvalFrameEx (f=, throwflag=)
at Python/ceval.c:2666
#100 0x00007ffff7af201e in fast_function (nk=, na=,
n=, pp_stack=0x7fffffffd398, func=0x10b0b90)
at Python/ceval.c:4107
#101 call_function (oparg=, pp_stack=0x7fffffffd398)
at Python/ceval.c:4042
#102 PyEval_EvalFrameEx (f=, throwflag=)
at Python/ceval.c:2666
#103 0x00007ffff7af201e in fast_function (nk=, na=,
n=, pp_stack=0x7fffffffd4e8, func=0x10b0a28)
at Python/ceval.c:4107
#104 call_function (oparg=, pp_stack=0x7fffffffd4e8)
at Python/ceval.c:4042
#105 PyEval_EvalFrameEx (f=, throwflag=)
at Python/ceval.c:2666
#106 0x00007ffff7af311e in PyEval_EvalCodeEx (co=0x7ffff7f04bb0,
globals=, locals=, args=,
argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
at Python/ceval.c:3253
#107 0x00007ffff7af3232 in PyEval_EvalCode (co=,
globals=, locals=) at Python/ceval.c:667
#108 0x00007ffff7b12d70 in run_mod (arena=0x67abc0, flags=0x7fffffffd7e0,
locals=0x63e690, globals=0x63e690, filename=, mod=0x6df9d0)
at Python/pythonrun.c:1365
#109 PyRun_FileExFlags (fp=0x68a720, filename=,
start=, globals=0x63e690, locals=0x63e690, closeit=1,
flags=0x7fffffffd7e0) at Python/pythonrun.c:1351
#110 0x00007ffff7b12f4f in PyRun_SimpleFileExFlags (fp=0x68a720,
filename=0x7fffffffdcb7 "/home/lsiebeneicher/opt/pkg/gaffer-0.10.0.0/bin/gaffer.py", closeit=1, flags=0x7fffffffd7e0) at Python/pythonrun.c:943
#111 0x00007ffff7b289f4 in Py_Main (argc=, argv=)
at Modules/main.c:640
#112 0x00007ffff6d31fe0 in __libc_start_main () from /lib64/libc.so.6
#113 0x0000000000400649 in _start ()
quit
A debugging session is active.

Inferior 1 [process 4144] will be killed.

Quit anyway? (y or n)

@est77
Copy link
Contributor

est77 commented Mar 19, 2015

Are you running Gaffer in a laptop that has Nvidia optimus? Or maybe a VM?

@leonard7e
Copy link
Author

Hi Esteban

Gaffer runs on a desktop pc. But my computer uses a nvidia quadro 600.
Have troubles to get hardware acceleration drivers working on fedora.

Some time ago I tried to get bumblebee working. But I deinstalled it again.

$ glxinfo | grep -i vendor
gives

server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
OpenGL vendor string: nouveau

@est77
Copy link
Contributor

est77 commented Mar 20, 2015

It's unlikely that gaffer runs ok with the noveau drivers.
I know for sure that it does not work correctly when using the intel graphics.
In my case, it runs but I cannot select nodes when I use the intel gpu.

Try to install the nvidia drivers without using bumblebee.

@ghost
Copy link

ghost commented Mar 24, 2015

I get the same thing in VirtualBox. I have been on an epic mission to compile all the dependencies and then build cortex/OSL/appleseed/GafferSeed - but it seems to crash as soon as it tries to draw anything with OpenGL.

As a really crappy workaround if you wish to test out other (non-visual) aspects of gaffer, you can add a 'Display' or an 'Image Read' node, and pin the viewer window to it, this way you can build gaffer graphs, without running into the crash. Not sure how practically helpful that is for actual use.

@leonard7e
Copy link
Author

Hi marchingcubes.
Trying to create node ImageSourceDisplay.
Crashes immediately.

~~
Sorry, using nvidia proprietary driver is not an option here.

https://bugzilla.redhat.com/show_bug.cgi?id=986692
"Oh no! Something has gone wrong. A problem occurred and the system can't recover. Please contact a system administrator"

@danieldresser
Copy link
Collaborator

I think it's fairly expected behaviour that 3d software won't work with the Nouveau drivers? I accidentally tried Houdini on a system using Nouveau a month back, and it was unusable. There's probably not much we can do about this, without putting large amounts of work into getting things half-working. If you want to run 3d software, you're probably going to have to get the binary nvidia driver working.

@ghost
Copy link

ghost commented Mar 24, 2015

Refuse to start if required OpenGL functions not available in the driver, with a clear error message stating that? Sure.

Exiting gracefully with a clear error message if OpenGL rendering fails, OK.

Displaying a 'could not render node with OpenGL' message but continuing to process - best solution.

Appearing to start up and work fine but then segfaulting upon user action leaving no clue to what the problem is? Could be handled better.

Obviously gaffer isn't at '1.0' yet so no big deal, but little things like this (clear error messages, no 'just crash and leave the user to run gdb to ascertain what the problem was') make life much easier

@johnhaddon
Copy link
Member

Related to #901 - both are GL compatibility issues.

@boberfly
Copy link
Collaborator

boberfly commented Aug 7, 2015

Are the nodes being drawn using IECoreGL or does that code live in Gaffer? I remember skimming through and seeing lots of fixed-function immediate API mixed with GL 3.x stuff, which is problematic for anything that doesn't support a compatibility context (I'm surprised it's working on OSX which has been known to be the most strict and without a compatibility context). The open drivers under mesa are quite good these days, so this looks like it can be fixed with more modern approaches to GL (oldschool GL selection picking is gone, if Gaffer relies on this). But yeah, god knows how old CentOS is with mesa+the kernel, recent Ubuntus/Fedoras should have a decent enough driver stack though.

@johnhaddon
Copy link
Member

The node drawing code lives mostly in Gaffer, although we do use IECoreGL too. And we do use a nasty mix of old-skool OpenGL and more modern stuff in both Gaffer and IECoreGL. We actually target OpenGL 2.1 but using a lot of extensions which give us most of what we need from OpenGL 3 - that's how we manage to get things to work on OSX, where there is absolutely no compatibility context. At some point we need to bite the bullet and move everything over to pure OpenGL 3+, but as always, it's about finding time...

johnhaddon added a commit to johnhaddon/dependencies that referenced this issue Feb 1, 2018
This fixes crashes caused by conflicts between Gaffer's LLVM and the LLVM used by certain open-source graphics drivers. Might well be applicable to GafferHQ/gaffer/issues/1245 and GafferHQ/gaffer/issues/901.
@johnhaddon
Copy link
Member

We've just released Gaffer 0.45, which includes a bugfix for an LLVM conflict that I believe is the most likely cause of this issue. Closing somewhat speculatively - please reopen if testing in 0.45.0.0 reveals the problem persists.

@leonard7e
Copy link
Author

leonard7e commented Mar 22, 2018

Trying,
Gaffer did not crash after creating several nodes.
Thank you for your effort.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants