cadabra2 icon indicating copy to clipboard operation
cadabra2 copied to clipboard

segfault in meld()

Open slazav opened this issue 3 years ago • 2 comments

I have Segmentation fault on this code, somewhere in meld():

#!/usr/bin/cadabra2

{a,b,c,i,j,k}::Indices;
{a,b,c,i,j,k}::Integer(1..3);
{ct, st}::Symbol;
\nabla{#}::Derivative;
{st,ct,n_{k}}::Depends(\nabla{#})

{d{#}}::KroneckerDelta;
{e_{a b c}}::EpsilonTensor(delta=d);

rota := R_{a j} = ct d_{a j} + (1-ct) n_{a} n_{j} - st e_{a j k} n_{k};
FGR := \nabla{R_{a k}}_{j} \nabla{R_{a k}}_{j};

substitute(FGR, rota); distribute(_, repeat=True);\
product_rule(_); unwrap(_);\
distribute(_, repeat=True);\
collect_factors(_); sort_product(_); sort_sum(_);\
meld(_);\
;

slazav avatar Jan 14 '22 21:01 slazav

Thread 1 "python3.9" received signal SIGSEGV, Segmentation fault. 0x00007ffff7658b03 in cadabra::pattern::children_wildcard() const () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so (gdb) bt #0 0x00007ffff7658b03 in cadabra::pattern::children_wildcard() const () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #1 0x00007ffff7648e4d in ?? () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #2 0x00007ffff77d5000 in ?? () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #3 0x00007ffff7646c65 in cadabra::index_iterator::operator++() () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #4 0x00007ffff76b273c in cadabra::meld::symmetrize_idents(cadabra::meld::ProjectedTerm&) () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #5 0x00007ffff76b3c5f in cadabra::meld::symmetrize_as_product(cadabra::meld::ProjectedTerm&, std::vector<cadabra::meld::symmetrizer_t, std::allocatorcadabra::meld::symmetrizer_t > const&) () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #6 0x00007ffff76a9222 in cadabra::meld::apply_tableaux(tree<cadabra::str_node, std::allocator<tree_node_cadabra::str_node > >::pre_order_iterator) () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #7 0x00007ffff76ab051 in cadabra::meld::apply(tree<cadabra::str_node, std::allocator<tree_node_cadabra::str_node > >::pre_order_iterator&) () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #8 0x00007ffff761a70c in cadabra::Algorithm::apply_once(tree<cadabra::str_node, std::allocator<tree_node_cadabra::str_node > >::pre_order_iterator&) () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #9 0x00007ffff761c580 in cadabra::Algorithm::apply_pre_order(bool) () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #10 0x00007ffff76f99a1 in std::shared_ptrcadabra::Ex cadabra::apply_algo_preorder<cadabra::meld, bool>(std::shared_ptrcadabra::Ex, bool, bool, bool, unsigned int) () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #11 0x00007ffff76f2c50 in ?? () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #12 0x00007ffff7608948 in ?? () from /usr/lib/python3/site-packages/cadabra2.cpython-39.so #13 0x000055555569d5e7 in ?? () #14 0x000055555568572b in _PyObject_MakeTpCall () #15 0x0000555555680a29 in _PyEval_EvalFrameDefault () #16 0x000055555567ac81 in ?? () #17 0x000055555567a8f7 in _PyEval_EvalCodeWithName () #18 0x00005555557310c3 in PyEval_EvalCode () #19 0x000055555573772f in ?? () #20 0x000055555568d7d1 in ?? () #21 0x000055555567bfe5 in _PyEval_EvalFrameDefault () #22 0x000055555567ac81 in ?? () #23 0x000055555567a8f7 in _PyEval_EvalCodeWithName () #24 0x00005555557310c3 in PyEval_EvalCode () #25 0x00005555557407ac in ?? () #26 0x000055555573c1a4 in ?? () #27 0x00005555555e9de1 in ?? () #28 0x00005555555e9650 in PyRun_SimpleFileExFlags () #29 0x0000555555752033 in Py_RunMain () #30 0x0000555555723399 in Py_BytesMain () #31 0x00007ffff7cf81dc in ?? () from /lib64/libc.so.6 #32 0x00007ffff7cf8288 in __libc_start_main () from /lib64/libc.so.6 #33 0x0000555555723281 in _start ()

slazav avatar Jan 18 '22 13:01 slazav

I cannot reproduce this bug with the current version in the git repo, does this still crash for you?

kpeeters avatar Oct 23 '22 14:10 kpeeters