This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SK-AM64B: Memory can not allocated

Part Number: SK-AM64B
Other Parts Discussed in Thread: TMDS64EVM

Hii,

I am using a ubuntu 18 docker and run a executable file, previously. I am not getting these error can you guide me to solve this issue

Error:

[ 6222.475214] __vm_enough_memory: pid: 2358, comm: safety_node1, no enough memory for the allocation
[ 6222.475257] __vm_enough_memory: pid: 2358, comm: safety_node1, no enough memory for the allocation

what(): std::bad_alloc
[ 6222.475302] __vm_enough_memory: pid: 2358, comm: safety_node1, no enough memory for the allocation
[ 6222.476857] audit: type=1701 audit(1692615168.760:81): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=2358 comm="safety_node1" exe="/gpioMerge/devel/lib/safety/safety_node1" sig=6 res=1
[ 6222.524873] audit: type=1334 audit(1692615168.808:82): prog-id=23 op=LOAD
[ 6222.526060] audit: type=1334 audit(1692615168.808:83): prog-id=24 op=LOAD
Aborted (core dumped)
[ 6223.443573] audit: type=1334 audit(1692615169.728:84): prog-id=24 op=UNLOAD
[ 6223.443602] audit: type=1334 audit(1692615169.728:85): prog-id=23 op=UNLOAD

hear safety_node1 is a c++ executable Name. 

command (top) output:

KiB Mem : 1924040 total, 1330832 free, 164280 used, 428928 buff/cache
KiB Swap: 4194300 total, 4194300 free, 0 used. 1730204 avail Mem

command (df -h) output:

Filesystem      Size      Used     Avail   Use% Mounted on
/dev/root         58G      9.8G      46G    18%     /
devtmpfs        923M    4.0K      923M   1%      /dev
tmpfs              940M      0          940M   0%     /dev/shm
tmpfs              376M    9.5M      367M   3%      /run      
tmpfs              4.0M     0            4.0M    0% /sys/fs/cgroup
tmpfs              16M       0          16M      0% /media/ram
tmpfs              940M   4.0K      940M    1%   /tmp
tmpfs             50M      8.0K      50M      1% /var/volatile
/dev/mmcblk1p1 128M  24M    104M    19% /media/mmcblk1p1
tmpfs          188M        0          188M      0%   /run/user/0

  • Hi Debashis,

    I am using a ubuntu 18 docker and run a executable file,

    Do you mean you run an Ubuntu 18 docker image on SK-AM64B? If so, which Processor SDK version do you use on SK-AM64B?

  • Hi Bin,
    I am using the updated  version 9.00 SDK and Yes, I am using Ubuntu 18 docker image on SK-AM64B.

    dr-download.ti.com/.../ti-processor-sdk-linux-am64xx-evm-09.00.00.03-Linux-x86-Install.bin

  • Hi Debashis,

    I am routing your query to our Docker expert for comments.

  • How much memory are you trying to allocate? Can you trace all the related alloc/de-alloc calls and their associated parameters in your application to see what leads up to this? Perhaps memory get fragmented/partitioned differently in that new SDK v9.0-based execution environment.

    Regards, Andreas

  • Hi Andreas,
    I am just trying to do ROS Subscribe in the board it just a simple c++ code to subscribe the topic. But first line itself is showing error it nothing but ros::init() i debug it to know which line cause error.But previously its working fine. you can refer the ROS  publisher subscriber code from ROS team.

    http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28c%2B%2B%29

    And along with that i just merge gpio code to make a line High and Low as per subscriber data.

    Regards, Debashis

  • Supporting some custom ROS programming is well into "userspace world" and beyond what we really can support here, which focuses more on the TI-specific parts of the Embedded Linux eco-system.

    But perhaps the following helps. You could try invoking your program through the `strace` command, configured for tracking memory allocations. This may help uncover any unexpected/unusual requests. Example below, for tracing the simple `ls` command (put the name of your own executable there)

    root@am64xx-evm:~# strace -f -tT -e trace=memory ls
    06:07:10 brk(NULL)                      = 0x151bc000 <0.000088>
    06:07:10 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff893ca000 <0.000095>
    06:07:10 mmap(NULL, 871, PROT_READ, MAP_PRIVATE, 3, 0) = 0xffff893c9000 <0.000073>
    06:07:10 mmap(NULL, 176832, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff89369000 <0.000078>
    06:07:10 mmap(0xffff89370000, 111296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xffff89370000 <0.000134>
    06:07:10 munmap(0xffff89369000, 28672)  = 0 <0.000051>
    06:07:10 munmap(0xffff8938c000, 33472)  = 0 <0.000044>
    06:07:10 mprotect(0xffff8937a000, 65536, PROT_NONE) = 0 <0.000076>
    06:07:10 mmap(0xffff8938a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0xffff8938a000 <0.000068>
    06:07:10 mmap(NULL, 1805328, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff891b7000 <0.000068>
    06:07:10 mmap(0xffff891c0000, 1739792, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xffff891c0000 <0.000307>
    06:07:10 munmap(0xffff891b7000, 36864)  = 0 <0.000056>
    06:07:10 munmap(0xffff89369000, 27664)  = 0 <0.000044>
    06:07:10 mprotect(0xffff89347000, 65536, PROT_NONE) = 0 <0.000099>
    06:07:10 mmap(0xffff89357000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x187000) = 0xffff89357000 <0.000088>
    06:07:10 mmap(0xffff8935d000, 48144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffff8935d000 <0.000106>
    06:07:10 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff893c7000 <0.000062>
    06:07:10 mprotect(0xffff89357000, 12288, PROT_READ) = 0 <0.000097>
    06:07:10 mprotect(0xffff8938a000, 4096, PROT_READ) = 0 <0.000068>
    06:07:10 mprotect(0x435000, 4096, PROT_READ) = 0 <0.000060>
    06:07:10 mprotect(0xffff893cf000, 8192, PROT_READ) = 0 <0.000076>
    06:07:10 munmap(0xffff893c9000, 871)    = 0 <0.000109>
    06:07:10 brk(NULL)                      = 0x151bc000 <0.000030>
    06:07:10 brk(0x151dd000)                = 0x151dd000 <0.000094>
    linux-test
    06:07:10 +++ exited with 0 +++
    root@am64xx-evm:~#

    Regards, Andreas

  • Hii Andreas ,
    I tried lot of ways but getting same error after that i pulled docker suitable with ros environment after that also get same issue but when i tried to pull same container with different arch board its working fine. Can you guide me please ?

  • Did you trace memory consumption as suggested earlier? Can you post a log of that?

    Also can you compare the output of the `free -h` command of your older, working setup, and the new SDK v9.0-based setup, right before you run your custom executable?

    Regards, Andreas

  • root@am64xx-evm:/rosCode/devel/lib/pub# strace -f -tT -e trace=memory ./pub
    04:44:01 brk(NULL) = 0x227e000 <0.000282>
    04:44:01 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7bcd000 <0.000250>
    04:44:01 mmap2(NULL, 1223384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7a7d000 <0.001267>
    04:44:01 mprotect(0xf7b92000, 65536, PROT_NONE) = 0 <0.000665>
    04:44:01 mmap2(0xf7ba2000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x115000) = 0xf7ba2000 <0.001093>
    04:44:01 mmap2(NULL, 218748, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7a47000 <0.001061>
    04:44:01 mprotect(0xf7a6b000, 65536, PROT_NONE) = 0 <0.000762>
    04:44:01 mmap2(0xf7a7b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0xf7a7b000 <0.000656>
    04:44:01 mmap2(NULL, 73844, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7a34000 <0.001392>
    04:44:01 mprotect(0xf7a35000, 65536, PROT_NONE) = 0 <0.000984>
    04:44:01 mmap2(0xf7a45000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xf7a45000 <0.001004>
    04:44:01 mmap2(NULL, 140116, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7a11000 <0.001052>
    04:44:01 mprotect(0xf7a23000, 61440, PROT_NONE) = 0 <0.000924>
    04:44:01 mmap2(0xf7a32000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0xf7a32000 <0.001010>
    04:44:01 mmap2(NULL, 144210, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf79ed000 <0.001324>
    04:44:01 mmap2(NULL, 1124100, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf78da000 <0.001211>
    04:44:01 mprotect(0xf79d4000, 65536, PROT_NONE) = 0 <0.000947>
    04:44:01 mmap2(0xf79e4000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xfa000) = 0xf79e4000 <0.000459>
    04:44:01 mmap2(0xf79eb000, 5892, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf79eb000 <0.000506>
    04:44:01 mmap2(NULL, 164148, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf78b1000 <0.000662>
    04:44:01 mprotect(0xf78c9000, 61440, PROT_NONE) = 0 <0.001057>
    04:44:01 mmap2(0xf78d8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0xf78d8000 <0.001095>
    04:44:01 mmap2(NULL, 1013124, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf77b9000 <0.000940>
    04:44:01 mprotect(0xf789b000, 65536, PROT_NONE) = 0 <0.000994>
    04:44:01 mmap2(0xf78ab000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe2000) = 0xf78ab000 <0.001180>
    04:44:01 mmap2(0xf78ae000, 9604, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf78ae000 <0.001140>
    04:44:01 mmap2(NULL, 148812, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7794000 <0.000804>
    04:44:01 mprotect(0xf77a8000, 61440, PROT_NONE) = 0 <0.000792>
    04:44:01 mmap2(0xf77b7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0xf77b7000 <0.000792>
    04:44:01 mmap2(NULL, 94604, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf777c000 <0.001011>
    04:44:01 mprotect(0xf7783000, 61440, PROT_NONE) = 0 <0.000909>
    04:44:01 mmap2(0xf7792000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0xf7792000 <0.000517>
    04:44:01 mmap2(NULL, 78028, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7768000 <0.000473>
    04:44:01 mprotect(0xf776b000, 61440, PROT_NONE) = 0 <0.000460>
    04:44:01 mmap2(0xf777a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xf777a000 <0.000511>
    04:44:01 mmap2(NULL, 181156, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf773b000 <0.000129>
    04:44:01 mprotect(0xf7756000, 65536, PROT_NONE) = 0 <0.000309>
    04:44:01 mmap2(0xf7766000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0xf7766000 <0.000427>
    04:44:01 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7bcb000 <0.000117>
    04:44:01 mmap2(NULL, 73808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7728000 <0.000196>
    04:44:01 mprotect(0xf772a000, 61440, PROT_NONE) = 0 <0.000280>
    04:44:01 mmap2(0xf7739000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xf7739000 <0.001367>
    04:44:01 mmap2(NULL, 148052, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7703000 <0.000363>
    04:44:01 mprotect(0xf7714000, 65536, PROT_NONE) = 0 <0.000159>
    04:44:01 mmap2(0xf7724000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0xf7724000 <0.000209>
    04:44:01 mmap2(0xf7726000, 4692, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf7726000 <0.000163>
    04:44:01 mmap2(NULL, 135844, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf76e1000 <0.000125>
    04:44:01 mprotect(0xf76f2000, 61440, PROT_NONE) = 0 <0.000144>
    04:44:01 mmap2(0xf7701000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0xf7701000 <0.000176>
    04:44:01 mmap2(NULL, 524408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7660000 <0.000146>
    04:44:01 mprotect(0xf76cf000, 65536, PROT_NONE) = 0 <0.000151>
    04:44:01 mmap2(0xf76df000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6f000) = 0xf76df000 <0.000184>
    04:44:01 mmap2(NULL, 135940, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf763e000 <0.000907>
    04:44:01 mprotect(0xf764e000, 65536, PROT_NONE) = 0 <0.000337>
    04:44:01 mmap2(0xf765e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0xf765e000 <0.000223>
    04:44:01 mmap2(NULL, 69692, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf762c000 <0.000343>
    04:44:01 mprotect(0xf762d000, 61440, PROT_NONE) = 0 <0.000279>
    04:44:01 mmap2(0xf763c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xf763c000 <0.000200>
    04:44:01 mmap2(NULL, 1277408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf74f4000 <0.000427>[164828.742526] audit: type=1701 audit(1693543442.219:237): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=33243 comm="pub" exe="/rosCode/devel/lib/pub/pub" sig=6 res=1

    04:44:01 mprotect(0xf7608000, 65536, PROT_NONE) = 0 <0.000269>
    04:44:01 mmap2(0xf7618000, 81920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x114000) = 0xf7618000 <0.000481>
    04:44:01 mmap2(NULL, 768836, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7438000 <0.000130>
    04:44:01 mprote[164828.783008] audit: type=1334 audit(1693543442.259:238): prog-id=67 op=LOAD
    ct(0xf74e1000, 65536, PROT_NONE) = 0 <0.000253>
    04:44:01 mmap2([164828.783647] audit: type=1334 audit(1693543442.259:239): prog-id=68 op=LOAD
    0xf74f1000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa9000) = 0xf74f1000 <0.000259>
    04:44:01 mmap2(NULL, 86552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7422000 <0.001059>
    04:44:01 mprotect(0xf7427000, 61440, PROT_NONE) = 0 <0.000224>
    04:44:01 mmap2(0xf7436000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xf7436000 <0.000459>
    04:44:01 mmap2(NULL, 77880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf740e000 <0.000198>
    04:44:01 mprotect(0xf7410000, 65536, PROT_NONE) = 0 <0.000216>
    04:44:01 mmap2(0xf7420000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xf7420000 <0.000270>
    04:44:01 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7bc9000 <0.000390>
    04:44:01 mmap2(NULL, 189660, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf73df000 <0.000508>
    04:44:01 mprotect(0xf73fd000, 61440, PROT_NONE) = 0 <0.000235>
    04:44:01 mmap2(0xf740c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d000) = 0xf740c000 <0.000301>
    04:44:01 mmap2(NULL, 181328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf73b2000 <0.000272>
    04:44:01 mprotect(0xf73ce000, 61440, PROT_NONE) = 0 <0.000312>
    04:44:01 mmap2(0xf73dd000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0xf73dd000 <0.000484>
    04:44:01 mmap2(NULL, 1869656, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf71e9000 <0.000155>
    04:44:01 mprotect(0xf7399000, 65536, PROT_NONE) = 0 <0.000414>
    04:44:01 mmap2(0xf73a9000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b0000) = 0xf73a9000 <0.000531>
    04:44:01 mmap2(NULL, 1267312, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf70b3000 <0.000179>
    04:44:01 mprotect(0xf71cd000, 65536, PROT_NONE) = 0 <0.000622>
    04:44:01 mmap2(0xf71dd000, 45056, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11a000) = 0xf71dd000 <0.000426>
    04:44:01 mmap2(0xf71e8000, 1648, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf71e8000 <0.000484>
    04:44:01 mmap2(NULL, 86260, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf709d000 <0.000159>
    04:44:01 mprotect(0xf70a2000, 61440, PROT_NONE) = 0 <0.000188>
    04:44:01 mmap2(0xf70b1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xf70b1000 <0.000200>
    04:44:01 mmap2(NULL, 73924, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf708a000 <0.000201>
    04:44:01 mprotect(0xf708c000, 61440, PROT_NONE) = 0 <0.000163>
    04:44:01 mmap2(0xf709b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xf709b000 <0.000237>
    04:44:01 mmap2(NULL, 254360, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf704b000 <0.000363>
    04:44:01 mprotect(0xf7052000, 61440, PROT_NONE) = 0 <0.000296>
    04:44:02 mmap2(0xf7061000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0xf7061000 <0.000356>
    04:44:02 mmap2(0xf7063000, 156056, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf7063000 <0.000255>
    04:44:02 mmap2(NULL, 200860, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7019000 <0.000392>
    04:44:02 mprotect(0xf7039000, 61440, PROT_NONE) = 0 <0.000364>
    04:44:02 mmap2(0xf7048000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0xf7048000 <0.000261>
    04:44:02 mmap2(NULL, 26968072, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf5660000 <0.000396>
    04:44:02 mprotect(0xf7008000, 61440, PROT_NONE) = 0 <0.000267>
    04:44:02 mmap2(0xf7017000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19a7000) = 0xf7017000 <0.000415>
    04:44:02 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7bc7000 <0.000187>
    04:44:02 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7bc5000 <0.000235>
    04:44:02 mprotect(0xf7017000, 4096, PROT_READ) = 0 <0.000283>
    04:44:02 mprotect(0xf78ab000, 8192, PROT_READ) = 0 <0.000417>
    04:44:02 mprotect(0xf78d8000, 4096, PROT_READ) = 0 <0.000414>
    04:44:02 mprotect(0xf7048000, 8192, PROT_READ) = 0 <0.000495>
    04:44:02 mprotect(0xf7061000, 4096, PROT_READ) = 0 <0.000870>
    04:44:02 mprotect(0xf709b000, 4096, PROT_READ) = 0 <0.000393>
    04:44:02 mprotect(0xf70b1000, 4096, PROT_READ) = 0 <0.000174>
    04:44:02 mprotect(0xf76df000, 4096, PROT_READ) = 0 <0.000148>
    04:44:02 mprotect(0xf79e4000, 20480, PROT_READ) = 0 <0.000213>
    04:44:02 mprotect(0xf7724000, 4096, PROT_READ) = 0 <0.000178>
    04:44:02 mprotect(0xf71dd000, 40960, PROT_READ) = 0 <0.000298>
    04:44:02 mprotect(0xf73a9000, 32768, PROT_READ) = 0 <0.000518>
    04:44:02 mprotect(0xf740c000, 4096, PROT_READ) = 0 <0.000733>
    04:44:02 mprotect(0xf73dd000, 4096, PROT_READ) = 0 <0.000638>
    04:44:02 mprotect(0xf7420000, 4096, PROT_READ) = 0 <0.000791>
    04:44:02 mprotect(0xf7436000, 4096, PROT_READ) = 0 <0.000649>
    04:44:02 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7bc3000 <0.000499>
    04:44:02 mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7bc0000 <0.000199>
    04:44:02 mprotect(0xf74f1000, 8192, PROT_READ) = 0 <0.000730>
    04:44:02 mprotect(0xf7618000, 77824, PROT_READ) = 0 <0.000315>
    04:44:02 mprotect(0xf763c000, 4096, PROT_READ) = 0 <0.000644>
    04:44:02 mprotect(0xf777a000, 4096, PROT_READ) = 0 <0.000272>
    04:44:02 mprotect(0xf765e000, 4096, PROT_READ) = 0 <0.000171>
    04:44:02 mprotect(0xf7701000, 4096, PROT_READ) = 0 <0.000160>
    04:44:02 mprotect(0xf7739000, 4096, PROT_READ) = 0 <0.000142>
    04:44:02 mprotect(0xf7766000, 4096, PROT_READ) = 0 <0.000537>
    04:44:02 mprotect(0xf7792000, 4096, PROT_READ) = 0 <0.000187>
    04:44:02 mprotect(0xf7a32000, 4096, PROT_READ) = 0 <0.000169>
    04:44:02 mprotect(0xf77b7000, 4096, PROT_READ) = 0 <0.000220>
    04:44:02 mprotect(0xf7a45000, 4096, PROT_READ) = 0 <0.000156>
    04:44:02 mprotect(0xf7a7b000, 4096, PROT_READ) = 0 <0.000181>
    04:44:02 mprotect(0xf7ba2000, 12288, PROT_READ) = 0 <0.000221>
    04:44:02 mprotect(0x9fb000, 4096, PROT_READ) = 0 <0.000168>
    04:44:02 mprotect(0xf7bd0000, 4096, PROT_READ) = 0 <0.000289>
    04:44:02 munmap(0xf79ed000, 144210) = 0 <0.000316>
    04:44:02 brk(NULL) = 0x227e000 <0.000187>
    04:44:02 brk(0x229f000) = 0x229f000 <0.000197>
    04:44:02 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7a0f000 <0.000456>
    04:44:02 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7a0d000 <0.000197>
    04:44:02 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7a0b000 <0.000195>
    04:44:02 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7a09000 <0.000458>
    04:44:02 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7a07000 <0.000515>
    04:44:02 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7a05000 <0.000382>
    04:44:02 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7a03000 <0.000480>
    04:44:02 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7a01000 <0.000380>
    Ok1
    terminate called after throwing an instance of 'std::length_error'
    what(): vector::_M_default_append
    04:44:02 --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=97, si_uid=0} ---
    04:44:03 +++ killed by SIGABRT (core dumped) +++
    [164829.590175] audit: type=1701 audit(1693543443.067:240): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=33241 comm="strace" exe="/usr/bin/strace" sig=6 res=1
    [164829.642099] audit: type=1334 audit(1693543443.119:241): prog-id=69 op=LOAD
    [164829.642848] audit: type=1334 audit(1693543443.119:242): prog-id=70 op=LOAD
    [164829.769518] audit: type=1334 audit(1693543443.247:243): prog-id=68 op=UNLOAD
    [164829.769553] audit: type=1334 audit(1693543443.247:244): prog-id=67 op=UNLOAD
    Aborted (core dumped)
    root@am64xx-evm:/rosCode/devel/lib/pub# [164830.565505] audit: type=1334 audit(1693543444.043:245): prog-id=70 op=UNLOAD
    [164830.565534] audit: type=1334 audit(1693543444.043:246): prog-id=69 op=UNLOAD

  • Hii Andreas,
    In some docker container showing this vector::_M_default_append error and in some docker its showing that vm_memory error. In the place of ls i run my executable name.

    Regards, Debashis

  • root@am64xx-evm:/rosCode/devel/lib/pub# free -h
    total used free shared buff/cache available
    Mem: 1.8G 192M 118M 29M 1.5G 1.6G
    Swap: 0B 0B 0B
    root@am64xx-evm:/rosCode/devel/lib/pub# sync; echo 3 > /proc/sys/vm/drop_caches
    [165415.972968] bash (33123): drop_caches: 3
    root@am64xx-evm:/rosCode/devel/lib/pub# free -h
    total used free shared buff/cache available
    Mem: 1.8G 157M 1.5G 29M 159M 1.6G
    Swap: 0B 0B 0B


    Hii Andreas,
    After that also i run the program same issue.

    Regards, Debashis

  • Let me make some time and digest this some more and get back to you next week.

    Regards, Andreas

  • Hi Andreas,
    Is you find anything regarding that issue. Currently we are using version 8.x(latest) SDK and we thinking to buy TMDS64EVM for testing because we found unreliable SD Card boot up in SKAM64B kit.

    In TMDS64EVM we saw there is only one SDK version is available. So, Is there any kind of ROS related memory issue are there ?
    Please Let us confirm as soon as possible. So, we can move forward.

    Regards
    Debashis

  • nd we thinking to buy TMDS64EVM for testing because we found unreliable SD Card boot up in SKAM64B kit.

    We found a HW issue affecting the SD card usage reliability on SK-AM64B involving missing pull-up/down resistors on CMD, CLK, and DAT0-3 and are currently in the process of updating the user's guide for that board to include some rework instructions (also for AM64x GP EVM Rev C). I've attached a preliminary copy of the needed modifications for SK-AM64B so you can use/apply those immediately.

    Sk-AM64B MMC1 Rework.pdf

    In TMDS64EVM we saw there is only one SDK version is available.

    I'm not sure what you refer to. For our AM64x boards there are several SDK versions available for download.

    https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-AM64X

    Is you find anything regarding that issue.

    As for your out-of-memory issue, you also could (for testing purposes) try to enable virtual memory to see if this resolves the issue. But there could well be an issue with the example code you are trying to run; perhaps check with the associated author/community of that example code to see if this is a known issue or there are any recommendations or if there's a newer/improved version of that example code available.

    Regards, Andreas

  • Hi Andreas,
    What ever the rework.pdf you have given that we already implemented but there is no change with boot up issue.

    And what ever the memory issue we are facing is only in version 9.00 not in v8.06.00.42.

    Regards
    Debashis

  • What ever the rework.pdf you have given that we already implemented

    That's great!!

    but there is no change with boot up issue.

    Can you try different (brand) SD cards?

    And what ever the memory issue we are facing is only in version 9.00 not in v8.06.00.42.

    Yes thanks for re-iterating this. Perhaps you can do some A-B testing to see if there's any dependency on certain component versions. For example you could try building a v9.0-ish image using Yocto, but with the Docker (and related?) recipes dialed back to v8.6 versions, to see if you can find any correlation.

    Regards, Andreas