This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

failed to allocate UMP memory

Note: This was originally posted on 30th April 2013 at http://forums.arm.com

Hi everybody, I have a very strange issue on r3p0 or r3p1 driver.

When I use Firefox to do a web browsing. After that about 10~20 [size=2]min[/size]. My desktop will got black and I found some error in xorg.  [size=2]It always shows failed to [/size][font=Arial, sans-serif][size=2]allocate UMP memory. And the [/size][/font][font=Arial, sans-serif][size=2]5376[/size][/font][font=Arial, sans-serif][size=2]bytes size is not always fixed.[/size][/font]

-------------
[font=arial][font=Arial, sans-serif](EE) MALI(0): [maliModifyPixmapHeader:1344] failed to allocate UMP memory (5376[/font][font=Arial, sans-serif]bytes)[/font][/font]

[font=arial][font=Arial, sans-serif](EE) MALI(0): [maliPrepareAccess:1413] No mem_info on pixmap[/font][/font]

[font=arial] [/font]

[font=arial][font=Arial, sans-serif]Fatal server error:[/font][/font]

[font=arial][font=Arial, sans-serif]Driver failed PrepareAccess on a pinned pixmap.[/font][/font]

[font=arial][font=Arial, sans-serif]------------[/font][/font]

[font=arial][font=Arial, sans-serif] [/font][/font]

[font=arial][font=Arial, sans-serif][size=2]After trace, I found the ump.ko will allocate page fail when execute the "[/size][size=2]new_table = descriptor_table_alloc(nr_mappings_new);[/size][size=2]" in the "[/size][size=2]ump_descriptor_mapping_allocate_mapping()[/size][size=2]" in ump_kernel_descriptor_mapping.c[/size][/font][/font]

[font=arial][font=Arial, sans-serif][size=2]
[/size][/font][/font]

[font=arial][font=Arial, sans-serif][size=2]Dose anyone have met this issue or any suggestions? Thank you:)[/size][/font][/font]

Parents
  • Note: This was originally posted on 8th May 2013 at http://forums.arm.com

    Hi Tu Vuong,

    Thank you for help:)
    We have traced the issue, it caused by the "descriptor is not enough".

    You can see the following thread. [size=2]But we still can't figure out how to solve this issue. [/size]
    http://forums.arm.com/index.php?/topic/16746-the-descriptor-is-not-enough/

    To [size=2]reproduce the bug, t[/size][size=2]he website is not specific, for example, we browse the [/size]http://tw.yahoo.com/[size=2] or [/size]http://www.sina.com.cn/
    And we only open 1~2 tabs, and do the [size=2]browsing as n[/size]ormal using. About 20 min, [size=2]It can [/size][size=2]reproduce the bug.[/size]
    [size=2]
    [/size]
    [size=2]There is another way to [/size][size=2]reproduce the bug more quickly. [/size]
    Change the value of UMP_SECURE_ID_TABLE_ENTRIES_MAXIMUM from 4096 to 512 in ump_kernel_common.c.
    And add some debug message in ump_kernel_descriptor.c


    int ump_descriptor_mapping_allocate_mapping(ump_descriptor_mapping * map, void * target)
    {

         int descriptor = -1;/*-EFAULT;*/
         _mali_osk_lock_wait(map->lock, _MALI_OSK_LOCKMODE_RW);
         descriptor = _mali_osk_find_first_zero_bit(map->table->usage, map->current_nr_mappings);

         DBG_MSG(1, ("==descriptor==:%d\n",descriptor));
         DBG_MSG(1, ("==map->current_nr_mappings==:%d\n",map->current_nr_mappings));
    ......

    Once the descriptor [size=2]is bigger than 512, the issue will happen.[/size]
    [size=2]
    [/size]
    [size=2]And so far, we found it happens under Firefox and [/size]RDP(Remote Desktop Protocol).

    Thank you^^

    Hi William,

    Would it be possible for you to give steps that reproduce the bug (e.g., what websites trigger it, how many tabs are opened)?. Also, can you test if the same behaviour exists if you use Chromium?.

    Best regards,
    Tu


Reply
  • Note: This was originally posted on 8th May 2013 at http://forums.arm.com

    Hi Tu Vuong,

    Thank you for help:)
    We have traced the issue, it caused by the "descriptor is not enough".

    You can see the following thread. [size=2]But we still can't figure out how to solve this issue. [/size]
    http://forums.arm.com/index.php?/topic/16746-the-descriptor-is-not-enough/

    To [size=2]reproduce the bug, t[/size][size=2]he website is not specific, for example, we browse the [/size]http://tw.yahoo.com/[size=2] or [/size]http://www.sina.com.cn/
    And we only open 1~2 tabs, and do the [size=2]browsing as n[/size]ormal using. About 20 min, [size=2]It can [/size][size=2]reproduce the bug.[/size]
    [size=2]
    [/size]
    [size=2]There is another way to [/size][size=2]reproduce the bug more quickly. [/size]
    Change the value of UMP_SECURE_ID_TABLE_ENTRIES_MAXIMUM from 4096 to 512 in ump_kernel_common.c.
    And add some debug message in ump_kernel_descriptor.c


    int ump_descriptor_mapping_allocate_mapping(ump_descriptor_mapping * map, void * target)
    {

         int descriptor = -1;/*-EFAULT;*/
         _mali_osk_lock_wait(map->lock, _MALI_OSK_LOCKMODE_RW);
         descriptor = _mali_osk_find_first_zero_bit(map->table->usage, map->current_nr_mappings);

         DBG_MSG(1, ("==descriptor==:%d\n",descriptor));
         DBG_MSG(1, ("==map->current_nr_mappings==:%d\n",map->current_nr_mappings));
    ......

    Once the descriptor [size=2]is bigger than 512, the issue will happen.[/size]
    [size=2]
    [/size]
    [size=2]And so far, we found it happens under Firefox and [/size]RDP(Remote Desktop Protocol).

    Thank you^^

    Hi William,

    Would it be possible for you to give steps that reproduce the bug (e.g., what websites trigger it, how many tabs are opened)?. Also, can you test if the same behaviour exists if you use Chromium?.

    Best regards,
    Tu


Children
No data