I asked a man to run this test on armle.
His log was:# pidin info
CPU:ARM Release:6.3.0 FreeMem:46Mb/64Mb BootTime:Jan 01 00:00:00 UTC 1970
Processor1: 1761946886 pxa250 400MHz
I think PVK is saying that when his system ‘crashed’ that it really crashed as in locked up as opposed to just printing the out of memory error as it does on an x86 system.
I have no idea how memory management works on ARM processors so I am not sure what the problem could be.
One thing PVK didn’t mention was his setup or that of the other person. If he was remotely telneted into his target it’s possible that when he ran out of memory that it merely looked like a crash because telnet hung up because it couldn’t get any RAM that it might have needed.
Just a suggestion. Change the while loop to a for loop, and have it run just one or two more cycles then it usually takes to crash. This will confirm or eliminate the possibility that the crash is caused by the loop running away.
I have installed SP2.
How can i understand, that 6.3.2 core is updated?
I don’t find this fis in SP2.
Only this, but it is not this problem:
"What’s new: Core OS
malloc() optimizations
The standard C library malloc() has been reworked to improve performance for small allocations. "
I ran this test on Monte Jade IXDPG425, also on another board.
And in another QNX forum another man have this problem.
6.3.2 is NOT included in SP2, it’s a separate update. I took a quick look at the release note but didn’t find anything about an ARM specific issued.
bad.
If you run qconfig it will tell you all the installed updated.
Then either it’s a bug with the kernel ( which I doubt for something so basic) or it could be the memory mapping that doesn’t match the physical layout of the memory.
Can you describe the crash of the system. In other words, what makes you think the system crashed? Do you see a Kernal fault displayed? Does the board auto-reset? Or something else?
Remember, if all the RAM is exhausted some very simple things like printf may stop working simply because they need some Ram they can no longer get. So it may be that the OS is in fact still running.
Determining when an OS exhausts all available memory is a tricky thing to do in practice unless you create memory pools for all utilities to ensure they can still report the out of Ram condition.
If you look in the help viewer and search for “kernel dump” you’ll see a nice little section on how to read it. Not that it will do much good of course.
All this tells you (S/C/F=11/1/11) is that you got a signal 11 (SIGSEGV) due to an Address Not Mapped error while qconn was running.
This seems to point to what Mario talked about with the memory mapping not matching the physical layout of the memory. Not sure how that helps much to solve it. Probably need to contact QNX tech support at this point or check all the options to the kernel for ARMBE and see if there are any memory options to be set.
I find it odd that the instruction is at address 0x00112efc, since the kernel seems to be located at address 0xfexxxxx and there is only 64M of ram that doesn`t add up.
Note that I`m not that familliar with interpreting kernel dump.