Wind River Support Network


LIN6-6559 : SIGSEGV running mpatrol on the demo for qt4-embedded, qtdemoE on qemux86

Created: Apr 20, 2013    Updated: Apr 19, 2018
Resolved Date: Sep 5, 2013
Found In Version: 6.0
Fix Version: 6.0
Severity: Severe
Applicable for: Wind River Linux 6
Component/s: Workbench Integration


Running mpatrol on the qt embedded demonstration program, qtdemoE on qemux86 causes a SIGSEGV fault every time on the same memory access after two or three minutes.  The fault ends mpatrol but the results that print show that more than a hundred thousand symbols have been loaded.

Additional testing revealed that the failure always (meaning 20 out of 20 times) occurs in the context of a constructor in qbuiltintypes.cpp:139, while adding a new string to the mpatrol string table that has been added to the callstack, and in code that needs to increase the size of the string table hash table.

The failure never occurs if mpatrol is run with the -N option that disables using mprotect() system call to make the mpatrol data structures READONLY in order to protect the internal structures from applications that are writing to the wrong parts of memory.

Steps to Reproduce

wrlinux/configure --enable-board=qemux86 --enable-build=debug --enable-jobs=8 --enable-kernel=standard --enable-rootfs=glibc-small --enable-parallel-pkgbuilds=8 --with-package=qt4-embedded 
make fs

TARGET_QEMU_MEM=2048 make start-target TOPTS="-gc -t"

mpatrol --threads --check-all --timestamp --use-debug --log-all \
--log-file=stdout --dynamic 


Other Downloads

Live chat