D23404: Revamp solver memory management
Wolfgang Bauer <[email protected]>
| Newsgroups | gmane.comp.kde.devel.games |
|---|---|
| Message-ID | <[email protected]> |
wbauer added a comment. Here's a valgrind log for now, maybe it contains a clue as well... 17308== Memcheck, a memory error detector ----------------------------------------- 17308== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ----------------------------------------------------------------------- 17308== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info -------------------------------------------------------------------------- 17308== Command: /opt/kf5/bin/kpat ---------------------------------- 17308 ----- 17308== Conditional jump or move depends on uninitialised value(s) ------------------------------------------------------------------ 17308== at 0x4C34D80: __memcmp_sse2 (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ------------------------------------------------------------------------------------------------- 17308== by 0x1227A08A: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x12279235: FIPS_selftest (in /usr/lib64/libcrypto.so.1.1) ------------------------------------------------------------------------ 17308== by 0x1227409C: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x12287FE0: FIPS_mode_set (in /usr/lib64/libcrypto.so.1.1) ------------------------------------------------------------------------ 17308== by 0x1218D16A: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x400FBF9: call_init.part.0 (dl-init.c:72) -------------------------------------------------------- 17308== by 0x400FD05: call_init (dl-init.c:119) -------------------------------------------------- 17308== by 0x400FD05: _dl_init (dl-init.c:120) ------------------------------------------------- 17308== by 0x4000ED9: ??? (in /lib64/ld-2.26.so) --------------------------------------------------- 17308 ----- 17308== Conditional jump or move depends on uninitialised value(s) ------------------------------------------------------------------ 17308== at 0x4C34DA6: __memcmp_sse2 (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ------------------------------------------------------------------------------------------------- 17308== by 0x1227A08A: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x12279235: FIPS_selftest (in /usr/lib64/libcrypto.so.1.1) ------------------------------------------------------------------------ 17308== by 0x1227409C: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x12287FE0: FIPS_mode_set (in /usr/lib64/libcrypto.so.1.1) ------------------------------------------------------------------------ 17308== by 0x1218D16A: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x400FBF9: call_init.part.0 (dl-init.c:72) -------------------------------------------------------- 17308== by 0x400FD05: call_init (dl-init.c:119) -------------------------------------------------- 17308== by 0x400FD05: _dl_init (dl-init.c:120) ------------------------------------------------- 17308== by 0x4000ED9: ??? (in /lib64/ld-2.26.so) --------------------------------------------------- 17308 ----- 17308== Conditional jump or move depends on uninitialised value(s) ------------------------------------------------------------------ 17308== at 0x4C34DCF: __memcmp_sse2 (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ------------------------------------------------------------------------------------------------- 17308== by 0x1227A08A: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x12279235: FIPS_selftest (in /usr/lib64/libcrypto.so.1.1) ------------------------------------------------------------------------ 17308== by 0x1227409C: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x12287FE0: FIPS_mode_set (in /usr/lib64/libcrypto.so.1.1) ------------------------------------------------------------------------ 17308== by 0x1218D16A: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x400FBF9: call_init.part.0 (dl-init.c:72) -------------------------------------------------------- 17308== by 0x400FD05: call_init (dl-init.c:119) -------------------------------------------------- 17308== by 0x400FD05: _dl_init (dl-init.c:120) ------------------------------------------------- 17308== by 0x4000ED9: ??? (in /lib64/ld-2.26.so) --------------------------------------------------- 17308 ----- 17308== Conditional jump or move depends on uninitialised value(s) ------------------------------------------------------------------ 17308== at 0x4C34DF1: __memcmp_sse2 (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ------------------------------------------------------------------------------------------------- 17308== by 0x1227A08A: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x12279235: FIPS_selftest (in /usr/lib64/libcrypto.so.1.1) ------------------------------------------------------------------------ 17308== by 0x1227409C: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x12287FE0: FIPS_mode_set (in /usr/lib64/libcrypto.so.1.1) ------------------------------------------------------------------------ 17308== by 0x1218D16A: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x400FBF9: call_init.part.0 (dl-init.c:72) -------------------------------------------------------- 17308== by 0x400FD05: call_init (dl-init.c:119) -------------------------------------------------- 17308== by 0x400FD05: _dl_init (dl-init.c:120) ------------------------------------------------- 17308== by 0x4000ED9: ??? (in /lib64/ld-2.26.so) --------------------------------------------------- 17308 ----- 17308== Conditional jump or move depends on uninitialised value(s) ------------------------------------------------------------------ 17308== at 0x122740A1: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x12287FE0: FIPS_mode_set (in /usr/lib64/libcrypto.so.1.1) ------------------------------------------------------------------------ 17308== by 0x1218D16A: ??? (in /usr/lib64/libcrypto.so.1.1) -------------------------------------------------------------- 17308== by 0x400FBF9: call_init.part.0 (dl-init.c:72) -------------------------------------------------------- 17308== by 0x400FD05: call_init (dl-init.c:119) -------------------------------------------------- 17308== by 0x400FD05: _dl_init (dl-init.c:120) ------------------------------------------------- 17308== by 0x4000ED9: ??? (in /lib64/ld-2.26.so) --------------------------------------------------- 17308 ----- 17308== Thread 4 SolverThread: ------------------------------ 17308== Conditional jump or move depends on uninitialised value(s) ------------------------------------------------------------------ 17308== at 0x4C34DF1: __memcmp_sse2 (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ------------------------------------------------------------------------------------------------- 17308== by 0x1608E8: insert_node (memory.h:287) -------------------------------------------------- 17308== by 0x1608E8: Solver<9ul>::insert(unsigned int*, int, TTree<19>**) (patsolve.cpp:861) ----------------------------------------------------------------------------------------------- 17308== by 0x160A2D: Solver<9ul>::new_position(POSITION<19>*, MOVE*) (patsolve.cpp:881) ------------------------------------------------------------------------------------------ 17308== by 0x16E35E: Solver<9ul>::solve(POSITION<19>*) (patsolve.cpp:557) ---------------------------------------------------------------------------- 17308== by 0x16E5DA: Solver<9ul>::doit() (patsolve.cpp:483) -------------------------------------------------------------- 17308== by 0x16E646: Solver<9ul>::patsolve(int) (patsolve.cpp:767) --------------------------------------------------------------------- 17308== by 0x140736: SolverThread::run() (dealer.cpp:159) ------------------------------------------------------------ 17308== by 0x86A5511: QThreadPrivate::start(void*) (qthread_unix.cpp:360) ---------------------------------------------------------------------------- 17308== by 0xD821568: start_thread (pthread_create.c:465) ------------------------------------------------------------ 17308== by 0x95039EE: clone (clone.S:95) ------------------------------------------- 17308 ----- 17308== Conditional jump or move depends on uninitialised value(s) ------------------------------------------------------------------ 17308== at 0x1608EB: insert_node (memory.h:288) -------------------------------------------------- 17308== by 0x1608EB: Solver<9ul>::insert(unsigned int*, int, TTree<19>**) (patsolve.cpp:861) ----------------------------------------------------------------------------------------------- 17308== by 0x160A2D: Solver<9ul>::new_position(POSITION<19>*, MOVE*) (patsolve.cpp:881) ------------------------------------------------------------------------------------------ 17308== by 0x16E35E: Solver<9ul>::solve(POSITION<19>*) (patsolve.cpp:557) ---------------------------------------------------------------------------- 17308== by 0x16E5DA: Solver<9ul>::doit() (patsolve.cpp:483) -------------------------------------------------------------- 17308== by 0x16E646: Solver<9ul>::patsolve(int) (patsolve.cpp:767) --------------------------------------------------------------------- 17308== by 0x140736: SolverThread::run() (dealer.cpp:159) ------------------------------------------------------------ 17308== by 0x86A5511: QThreadPrivate::start(void*) (qthread_unix.cpp:360) ---------------------------------------------------------------------------- 17308== by 0xD821568: start_thread (pthread_create.c:465) ------------------------------------------------------------ 17308== by 0x95039EE: clone (clone.S:95) ------------------------------------------- 17308 ----- 17308== Conditional jump or move depends on uninitialised value(s) ------------------------------------------------------------------ 17308== at 0x1608ED: insert_node (memory.h:291) -------------------------------------------------- 17308== by 0x1608ED: Solver<9ul>::insert(unsigned int*, int, TTree<19>**) (patsolve.cpp:861) ----------------------------------------------------------------------------------------------- 17308== by 0x160A2D: Solver<9ul>::new_position(POSITION<19>*, MOVE*) (patsolve.cpp:881) ------------------------------------------------------------------------------------------ 17308== by 0x16E35E: Solver<9ul>::solve(POSITION<19>*) (patsolve.cpp:557) ---------------------------------------------------------------------------- 17308== by 0x16E5DA: Solver<9ul>::doit() (patsolve.cpp:483) -------------------------------------------------------------- 17308== by 0x16E646: Solver<9ul>::patsolve(int) (patsolve.cpp:767) --------------------------------------------------------------------- 17308== by 0x140736: SolverThread::run() (dealer.cpp:159) ------------------------------------------------------------ 17308== by 0x86A5511: QThreadPrivate::start(void*) (qthread_unix.cpp:360) ---------------------------------------------------------------------------- 17308== by 0xD821568: start_thread (pthread_create.c:465) ------------------------------------------------------------ 17308== by 0x95039EE: clone (clone.S:95) ------------------------------------------- 17308 ----- 17308== Invalid read of size 8 ------------------------------ 17308== at 0x160AFB: getItem (memory.h:90) --------------------------------------------- 17308== by 0x160AFB: new_position (memory.h:198) --------------------------------------------------- 17308== by 0x160AFB: Solver<9ul>::new_position(POSITION<19>*, MOVE*) (patsolve.cpp:898) ------------------------------------------------------------------------------------------ 17308== by 0x16E5B5: Solver<9ul>::doit() (patsolve.cpp:472) -------------------------------------------------------------- 17308== by 0x16E646: Solver<9ul>::patsolve(int) (patsolve.cpp:767) --------------------------------------------------------------------- 17308== by 0x140736: SolverThread::run() (dealer.cpp:159) ------------------------------------------------------------ 17308== by 0x86A5511: QThreadPrivate::start(void*) (qthread_unix.cpp:360) ---------------------------------------------------------------------------- 17308== by 0xD821568: start_thread (pthread_create.c:465) ------------------------------------------------------------ 17308== by 0x95039EE: clone (clone.S:95) ------------------------------------------- 17308== Address 0x20000 is not stack'd, malloc'd or (recently) free'd ---------------------------------------------------------------------- 17308 ----- KCrash: Application 'kpat' crashing... KCrash: Attempting to start /usr/lib64/libexec/drkonqi from kdeinit The X11 connection broke (error 1). Did the X11 server die? sock_file=/run/user/1000/kdeinit5__0 [1]+ Angehalten valgrind /opt/kf5/bin/kpat wolfi@linux-lf90:~/Desktop> QSocketNotifier: Invalid socket 8 and type 'Read', disabling... 17308 ----- 17308== HEAP SUMMARY: --------------------- 17308== in use at exit: 9,172,071 bytes in 25,912 blocks ------------------------------------------------------------ 17308== total heap usage: 688,988 allocs, 663,076 frees, 245,849,097 bytes allocated -------------------------------------------------------------------------------------- 17308 ----- 17308== LEAK SUMMARY: --------------------- 17308== definitely lost: 6,732 bytes in 84 blocks ---------------------------------------------------- 17308== indirectly lost: 40,466 bytes in 159 blocks ------------------------------------------------------ 17308== possibly lost: 2,232 bytes in 2 blocks --------------------------------------------------- 17308== still reachable: 9,122,641 bytes in 25,667 blocks ------------------------------------------------------------ 17308== of which reachable via heuristic: --------------------------------------------------------------- 17308== newarray : 96 bytes in 3 blocks ------------------------------------------------------------------------- 17308== multipleinheritance: 21,448 bytes in 25 blocks ------------------------------------------------------------------------------ 17308== suppressed: 0 bytes in 0 blocks ----------------------------------------------- 17308== Rerun with --leak-check=full to see details of leaked memory -------------------------------------------------------------------- 17308 ----- 17308== Use --track-origins=yes to see where uninitialised values come from --------------------------------------------------------------------------- 17308== For lists of detected and suppressed errors, rerun with: -s ------------------------------------------------------------------- 17308== ERROR SUMMARY: 137373 errors from 9 contexts (suppressed: 0 from 0) --------------------------------------------------------------------------- REPOSITORY R410 KPatience REVISION DETAIL https://phabricator.kde.org/D23404 To: fabiank, #kde_games, aacid, shlomif Cc: wbauer, kde-games-devel