Still building of the official NaviServer v4.99.23 release on Debian
Buster, we are also seeing some SIGSEGVs starting from ns_strcoll-1.0.0

test ns_strcoll-1.0.0 {ns_strcoll without locale (assuming en_US.UTF-8)} \
    -constraints localeCollate -body {
        return [expr {[ns_strcoll Bär Bor] < 0}]
    } -result 1

Running make memcheck I get the following output for the first signal 11

==19345== Thread 2:
==19345== Invalid read of size 8
==19345==    at 0x5113371: strcoll_l (strcoll_l.c:260)
==19345==    by 0x48D51DA: NsTclStrcollObjCmd (tclmisc.c:2802)
==19345==    by 0x49EDFB6: TclNRRunCallbacks (in /usr/lib/x86_64-linux-gnu/
libtcl8.6.so)
==19345==    by 0x49EF3AE: ??? (in /usr/lib/x86_64-linux-gnu/libtcl8.6.so)
==19345==    by 0x4AA83F7: Tcl_FSEvalFileEx (in /usr/lib/x86_64-linux-gnu/
libtcl8.6.so)
==19345==    by 0x4AB0246: Tcl_MainEx (in /usr/lib/x86_64-linux-gnu/
libtcl8.6.so)
==19345==    by 0x49A527B: NsThreadMain (thread.c:232)
==19345==    by 0x49A64C8: ThreadMain (pthread.c:870)
==19345==    by 0x5256FA2: start_thread (pthread_create.c:486)
==19345==    by 0x5180EFE: clone (clone.S:95)
==19345==  Address 0x18 is not stack'd, malloc'd or (recently) free'd
==19345==
==19345==
==19345== Process terminating with default action of signal 11 (SIGSEGV)
==19345==  Access not within mapped region at address 0x18
==19345==    at 0x5113371: strcoll_l (strcoll_l.c:260)
==19345==    by 0x48D51DA: NsTclStrcollObjCmd (tclmisc.c:2802)
==19345==    by 0x49EDFB6: TclNRRunCallbacks (in /usr/lib/x86_64-linux-gnu/
libtcl8.6.so)
==19345==    by 0x49EF3AE: ??? (in /usr/lib/x86_64-linux-gnu/libtcl8.6.so)
==19345==    by 0x4AA83F7: Tcl_FSEvalFileEx (in /usr/lib/x86_64-linux-gnu/
libtcl8.6.so)
==19345==    by 0x4AB0246: Tcl_MainEx (in /usr/lib/x86_64-linux-gnu/
libtcl8.6.so)
==19345==    by 0x49A527B: NsThreadMain (thread.c:232)
==19345==    by 0x49A64C8: ThreadMain (pthread.c:870)
==19345==    by 0x5256FA2: start_thread (pthread_create.c:486)
==19345==    by 0x5180EFE: clone (clone.S:95)
==19345==  If you believe this happened as a result of a stack
==19345==  overflow in your program's main thread (unlikely but
==19345==  possible), you can try to increase the size of the
==19345==  main thread stack using the --main-stacksize= flag.
==19345==  The main thread stack size used in this run was 8388608.
==19345==
==19345== HEAP SUMMARY:
==19345==     in use at exit: 12,996,807 bytes in 12,198 blocks
==19345==   total heap usage: 40,995 allocs, 28,797 frees, 41,780,348 bytes
allocated
==19345==
==19345== LEAK SUMMARY:
==19345==    definitely lost: 179 bytes in 3 blocks
==19345==    indirectly lost: 0 bytes in 0 blocks
==19345==      possibly lost: 11,145,880 bytes in 6,013 blocks
==19345==    still reachable: 1,850,748 bytes in 6,182 blocks
==19345==         suppressed: 0 bytes in 0 blocks
==19345== Rerun with --leak-check=full to see details of leaked memory
==19345==
==19345== For counts of detected and suppressed errors, rerun with: -v
==19345== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Segmentation fault
make: *** [Makefile:273: memcheck] Error 139


Can you advise on the best course of action?

Regards,
--
David
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to