Skip to content

eheap_alloc: Cannot allocate 4454408120 bytes of memory (of type "old_heap"). #175

@hamano

Description

@hamano

I have get to crash frequently after upgrading ejabberd 13.12.
I check the crashdump, It's seems trying to allocate the huge memory in XML parsing.
I think it's problematic that VM crashing by XML input from the external.
Is there any way to limit the memory usage in XML parsing?

this is crashdump information:
Slogan: eheap_alloc: Cannot allocate 4454408120 bytes of memory (of type "old_heap").
Node name: 'ejabberd@localhost'
Crashdump created on: Tue Apr 22 18:56:37 2014
System version: Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:6:6] [async-threads:0] [kernel-poll:true]
Compiled: Sun Jan 27 18:19:34 2013
Taints: asn1rt_nif,crypto,stringprep,p1_sha,p1_yaml
Memory allocated: 7858 MB
Memory maximum:
Atoms: 19707
Processes: 5389
ETS tables: 90
Timers: 835
Funs: 2911

This is largest process information:
Initial Call: proc_lib:init_p/5
Last scheduled in for: xml:'-attrs_to_list/1-lc$^0/1-0-'/1
Registered Name: proc_lib:init_p/5
Status: Garbing (limited info)
Started: Tue Apr 22 18:47:36 2014
Parent:
Message Queue Len: 3475994
Reductions: 138774257
Program counter: 0x00007f297f505438 (xml:'-attrs_to_list/1-lc$^0/1-0-'/1 + 8)
Continuation pointer: 0x0000000000000000 (invalid)

Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions