arjunhm / c-hash-tables

0 stars 0 forks source link

Valgrind #1

Closed arjunhm closed 2 months ago

arjunhm commented 3 months ago
  1. Segmentation Fault
  2. Takes too much time. eventually crashes.

malloc.c:2379: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.

6dad8e940eb152ad79deae30224d57f33e914cda

arjunhm commented 3 months ago

This occurs when I run make val_lp (valgrind)

==13913== Invalid write of size 4
==13913==    at 0x1093B0: alloc_table (lp_hash.c:41)
==13913==    by 0x109765: main (lp_hash.c:134)
==13913==  Address 0x4a49040 is 0 bytes after a block of size 0 alloc'd
==13913==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==13913==    by 0x109396: alloc_table (lp_hash.c:37)
==13913==    by 0x109765: main (lp_hash.c:134)
==13913==
==13913== Invalid read of size 4
==13913==    at 0x1093B6: alloc_table (lp_hash.c:42)
==13913==    by 0x109765: main (lp_hash.c:134)
==13913==  Address 0x4a49040 is 0 bytes after a block of size 0 alloc'd
==13913==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==13913==    by 0x109396: alloc_table (lp_hash.c:37)
==13913==    by 0x109765: main (lp_hash.c:134)
==13913==
==13913== Invalid write of size 8
==13913==    at 0x1093D2: alloc_table (lp_hash.c:42)
==13913==    by 0x109765: main (lp_hash.c:134)
==13913==  Address 0x4a49048 is 8 bytes after a block of size 0 alloc'd
==13913==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==13913==    by 0x109396: alloc_table (lp_hash.c:37)
==13913==    by 0x109765: main (lp_hash.c:134)
==13913==
==13913== Invalid read of size 8
==13913==    at 0x1093DA: alloc_table (lp_hash.c:43)
==13913==    by 0x109765: main (lp_hash.c:134)
==13913==  Address 0x4a49048 is 8 bytes after a block of size 0 alloc'd
==13913==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==13913==    by 0x109396: alloc_table (lp_hash.c:37)
==13913==    by 0x109765: main (lp_hash.c:134)
arjunhm commented 3 months ago

i still dont get why the code was jumping around instead of going sequentially