GafferHQ / gaffer

Gaffer is a node-based application for lookdev, lighting and automation
http://www.gafferhq.org
BSD 3-Clause "New" or "Revised" License
951 stars 205 forks source link

gaffer crashes after creating an arbitary node #1245

Closed leonard7e closed 6 years ago

leonard7e commented 9 years ago

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 commented 9 years ago

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

https://github.com/imageworks/OpenColorIO/issues/297 https://github.com/imageworks/OpenColorIO/issues/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 commented 9 years ago

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=<optimized out>, ue_header=<optimized out>, 
context=<optimized out>)
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 >&) 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_ptr, 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::functionbuffer&, 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_functionimpl<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_callpolicies, 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::translateexception<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=<optimized out>) 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=<optimized out>) 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=<optimized out>) 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=<optimized out>, args=<optimized out>, 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=<optimized out>) at Objects/abstract.c:2529

35 0x00007ffff7aefdc6 in ext_do_call (nk=66553328, na=,

flags=<optimized out>, 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=<optimized out>, args=<optimized out>, 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=<optimized out>) 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=<optimized out>) 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=<optimized out>) at Objects/abstract.c:2529

44 0x00007ffff7aeada3 in PyEval_CallObjectWithKeywords (func=0x259c950,

arg=0x35ccf38, kw=<optimized out>) 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=<optimized out>) 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=<optimized out>) 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=<optimized out>) 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=<optimized out>, 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=<optimized out>, args=<optimized out>, 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=<optimized out>) 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=<optimized out>) 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::notifyhelper(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=<optimized out>)
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_QApplicationFuncexec ()

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=<optimized out>, 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=<optimized out>, 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=<optimized out>, 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=<optimized out>, 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=<optimized out>, locals=<optimized out>, args=<optimized out>, 
argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
at Python/ceval.c:3253

107 0x00007ffff7af3232 in PyEval_EvalCode (co=,

globals=<optimized out>, locals=<optimized out>) at Python/ceval.c:667

108 0x00007ffff7b12d70 in run_mod (arena=0x67abc0, flags=0x7fffffffd7e0,

locals=0x63e690, globals=0x63e690, filename=<optimized out>, mod=0x6df9d0)
at Python/pythonrun.c:1365

109 PyRun_FileExFlags (fp=0x68a720, filename=,

start=<optimized out>, 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 commented 9 years ago

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

leonard7e commented 9 years ago

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 commented 9 years ago

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 commented 9 years ago

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 commented 9 years ago

Hi marchingcubes. Trying to create node Image~Source~Display. 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 commented 9 years ago

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 commented 9 years ago

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 commented 9 years ago

Related to #901 - both are GL compatibility issues.

boberfly commented 9 years ago

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 commented 9 years ago

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 commented 6 years ago

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 commented 6 years ago

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