Quantcast
Channel: Processors
Viewing all articles
Browse latest Browse all 150011

Forum Post: AM335x pvrsrvkm out of memory

$
0
0

I am getting an Out of memory error when trying to run my Qt application on our custom hardware based on the AM335x EVM, here's the partial strace:

root@am335x-evm:/usr/Qt5.2/test_button# strace -f ./test_button -platform eglfs execve("./test_button", ["./test_button", "-platform", "eglfs"], [/* 19 vars */]) = 0 brk(0)                                  = 0x15000 uname({sys="Linux", node="am335x-evm", ...}) = 0 access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory) mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400d2000 access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory) ... fstat64(5, {st_mode=S_IFREG|0755, st_size=22028, ...}) = 0 mmap2(NULL, 53500, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x40f00000 mprotect(0x40f05000, 28672, PROT_NONE)  = 0 mmap2(0x40f0c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x4) = 0x40f0c000 close(5)                                = 0 mprotect(0x40f0c000, 4096, PROT_READ)   = 0 mprotect(0x40f84000, 4096, PROT_READ)   = 0 munmap(0x40efc000, 15271)               = 0 open("/dev/pvrsrvkm", O_RDWR)           = -1 ENOMEM (Cannot allocate memory) write(2, "Could not initialize egl display"..., 34Could not initialize egl display  ) = 34 write(2, "EGL error\n", 10EGL error )             = 10 rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0 tgkill(1639, 1639, SIGABRT)             = 0 --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=1639, si_uid=0} --- +++ killed by SIGABRT +++ Aborted


As you can see at the end there's a open call to /dev/pvrsrvkm resulting in an ENOMEM error. I have seen the "debugging SGX" page here: http://processors.wiki.ti.com/index.php/SGXDbg

And in there it says:

4. If the display driver (omaplfb.ko) does not load, most likely it is because of insufficient memory allocated to the frame buffer for the required resolution and FLIP mode, or there is a real problem with registering the VSync interrupts on the platform. Post it on the E2E forum with the output of the gfx_check.sh script linked in earlier section.

5. If the services kernel module (pvrsrvkm.ko) does not load, it is likely because of mismatches between user mode binaries and kernel modules. If the kernel modules are built correctly as specified, post the issue on the E2E forum with the output of the gfx_check.sh script linked in earlier section.

This seems like an issue where the /dev/pvrsrvkm simply does not open correctly, could this be due to the frame buffer having insufficient memory as was mentioned in #4 above? How can I check the amount currently allocated and how do I allocate more?

Thanks


Viewing all articles
Browse latest Browse all 150011

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>