hello, i have a problem which i don't know how to handle:
i have a nonlinear solver class with a public solve(..) function and a private createProblem() function. In createProblem() i define the functions and forms, a, L. when i call newtonsolver.solve(*this, uu->vector()) inside createProblem(), just after creating the forms, all is fine. when i call newtonsolver(*this, uu->vector()) inside the other class function solve(), i get a segmentation fault as Created solver Created Problem Starting Newton solve. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 139904524252896 (LWP 703)] dolfin::Form::check (this=0xd42350) at /usr/include/boost/shared_ptr.hpp:254 the sigsev is raised when a should be assembled as it calls my custom void F(...) somebody knows about what's going on here? thanks for your help patrick ps: below is also the stack from a gdb backtrace: #0 dolfin::Form::check (this=0xd42350) at /usr/include/boost/shared_ptr.hpp:254 #1 0x00007f3e0f3b092b in dolfin::Assembler::check (a...@0x7f3e0f45d007) at dolfin/fem/Assembler.cpp:355 #2 0x00007f3e0f3b3ca6 in dolfin::Assembler::assemble (a...@0xb41810, a...@0x8, cell_domains=0xb2a8c0, exterior_facet_domains=0x2, interior_facet_domains=0xb2a8c0, reset_tensor=32) at dolfin/fem/Assembler.cpp:93 #3 0x00000000004b6f77 in dolfin::TMSOIMSolver::F (this=0x7fff177c9180, b...@0xb41810, x...@0xd30980) at TMSOIMSolver.cpp:46 #4 0x00007f3e0f4e5d70 in dolfin::NewtonSolver::solve (this=0x7fff177c91c8, nonlinear_probl...@0x7fff177c9180, x...@0xd30980) at dolfin/nls/NewtonSolver.cpp:56 #5 0x00000000004b7756 in dolfin::TMSOIMSolver::solve (this=0x7fff177c9180, fluid=<value optimized out>, f=<value optimized out>) at TMSOIMSolver.cpp:135 #6 0x00000000004cd4f4 in main () at TMSOIM_Model.cpp:73 _______________________________________________ DOLFIN-dev mailing list DOLFIN-dev@fenics.org http://www.fenics.org/mailman/listinfo/dolfin-dev