Kronuz / pyScss

pyScss, a Scss compiler for Python
MIT License
582 stars 141 forks source link

When testing django-pyscss I get crash in _scanner.so #378

Open mcepl opened 5 years ago

mcepl commented 5 years ago

While building python-django-pyscss (see build log) I get a crash which I was able to catch in _scanner.so:

#0  0x00007ffff75ed08b in raise () from /lib64/libc.so.6
#1  0x00007ffff75d64e9 in abort () from /lib64/libc.so.6
#2  0x00007ffff762f9a7 in __libc_message () from /lib64/libc.so.6
#3  0x00007ffff7635e9c in malloc_printerr () from /lib64/libc.so.6
#4  0x00007ffff7639c5e in free_check.part () from /lib64/libc.so.6
#5  0x00007ffff3bdbbb4 in Hashtable_del ()
   from /usr/lib64/python2.7/site-packages/scss/grammar/_scanner.so
#6  0x00007ffff3bdb2a5 in Scanner_del ()
   from /usr/lib64/python2.7/site-packages/scss/grammar/_scanner.so
#7  0x00007ffff3bda1c2 in ?? ()
   from /usr/lib64/python2.7/site-packages/scss/grammar/_scanner.so

The error I see on the outside is free(): invalid pointer. Not sure where it comes from.

mcepl commented 5 years ago

OK, there is a better backtrace here:

Thread 1 (Thread 0x7ffff7ff14c0 (LWP 22655)):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff75d64e9 in __GI_abort () at abort.c:79
#2  0x00007ffff762f9a7 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff77394c2 "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007ffff7635e9c in malloc_printerr (str=str@entry=0x7ffff77376d3 "free(): invalid pointer") at malloc.c:5350
#4  0x00007ffff7639c5e in free_check (mem=<optimized out>, caller=<optimized out>) at hooks.c:274
#5  0x00007ffff3bdbbb4 in Hashtable_del (hashtable=0x5555596d79a0) at scss/src/hashtable.c:125
#6  0x00007ffff3bdb2a5 in Scanner_del (self=0x555559464f00) at scss/src/scanner.c:277
#7  0x00007ffff3bda1c2 in scss_Scanner_dealloc (self=0x7ffff3743410) at scss/src/_speedups.c:434
#8  0x00007ffff7c734d3 in ?? () from /usr/lib64/libpython2.7.so.1.0
#9  0x00007ffff7c56c3c in ?? () from /usr/lib64/libpython2.7.so.1.0
#10 0x00007ffff7c734b0 in ?? () from /usr/lib64/libpython2.7.so.1.0
#11 0x00007ffff7c41097 in ?? () from /usr/lib64/libpython2.7.so.1.0
#12 0x00007ffff7c93949 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0

Full gdb session

dirkmueller commented 4 years ago

The same crash happens in Python 3.6.x. so this is not python 2.x specific as indicated before.