Subject: bug#58850: 29.0.50; sqlite crashes on error

From: Eli Zaretskii <[email-masked]>
Date: Sat, 29 Oct 2022 10:40:09 +0300

> From: Andrew Hyatt <[email-masked]>
> Date: Fri, 28 Oct 2022 20:47:05 -0400
> 
> From emacs -Q, execute the following:
> 
> 
> (defun will-fail ()
>   (let ((db (sqlite-open (make-temp-file "will-fail"))))
>     (sqlite-execute db "SELECT foo FROM bar;")))
> 
> (will-fail)
> 
> Some combination of sqlite and getting errors that result in backtraces
> seems to result in a problem.
> 
> Relevant information from the crash report:
> Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
> 0   libsystem_kernel.dylib        	       0x1aab6ed98 __pthread_kill + 8
> 1   libsystem_pthread.dylib       	       0x1aaba3ee0 pthread_kill + 288
> 2   libsystem_c.dylib             	       0x1aaade3cc __abort + 128
> 3   libsystem_c.dylib             	       0x1aaacfd48 __stack_chk_fail + 96
> 4   Emacs                         	       0x102dcdbd8 print_object + 5920
> 5   Emacs                         	       0x102dc9d50 Fprin1 + 112 (print.c:775)

Please try the latest master branch.  Jonas installed changes there
that are related to sqlite error handling, and with today's master I
get a Lisp error with your recipe, not a crash:

  Debugger entered--Lisp error: (sqlite-error ("SQL logic error" "no such table: bar" 1 1))