D23404: Revamp solver memory management

Wolfgang Bauer noreply at phabricator.kde.org
Wed Aug 28 16:52:35 BST 2019


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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-games-devel/attachments/20190828/173b787e/attachment-0001.html>


More information about the kde-games-devel mailing list