BUG: segfault in pthread_getspecific() on musl based system
It seems that during init, pthread_getspecific( tls_key_threadnr ); is being called before the call to pthread_key_create(). On glibc I think getspecific is more forgiving than on musl, which according to the manpage this is undefined behaviour. See below for BT
#0 __pthread_getspecific (k=0) at src/thread/pthread_getspecific.c:8
#1 0x0000bcd0 in motion_log (level=level@entry=6, errno_flag=errno_flag@entry=0, fmt=0x26124 "Processing thread 0 - config file %s") at motion.c:2758
#2 0x0000fee8 in conf_load (cnt=0x60ca0) at conf.c:1676
#3 0x0000c71c in cntlist_create (argv=0xbefff4b4, argc=1) at motion.c:2061
#4 motion_startup (daemonize=daemonize@entry=1, argc=1, argc@entry=276, argv=0xbefff4b4, argv@entry=0xda00 <motion_loop+3876>) at motion.c:2115
#5 0x0000ab7c in main (argc=276, argv=0xda00 <motion_loop+3876>) at motion.c:2270
Environment
Motion version: |
3.2.12 |
ffmpeg version: |
na |
Shared libraries: |
v4l2 |
Server OS: |
gentoo armv6j-hardfloat-linux-musleabi (rpi) |
--
DaveFlogeras - 30 Sep 2015
Follow up
Fix record