here is gdb output:
(gdb) run
Starting program: /usr/games/deal
[Thread debugging using libthread_db enabled]
[New Thread 46912505247440 (LWP 14921)]
[New Thread 1082132832 (LWP 14924)]
[displaying 6 cards sets...]
--------------------------
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 46912505247440 (LWP 14921)]
0x0000000000403efb in deal_put (dealp=0x53bc40, card=4096, whom=1)
at deal.c:161
161 dealp->card[where]=othercard;
(gdb) thread apply all bt
Thread 2 (Thread 1082132832 (LWP 14924)):
#0 0x00002aaaab254fdd in __lll_mutex_unlock_wake () from /lib/libpthread.so.0
#1 0x000000000053da30 in ?? ()
#2 0x0000000000000004 in ?? ()
#3 0x00002aaaab252068 in pthread_mutex_unlock () from /lib/libpthread.so.0
#4 0x00002aaaaaab5ccb in _dl_rtld_di_serinfo ()
from /lib64/ld-linux-x86-64.so.2
#5 0x00002aaaaaab5b82 in _dl_rtld_di_serinfo ()
from /lib64/ld-linux-x86-64.so.2
#6 0x00002aaaaac5ebea in Tcl_WaitForEvent () from /usr/lib/libtcl8.4.so.0
#7 0x00002aaaab2500fa in start_thread () from /lib/libpthread.so.0
#8 0x00002aaaaafd5ce2 in clone () from /lib/libc.so.6
#9 0x0000000000000000 in ?? ()
Thread 1 (Thread 46912505247440 (LWP 14921)):
#0 0x0000000000403efb in deal_put (dealp=0x53bc40, card=4096, whom=1)
at deal.c:161
#1 0x0000000000404113 in deal_hand (hand=1) at deal.c:220
#2 0x0000000000403426 in tcl_hand_cmd (cd=0x1, interp=0x549800, objc=2,
objv=0x556ab8) at hand.c:372
#3 0x00002aaaaabf0dc1 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0
#4 0x00002aaaaac17d33 in TclExprFloatError () from /usr/lib/libtcl8.4.so.0
---Type <return> to continue, or q <return> to quit---
#5 0x00002aaaaac1cfec in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0
#6 0x00002aaaaac46661 in TclObjInterpProc () from /usr/lib/libtcl8.4.so.0
#7 0x00002aaaaabf0dc1 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0
#8 0x00002aaaaac17d33 in TclExprFloatError () from /usr/lib/libtcl8.4.so.0
#9 0x00002aaaaac1cfec in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0
#10 0x00002aaaaac46661 in TclObjInterpProc () from /usr/lib/libtcl8.4.so.0
#11 0x00002aaaaabf0dc1 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0
#12 0x00002aaaaac17d33 in TclExprFloatError () from /usr/lib/libtcl8.4.so.0
#13 0x00002aaaaac1cfec in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0
#14 0x00002aaaaac46661 in TclObjInterpProc () from /usr/lib/libtcl8.4.so.0
#15 0x00002aaaaabf0dc1 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0
#16 0x00002aaaaac17d33 in TclExprFloatError () from /usr/lib/libtcl8.4.so.0
#17 0x00002aaaaac1cfec in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0
#18 0x00002aaaaabf3286 in Tcl_EvalObjEx () from /usr/lib/libtcl8.4.so.0
#19 0x000000000040643a in old_main (argc=1, argv=0x7fffffb62018)
at tcl_deal.c:575
#20 0x000000000040664b in main (argc=1, argv=0x7fffffb62018) at maindeal.c:25
here is gdb output:
(gdb) run
Starting program: /usr/games/deal
[Thread debugging using libthread_db enabled]
[New Thread 46912505247440 (LWP 14921)]
[New Thread 1082132832 (LWP 14924)]
[displaying 6 cards sets...]
------- ------- ------- ----- card[where] =othercard;
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 46912505247440 (LWP 14921)]
0x0000000000403efb in deal_put (dealp=0x53bc40, card=4096, whom=1)
at deal.c:161
161 dealp->
(gdb) thread apply all bt unlock_ wake () from /lib/libpthread .so.0 mutex_unlock () from /lib/libpthread .so.0 ld-linux- x86-64. so.2 ld-linux- x86-64. so.2 libtcl8. 4.so.0 .so.0
Thread 2 (Thread 1082132832 (LWP 14924)):
#0 0x00002aaaab254fdd in __lll_mutex_
#1 0x000000000053da30 in ?? ()
#2 0x0000000000000004 in ?? ()
#3 0x00002aaaab252068 in pthread_
#4 0x00002aaaaaab5ccb in _dl_rtld_di_serinfo ()
from /lib64/
#5 0x00002aaaaaab5b82 in _dl_rtld_di_serinfo ()
from /lib64/
#6 0x00002aaaaac5ebea in Tcl_WaitForEvent () from /usr/lib/
#7 0x00002aaaab2500fa in start_thread () from /lib/libpthread
#8 0x00002aaaaafd5ce2 in clone () from /lib/libc.so.6
#9 0x0000000000000000 in ?? ()
Thread 1 (Thread 46912505247440 (LWP 14921)): libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 libtcl8. 4.so.0 2018) 2018) at maindeal.c:25
#0 0x0000000000403efb in deal_put (dealp=0x53bc40, card=4096, whom=1)
at deal.c:161
#1 0x0000000000404113 in deal_hand (hand=1) at deal.c:220
#2 0x0000000000403426 in tcl_hand_cmd (cd=0x1, interp=0x549800, objc=2,
objv=0x556ab8) at hand.c:372
#3 0x00002aaaaabf0dc1 in TclEvalObjvInternal () from /usr/lib/
#4 0x00002aaaaac17d33 in TclExprFloatError () from /usr/lib/
---Type <return> to continue, or q <return> to quit---
#5 0x00002aaaaac1cfec in TclCompEvalObj () from /usr/lib/
#6 0x00002aaaaac46661 in TclObjInterpProc () from /usr/lib/
#7 0x00002aaaaabf0dc1 in TclEvalObjvInternal () from /usr/lib/
#8 0x00002aaaaac17d33 in TclExprFloatError () from /usr/lib/
#9 0x00002aaaaac1cfec in TclCompEvalObj () from /usr/lib/
#10 0x00002aaaaac46661 in TclObjInterpProc () from /usr/lib/
#11 0x00002aaaaabf0dc1 in TclEvalObjvInternal () from /usr/lib/
#12 0x00002aaaaac17d33 in TclExprFloatError () from /usr/lib/
#13 0x00002aaaaac1cfec in TclCompEvalObj () from /usr/lib/
#14 0x00002aaaaac46661 in TclObjInterpProc () from /usr/lib/
#15 0x00002aaaaabf0dc1 in TclEvalObjvInternal () from /usr/lib/
#16 0x00002aaaaac17d33 in TclExprFloatError () from /usr/lib/
#17 0x00002aaaaac1cfec in TclCompEvalObj () from /usr/lib/
#18 0x00002aaaaabf3286 in Tcl_EvalObjEx () from /usr/lib/
#19 0x000000000040643a in old_main (argc=1, argv=0x7fffffb6
at tcl_deal.c:575
#20 0x000000000040664b in main (argc=1, argv=0x7fffffb6