all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Andrew Hyatt <ahyatt@gmail.com>
Cc: 58850@debbugs.gnu.org
Subject: bug#58850: 29.0.50; sqlite crashes on error
Date: Sun, 30 Oct 2022 08:35:03 +0200	[thread overview]
Message-ID: <835yg1hl9k.fsf@gnu.org> (raw)
In-Reply-To: <CAM6wYYJcWtXiPb_mhodCi+GRX=8nztA91eztUkwbgn32qgRMxQ@mail.gmail.com> (message from Andrew Hyatt on Sat, 29 Oct 2022 19:44:17 -0400)

> From: Andrew Hyatt <ahyatt@gmail.com>
> Date: Sat, 29 Oct 2022 19:44:17 -0400
> Cc: 58850@debbugs.gnu.org
> 
>  > 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))
> 
> I've synced, rebuilt, verified Jonas's change is there, however the crash still occurs. 

Then please walk through the code with a debugger and tell us what
kind of object is being created as result of the error that Emacs
cannot print via prin1 because print_object barfs.  I cannot do it
here because the problem doesn't happen on my system in the first
place.

The way to fix this is one of the following, whichever seems cleaner:

  . repair the object before it gets to the printing routines,
    preferably where it is created; or
  . add some protection to routines in print.c to stop short of trying
    to look too closely at invalid Lisp objects

Only debugging can tell which way is the best one here, but all things
being equal, I'd prefer the former.





  reply	other threads:[~2022-10-30  6:35 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-29  0:47 bug#58850: 29.0.50; sqlite crashes on error Andrew Hyatt
2022-10-29  7:40 ` Eli Zaretskii
2022-10-29 23:44   ` Andrew Hyatt
2022-10-30  6:35     ` Eli Zaretskii [this message]
2022-11-01  4:28       ` Andrew Hyatt
2022-11-01  7:45         ` Eli Zaretskii
2022-11-01  9:03           ` Gerd Möllmann
2022-11-01  9:16             ` Gerd Möllmann
2022-11-02  3:33               ` Andrew Hyatt
2022-11-02  5:00                 ` Gerd Möllmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=835yg1hl9k.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=58850@debbugs.gnu.org \
    --cc=ahyatt@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.