Bug#679447: Coro segfaults

Marc Lehmann schmorp at schmorp.de
Sat Jul 7 02:21:35 UTC 2012


On Fri, Jul 06, 2012 at 08:57:33PM +0400, "Dmitry E. Oboukhov" <unera at debian.org> wrote:
> https://gist.github.com/3059829

Looking at that program, it seems you build a very large recursive data
structure and then free it in one go, without providing appropriate stack
space for this operation, so the segfault just means "out of memory"
because of the deep recursion.

As such, the problem has nothing to do with Coro, you are just running out
of memory (and Coro detects this because it places guard pages at the end
of stack to catch this problem).

You can verify that by using gdb to get a backtrace on the crash - most
likely you will see hundreds of recursions inside sv_free.

If you free large data structures you need to increase the stack space,
either using ulimit -s and/or using Coro::State::cctx_stacksize. Or change
your program to use less memory on free.

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at schmorp.de
      -=====/_/_//_/\_,_/ /_/\_\





More information about the pkg-perl-maintainers mailing list