[mythtv-users] mythbackend crashes every 6-7 hours

Gavin Hurlbut gjhurlbu at gmail.com
Sun Oct 31 22:54:44 UTC 2010


> most of the errors are like this one
> 2 bytes in 1 blocks are possibly lost in loss record 2 of 2,812
> and after a huge amount of those I get a leak summary
> ==12720==    definitely lost: 0 bytes in 0 blocks
> ==12720==    indirectly lost: 0 bytes in 0 blocks
> ==12720==      possibly lost: 81,333 bytes in 1,641 blocks
> ==12720==    still reachable: 169,581 bytes in 1,794 blocks
> ==12720==         suppressed: 0 bytes in 0 blocks
> ==12720== Reachable blocks (those to which a pointer was found) are not
> shown.
> ==12720== To see them, rerun with: --leak-check=full --show-reachable=yes
> ==12720==
> ==12720== For counts of detected and suppressed errors, rerun with: -v
> ==12720== ERROR SUMMARY: 1189 errors from 1189 contexts (suppressed: 3 from
> 3)

No memory leak.  Proof positive. At MOST, you have about 250kByte
maybe lost and/or still reachable.


> untill it crashes at the end with this message
> ==12720==
> ==12720==     Valgrind's memory management: out of memory:
> ==12720==        newSuperblock's request for 4194304 bytes failed.
> ==12720==        3034054656 bytes have already been allocated.
> ==12720==     Valgrind cannot continue.  Sorry.
> ==12720==
> ==12720==     There are several possible reasons for this.
> ==12720==     - You have some kind of memory limit in place.  Look at the
> ==12720==       output of 'ulimit -a'.  Is there a limit on the size of
> ==12720==       virtual memory or address space?
> ==12720==     - You have run out of swap space.
> ==12720==     - Valgrind has a bug.  If you think this is the case or you
> are
> ==12720==     not sure, please let us know and we'll try to fix it.
> ==12720==     Please note that programs can take substantially more memory
> than
> ==12720==     normal when running under Valgrind tools, eg. up to twice or
> ==12720==     more, depending on the tool.  On a 64-bit machine, Valgrind
> ==12720==     should be able to make use of up 32GB memory.  On a 32-bit
> ==12720==     machine, Valgrind should be able to use all the memory
> available
> ==12720==     to a single process, up to 4GB if that's how you have your
> ==12720==     kernel configured.  Most 32-bit Linux setups allow a maximum
> of
> ==12720==     3GB per process.
> ==12720==
> ==12720==     Whatever the reason, Valgrind cannot continue.  Sorry.
>
> For me the log file might as well be empty because I cannot make anything
> from it.

Ummm, did you even read what this says?

First off:  Are you on a 32-bit system or 64-bit system?
Secondly:  you hit a 3GB process memory limit (whether imposed by
ulimit or by the kernel).  The ulimit -m unlimited may fix that.

You ran out of memory for that process.  There's no way to tell from
here what you are using your memory for or what you are making it do.
I haven't ever seen the backend approach that kind of memory use, so
it's likely something in how you are using it, etc.


More information about the mythtv-users mailing list