[ladrone@Shadow_Gallery z5]$ valgrind -v ./mergeSort.o < data.txt ==5784== Memcheck, a memory error detector ==5784== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==5784== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==5784== Command: ./mergeSort.o ==5784== --5784-- Valgrind options: --5784-- -v --5784-- Contents of /proc/version: --5784-- Linux version 4.9.61-3-MANJARO (builduser@manjaro) (gcc version 7.2.0 (GCC) ) #1 SMP PREEMPT Thu Nov 9 01:18:52 UTC 2017 --5784-- --5784-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-rdtscp-sse3 --5784-- Page sizes: currently 4096, max supported 4096 --5784-- Valgrind library directory: /usr/lib/valgrind --5784-- Reading syms from /home/ladrone/Studia/Algorytmy/z5/mergeSort.o --5784-- Reading syms from /usr/lib/ld-2.26.so --5784-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux --5784-- object doesn't have a symbol table --5784-- object doesn't have a dynamic symbol table --5784-- Scheduler: using generic scheduler lock implementation. --5784-- Reading suppressions file: /usr/lib/valgrind/default.supp ==5784== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-5784-by-ladrone-on-??? ==5784== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-5784-by-ladrone-on-??? ==5784== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-5784-by-ladrone-on-??? ==5784== ==5784== TO CONTROL THIS PROCESS USING vgdb (which you probably ==5784== don't want to do, unless you know exactly what you're doing, ==5784== or are doing some strange experiment): ==5784== /usr/lib/valgrind/../../bin/vgdb --pid=5784 ...command... ==5784== ==5784== TO DEBUG THIS PROCESS USING GDB: start GDB like this ==5784== /path/to/gdb ./mergeSort.o ==5784== and then give GDB the following command ==5784== target remote | /usr/lib/valgrind/../../bin/vgdb --pid=5784 ==5784== --pid is optional if only one valgrind process is running ==5784== --5784-- REDIR: 0x401cbb0 (ld-linux-x86-64.so.2:strlen) redirected to 0x58061fd1 (???) --5784-- REDIR: 0x401c990 (ld-linux-x86-64.so.2:index) redirected to 0x58061feb (???) --5784-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so --5784-- object doesn't have a symbol table --5784-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so --5784-- object doesn't have a symbol table ==5784== WARNING: new redirection conflicts with existing -- ignoring it --5784-- old: 0x0401cbb0 (strlen ) R-> (0000.0) 0x58061fd1 ??? --5784-- new: 0x0401cbb0 (strlen ) R-> (2007.0) 0x04c301e0 strlen --5784-- REDIR: 0x401ac20 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c31330 (strcmp) --5784-- REDIR: 0x401d0f0 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c34940 (mempcpy) --5784-- Reading syms from /usr/lib/libstdc++.so.6.0.24 --5784-- Reading syms from /usr/lib/libm-2.26.so --5784-- object doesn't have a symbol table --5784-- Reading syms from /usr/lib/libgcc_s.so.1 --5784-- Reading syms from /usr/lib/libc-2.26.so --5784-- REDIR: 0x57abcc0 (libc.so.6:strchrnul) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57c4cf0 (libc.so.6:wcslen) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57b0560 (libc.so.6:memrchr) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57aa850 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57aa700 (libc.so.6:strncasecmp) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57aa3d0 (libc.so.6:memmove) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57a95f0 (libc.so.6:strncpy) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57aa6b0 (libc.so.6:strcasecmp) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57a9040 (libc.so.6:strcat) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57a9620 (libc.so.6:rindex) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57abc90 (libc.so.6:rawmemchr) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57aa540 (libc.so.6:mempcpy) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57aa370 (libc.so.6:bcmp) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57a95b0 (libc.so.6:strncmp) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57a90b0 (libc.so.6:strcmp) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57aa4a0 (libc.so.6:memset) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57c3f30 (libc.so.6:wcschr) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57a9550 (libc.so.6:strnlen) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57a9120 (libc.so.6:strcspn) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57a90f0 (libc.so.6:strcpy) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57a9650 (libc.so.6:strpbrk) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57a9070 (libc.so.6:index) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57a9520 (libc.so.6:strlen) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57aa750 (libc.so.6:strcasecmp_l) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57aa340 (libc.so.6:memchr) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57a9910 (libc.so.6:strspn) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57aa680 (libc.so.6:stpncpy) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57aa650 (libc.so.6:stpcpy) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57aa7a0 (libc.so.6:strncasecmp_l) redirected to 0x4a276d0 (_vgnU_ifunc_wrapper) --5784-- REDIR: 0x57b91f0 (libc.so.6:__strrchr_sse2) redirected to 0x4c2fbc0 (__strrchr_sse2) --5784-- REDIR: 0x57a5a70 (libc.so.6:malloc) redirected to 0x4c2cdf0 (malloc) --5784-- REDIR: 0x57b94e0 (libc.so.6:__strlen_sse2) redirected to 0x4c30160 (__strlen_sse2) --5784-- REDIR: 0x587bed0 (libc.so.6:__memcmp_sse4_1) redirected to 0x4c331a0 (__memcmp_sse4_1) --5784-- REDIR: 0x57b1d30 (libc.so.6:__strcmp_sse2_unaligned) redirected to 0x4c311f0 (strcmp) --5784-- REDIR: 0x4ec6150 (libstdc++.so.6:operator new[](unsigned long)) redirected to 0x4c2dc30 (operator new[](unsigned long)) --5784-- REDIR: 0x4ec6090 (libstdc++.so.6:operator new(unsigned long)) redirected to 0x4c2d4c0 (operator new(unsigned long)) --5784-- REDIR: 0x57c3320 (libc.so.6:memcpy@GLIBC_2.2.5) redirected to 0x4c314b0 (memcpy@GLIBC_2.2.5) --5784-- REDIR: 0x4ec3f90 (libstdc++.so.6:operator delete(void*)) redirected to 0x4c2e5e0 (operator delete(void*)) ==5784== Invalid write of size 4 ==5784== at 0x10929B: merge(std::vector >, int, int, int) (mergeSort.cpp:42) ==5784== by 0x1095B6: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:56) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x1096E5: merge_sort_time(std::vector >) (mergeSort.cpp:98) ==5784== by 0x108F2C: main (mergeSort.cpp:120) ==5784== Address 0x5b0c908 is 0 bytes after a block of size 8 alloc'd ==5784== at 0x4C2D52F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5784== by 0x1099D3: allocate (new_allocator.h:111) ==5784== by 0x1099D3: allocate (alloc_traits.h:436) ==5784== by 0x1099D3: _M_allocate (stl_vector.h:172) ==5784== by 0x1099D3: void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, int const&) (vector.tcc:406) ==5784== by 0x1091BA: push_back (stl_vector.h:948) ==5784== by 0x1091BA: merge(std::vector >, int, int, int) (mergeSort.cpp:22) ==5784== by 0x1095B6: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:56) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x1096E5: merge_sort_time(std::vector >) (mergeSort.cpp:98) ==5784== by 0x108F2C: main (mergeSort.cpp:120) ==5784== ==5784== Invalid write of size 4 ==5784== at 0x10929B: merge(std::vector >, int, int, int) (mergeSort.cpp:42) ==5784== by 0x1095B6: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:56) ==5784== by 0x10950D: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:55) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x1096E5: merge_sort_time(std::vector >) (mergeSort.cpp:98) ==5784== by 0x108F2C: main (mergeSort.cpp:120) ==5784== Address 0x5b0d128 is 0 bytes after a block of size 8 alloc'd ==5784== at 0x4C2D52F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5784== by 0x1099D3: allocate (new_allocator.h:111) ==5784== by 0x1099D3: allocate (alloc_traits.h:436) ==5784== by 0x1099D3: _M_allocate (stl_vector.h:172) ==5784== by 0x1099D3: void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, int const&) (vector.tcc:406) ==5784== by 0x1091BA: push_back (stl_vector.h:948) ==5784== by 0x1091BA: merge(std::vector >, int, int, int) (mergeSort.cpp:22) ==5784== by 0x1095B6: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:56) ==5784== by 0x10950D: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:55) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x1096E5: merge_sort_time(std::vector >) (mergeSort.cpp:98) ==5784== by 0x108F2C: main (mergeSort.cpp:120) ==5784== ==5784== Invalid write of size 4 ==5784== at 0x10929B: merge(std::vector >, int, int, int) (mergeSort.cpp:42) ==5784== by 0x1095B6: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:56) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10950D: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:55) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x1096E5: merge_sort_time(std::vector >) (mergeSort.cpp:98) ==5784== by 0x108F2C: main (mergeSort.cpp:120) ==5784== Address 0x5b0ddf8 is 0 bytes after a block of size 8 alloc'd ==5784== at 0x4C2D52F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5784== by 0x1099D3: allocate (new_allocator.h:111) ==5784== by 0x1099D3: allocate (alloc_traits.h:436) ==5784== by 0x1099D3: _M_allocate (stl_vector.h:172) ==5784== by 0x1099D3: void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, int const&) (vector.tcc:406) ==5784== by 0x1091BA: push_back (stl_vector.h:948) ==5784== by 0x1091BA: merge(std::vector >, int, int, int) (mergeSort.cpp:22) ==5784== by 0x1095B6: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:56) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10950D: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:55) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x1096E5: merge_sort_time(std::vector >) (mergeSort.cpp:98) ==5784== by 0x108F2C: main (mergeSort.cpp:120) ==5784== ==5784== Invalid write of size 4 ==5784== at 0x10929B: merge(std::vector >, int, int, int) (mergeSort.cpp:42) ==5784== by 0x1095B6: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:56) ==5784== by 0x10950D: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:55) ==5784== by 0x10950D: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:55) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x1096E5: merge_sort_time(std::vector >) (mergeSort.cpp:98) ==5784== by 0x108F2C: main (mergeSort.cpp:120) ==5784== Address 0x5b15900 is 0 bytes after a block of size 32 alloc'd ==5784== at 0x4C2D52F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5784== by 0x1099D3: allocate (new_allocator.h:111) ==5784== by 0x1099D3: allocate (alloc_traits.h:436) ==5784== by 0x1099D3: _M_allocate (stl_vector.h:172) ==5784== by 0x1099D3: void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, int const&) (vector.tcc:406) ==5784== by 0x1091BA: push_back (stl_vector.h:948) ==5784== by 0x1091BA: merge(std::vector >, int, int, int) (mergeSort.cpp:22) ==5784== by 0x1095B6: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:56) ==5784== by 0x10950D: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:55) ==5784== by 0x10950D: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:55) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x1096E5: merge_sort_time(std::vector >) (mergeSort.cpp:98) ==5784== by 0x108F2C: main (mergeSort.cpp:120) ==5784== ==5784== Invalid write of size 4 ==5784== at 0x10929B: merge(std::vector >, int, int, int) (mergeSort.cpp:42) ==5784== by 0x1095B6: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:56) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x1096E5: merge_sort_time(std::vector >) (mergeSort.cpp:98) ==5784== by 0x108F2C: main (mergeSort.cpp:120) ==5784== Address 0x5b20840 is 0 bytes after a block of size 256 alloc'd ==5784== at 0x4C2D52F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5784== by 0x1099D3: allocate (new_allocator.h:111) ==5784== by 0x1099D3: allocate (alloc_traits.h:436) ==5784== by 0x1099D3: _M_allocate (stl_vector.h:172) ==5784== by 0x1099D3: void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, int const&) (vector.tcc:406) ==5784== by 0x1091BA: push_back (stl_vector.h:948) ==5784== by 0x1091BA: merge(std::vector >, int, int, int) (mergeSort.cpp:22) ==5784== by 0x1095B6: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:56) ==5784== by 0x10944F: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:54) ==5784== by 0x1096E5: merge_sort_time(std::vector >) (mergeSort.cpp:98) ==5784== by 0x108F2C: main (mergeSort.cpp:120) ==5784== --5784-- VALGRIND INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV) - exiting --5784-- si_code=1; Faulting address: 0x4405B2097E; sp: 0x1002ba9e30 valgrind: the 'impossible' happened: Killed by fatal signal host stacktrace: ==5784== at 0x580544B9: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) ==5784== by 0x5800BEED: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) ==5784== by 0x5800C15A: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) ==5784== by 0x580A1F0D: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) ==5784== by 0x580B1878: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) sched status: running_tid=1 Thread 1: status = VgTs_Runnable (lwpid 5784) ==5784== at 0x4C2D52F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5784== by 0x1094B6: allocate (new_allocator.h:111) ==5784== by 0x1094B6: allocate (alloc_traits.h:436) ==5784== by 0x1094B6: _M_allocate (stl_vector.h:172) ==5784== by 0x1094B6: _M_create_storage (stl_vector.h:187) ==5784== by 0x1094B6: _Vector_base (stl_vector.h:138) ==5784== by 0x1094B6: vector (stl_vector.h:328) ==5784== by 0x1094B6: mergeSortRec(std::vector >, int, int) (mergeSort.cpp:55) ==5784== by 0x1096E5: merge_sort_time(std::vector >) (mergeSort.cpp:98) ==5784== by 0x108F2C: main (mergeSort.cpp:120) Note: see also the FAQ in the source distribution. It contains workarounds to several common problems. In particular, if Valgrind aborted or crashed after identifying problems in your program, there's a good chance that fixing those problems will prevent Valgrind aborting or crashing, especially if it happened in m_mallocfree.c. If that doesn't help, please report this bug to: www.valgrind.org In the bug report, send all the above text, the valgrind version, and what OS and version you are using. Thanks.