in reply to Problem with script using threads

How deep do you want to go and what tools do you have available?

One option to track down malloc bugs is to use valgrind --tool=memcheck. But it will greatly help to have a proper debug build with symbols and the sources unpacked, too. In which case you could instead try the sanitizers that come with modern compiler toolchains. Perl should properly build and run with either ASAN or TSAN (address or thread sanitizer). For example.

$ export ASAN_OPTIONS=detect_leaks=0      # ignore exit leaks
$ cd perl-5.24.1
$ ./Configure -des -Dprefix=/tmp/TEST -Dusethreads -DDEBUGGING \
  -Dcc='clang -fPIE -fsanitize=address -fno-optimize-sibling-calls -fno-omit-frame-pointer'
$ make -j5 && make install
$ PATH="/tmp/TEST/bin:$PATH"
... # build and install modules
The sanitizers have significant run-time memory and cpu overheads. More about them at github.

Replies are listed 'Best First'.
Re^2: Problem with script using threads
by bsshetty17 (Acolyte) on May 12, 2017 at 03:49 UTC
    I hardly have any tool to debug. No much permission to do anything with machine. when i tried "file core" of coredump I got the following: core: ELF-32 core file - IA64 from 'perl-dynamic' - received SIGSEGV