root@devac03:~# valgrind --leak-check rsyslogd -dn
valgrind: Unknown option: --leak-check
valgrind: Use --help for more information or consult the user manual.
root@devac03:~# valgrind --leak-check=yes rsyslogd -dn
==6040== Memcheck, a memory error detector
==6040== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==6040== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==6040== Command: rsyslogd -dn
==6040==
==6040== Invalid read of size 8
==6040== at 0x483670A: ??? (in /usr/lib/valgrind/vgpreload_memcheck-s390x-linux.so)
==6040== by 0x40125A1: call_init.part.0 (dl-init.c:72)
==6040== by 0x40126E9: call_init (dl-init.c:30)
==6040== by 0x40126E9: _dl_init (dl-init.c:120)
==6040== by 0x400106B: ??? (in /lib/s390x-linux-gnu/ld-2.21.so)
==6040== Address 0xfff000350 is on thread 1's stack
==6040== 56 bytes below stack pointer
==6040==
9661.439689371:main thread : rsyslogd 8.14.0 startup, module path '', cwd:/root
9661.480845996:main thread : caller requested object 'net', not found (iRet -3003)
9661.482264325:main thread : Requested to load module 'lmnet'
9661.486028372:main thread : loading module '/usr/lib/rsyslog/lmnet.so'
9661.511521694:main thread : module lmnet of type 2 being loaded (keepType=0).
9661.512776452:main thread : entry point 'isCompatibleWithFeature' not present in module
9661.513036005:main thread : entry point 'setModCnf' not present in module
9661.513230123:main thread : entry point 'getModCnfName' not present in module
9661.513394423:main thread : entry point 'beginCnfLoad' not present in module
9661.515640371:main thread : source file conf.c requested reference for module 'lmnet', reference count now 1
9661.521005816:main thread : rsyslog runtime initialized, version 8.14.0, current users 1
9661.531798934:main thread : source file rsyslogd.c requested reference for module 'lmnet', reference count now 2
vex s390->IR: unimplemented insn: EC44 22BF 7E59
==6040== valgrind: Unrecognised instruction at address 0x155bf6.
==6040== at 0x155BF6: create_hashtable (hashtable.c:63)
==6040== by 0x11FDD7: dnscacheInit (dnscache.c:122)
==6040== by 0x15D1CD: rsyslogd_InitGlobalClasses (rsyslogd.c:485)
==6040== by 0x15E235: initAll (rsyslogd.c:1094)
==6040== by 0x11EC1F: main (rsyslogd.c:1625)
==6040== Your program just tried to execute an instruction that Valgrind
==6040== did not recognise. There are two possible reasons for this.
==6040== 1. Your program has a bug and erroneously jumped to a non-code
==6040== location. If you are running Memcheck and you just saw a
==6040== warning about a bad jump, it's probably your program's fault.
==6040== 2. The instruction is legitimate but Valgrind doesn't handle it,
==6040== i.e. it's Valgrind's fault. If you think this is the case or
==6040== you are not sure, please let us know and we'll try to fix it.
==6040== Either way, Valgrind will now raise a SIGILL signal which will
==6040== probably kill your program.
==6040==
==6040== Process terminating with default action of signal 4 (SIGILL)
==6040== Illegal opcode at address 0x155BF6
==6040== at 0x155BF6: create_hashtable (hashtable.c:63)
==6040== by 0x11FDD7: dnscacheInit (dnscache.c:122)
==6040== by 0x15D1CD: rsyslogd_InitGlobalClasses (rsyslogd.c:485)
==6040== by 0x15E235: initAll (rsyslogd.c:1094)
==6040== by 0x11EC1F: main (rsyslogd.c:1625)
==6040==
==6040== HEAP SUMMARY:
==6040== in use at exit: 20,393 bytes in 312 blocks
==6040== total heap usage: 434 allocs, 122 frees, 22,709 bytes allocated
==6040==
==6040== LEAK SUMMARY:
==6040== definitely lost: 0 bytes in 0 blocks
==6040== indirectly lost: 0 bytes in 0 blocks
==6040== possibly lost: 0 bytes in 0 blocks
==6040== still reachable: 20,393 bytes in 312 blocks
==6040== suppressed: 0 bytes in 0 blocks
==6040== Reachable blocks (those to which a pointer was found) are not shown.
==6040== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==6040==
==6040== For counts of detected and suppressed errors, rerun with: -v
==6040== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Illegal instruction