malloc error with String#<< / String#+

Discussion in 'Ruby' started by Tj Holowaychuk, Feb 26, 2009.

  1. The repo is here if anyone wants to take a look
    http://github.com/visionmedia/dm-forms/tree/master

    This is the first time I have had a memory error of any kind, heres the
    output message:

    forms ruby(7152,0xa041efa0) malloc: *** mmap(size=1073741824) failed
    (error code=12)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    ruby(7152,0xa041efa0) malloc: *** mmap(size=1073741824) failed (error
    code=12)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    /examples/../lib/dm-forms/base.rb:21:in `<<': failed to allocate memory
    (NoMemoryError)
    from ./examples/../lib/dm-forms/base.rb:21:in `form'
    from ./examples/../lib/dm-forms/helpers.rb:19:in `form'
    from examples/benchmarks.rb:11
    ...


    I did a ruby-prof test on that same file and got

    %self total self wait child calls name
    79.15 4.50 4.50 0.00 0.00 174 String#+
    13.24 0.75 0.75 0.00 0.00 84 String#<<
    2.23 5.41 0.13 0.00 5.29 21
    DataMapper::Form::Helpers#form


    Looks REALLY odd to me ... when running more than 10-ish times it seems
    to cause this memory error so something is really wrong that I have
    done. Any suggestions? if you run 'rake benchmark' you will (probably)
    see what i mean, I have tried without benchmarking as well this still
    occurs so something stupid is going on.

    Thanks in advance
    --
    Posted via http://www.ruby-forum.com/.
     
    Tj Holowaychuk, Feb 26, 2009
    #1
    1. Advertising

  2. Ruby version? (ruby -v)
    Operating system and version? (uname -a)
    Source of Ruby package? (e.g. from distribution X, or compiled yourself)
    --
    Posted via http://www.ruby-forum.com/.
     
    Brian Candler, Feb 26, 2009
    #2
    1. Advertising

  3. Brian Candler wrote:
    > Ruby version? (ruby -v)
    > Operating system and version? (uname -a)
    > Source of Ruby package? (e.g. from distribution X, or compiled yourself)


    right sorry, heres all that:

    ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]

    Darwin Macintosh.local 9.5.0 Darwin Kernel Version 9.5.0: Wed Sep 3
    11:29:43 PDT 2008; root:xnu-1228.7.58~1/RELEASE_I386 i386

    Its just 1.8.6 which was installed on the mac already
    --
    Posted via http://www.ruby-forum.com/.
     
    Tj Holowaychuk, Feb 26, 2009
    #3
  4. OK, I'm not a Mac expert I'm afraid.

    ulimit -a

    would be the first thing I'd try, to see what process memory and stack
    limits have been set, if any.

    *** mmap(size=1073741824) failed (error code=12)

    looks like something is asking to allocate exactly 1GB of RAM, which
    seems fishy to me. Maybe it's been growing this space and has now hit
    1GB.

    If your Ruby process really is chewing up this much RAM (monitor it
    using 'top' while it runs), you'll need to find out why.

    - building a data structure which is too big?

    - holding onto references longer than you need?

    - however there are some strange failure modes very occasionally (esp.
    with threads or continuations) where a phantom object reference remains
    in the stack area scanned by the GC, but is not really live. There have
    been some patches posted a while back which you could try.
    --
    Posted via http://www.ruby-forum.com/.
     
    Brian Candler, Feb 26, 2009
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. John
    Replies:
    13
    Views:
    716
  2. ravi
    Replies:
    0
    Views:
    461
  3. Peter
    Replies:
    34
    Views:
    1,990
    Richard Tobin
    Oct 22, 2004
  4. porting non-malloc code to malloc

    , Feb 18, 2005, in forum: C Programming
    Replies:
    3
    Views:
    487
    Walter Roberson
    Feb 19, 2005
  5. JPerelli

    malloc rare error (malloc bug??)

    JPerelli, Oct 2, 2009, in forum: C Programming
    Replies:
    18
    Views:
    586
    JPerelli
    Oct 3, 2009
Loading...

Share This Page