all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Gerd Möllmann" <gerd.moellmann@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: eller.helmut@gmail.com,  emacs-devel@gnu.org
Subject: Re: Building the igc branch on MS-Windows
Date: Sat, 27 Apr 2024 14:32:18 +0200	[thread overview]
Message-ID: <m2a5lfhtpp.fsf@pro2.fritz.box> (raw)
In-Reply-To: <86wmojuj0m.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 27 Apr 2024 14:44:57 +0300")

Eli Zaretskii <eliz@gnu.org> writes:

>> >     void *extra;
>> 
>> What that is I have no idea. 
>
> See xftfont.c, which seems to be the only one using this.

Doesn't look like a reference to Lisp data to me, so I'd say we can
ignore it. Usual disclaimers.

> I added both ascii_font and extra to fix_face, but the segfault is
> still there.  What else can be done to dig into this crash?

Hm, I see nothing immediately obvious to do except collecting more info
where the font comes from.

>> While our scanning callbacks run, MPS guarantees us exclusive access to
>> only those objects in the address range MPS calls us for. All other
>> objects are (potentially) behind read/write barriers. So we can't change
>> something in object A while scanning a different object B.
>
> I don't understand what you are saying here, because there are too
> many unknowns: what are "our scanning callbacks"? what do you mean by
> "exclusive access"? what is "the address range MPS calls us for"? 

Ok, sorry.

Our scanning callbacks = functions we register with MPS: dflt_scan, the
various root scanning functions, like scan_staticvec ...

Exclusive access = other threads can't interfere

Address range MPS calls us for = the start and end address of the area
to scan are passed to dflt_scan, for example.

> what does "behind read/write barriers" mean in practice? and could you
> show a simple example of "can't change something in object A while
> scanning a different object B" -- what are object A and object B here?

The barries mean that we might get a SIGBUS or SIGSEGV when trying to
access something (read or write) outside of the scanned area (see
above).

I can't show an example, but maybe this help: Image we are scanning a
cons cell. We can then trace car and cdr as references, but we can't
follow the car and cdr to where tehy point. Let's say cdr is another
cons, then that cons is taboo.

>> This does not hold for objects that are not managed by MPS. If B has a
>> pointer to malloc'd memory M, we can do with M what we want, but MPS
>> also doesn't protect M from other threads. We're on our own.
>
> What "other threads"?

At the moment it's either the main thread or one of the threads created
with make-thread I think it is. Even if only one of these runs at a
time. The scanning is done concurrently in the MPS thread.



  parent reply	other threads:[~2024-04-27 12:32 UTC|newest]

Thread overview: 116+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-24 15:06 Building the igc branch on MS-Windows Eli Zaretskii
2024-04-24 15:20 ` Gerd Möllmann
2024-04-24 16:07   ` Eli Zaretskii
2024-04-24 16:48     ` Gerd Möllmann
2024-04-24 16:59       ` Gerd Möllmann
2024-04-24 19:09       ` Eli Zaretskii
2024-04-24 19:44         ` Gerd Möllmann
2024-04-25  5:38           ` Eli Zaretskii
2024-04-25  6:17             ` Gerd Möllmann
2024-04-25  4:54 ` Helmut Eller
2024-04-25  5:30   ` Eli Zaretskii
2024-04-25  6:38     ` Helmut Eller
2024-04-25  7:39       ` Gerd Möllmann
2024-04-25 10:34         ` Eli Zaretskii
2024-04-25 11:09           ` Eli Zaretskii
2024-04-25 11:16             ` Eli Zaretskii
2024-04-25 11:59             ` Gerd Möllmann
2024-04-25 13:22               ` Eli Zaretskii
2024-04-25 13:29                 ` Gerd Möllmann
2024-04-25 11:55           ` Gerd Möllmann
2024-04-25 13:29             ` Eli Zaretskii
2024-04-25 14:00               ` Gerd Möllmann
2024-04-25 14:34                 ` Eli Zaretskii
2024-04-25 14:40                   ` Gerd Möllmann
2024-04-25 12:35           ` Helmut Eller
2024-04-25 12:40             ` Gerd Möllmann
2024-04-26  7:18               ` Helmut Eller
2024-04-26  7:38                 ` Gerd Möllmann
2024-04-26  7:41                 ` Eli Zaretskii
2024-04-26  8:11                   ` Gerd Möllmann
2024-04-26  9:13                     ` Helmut Eller
2024-04-26  9:31                       ` Gerd Möllmann
2024-04-26 10:55                       ` Eli Zaretskii
2024-04-26 11:27                         ` Po Lu
2024-04-26 13:04                           ` Gerd Möllmann
2024-04-26 13:42                             ` Po Lu
2024-04-26 13:46                               ` Gerd Möllmann
2024-04-26 14:35                               ` Gerd Möllmann
2024-04-26 10:35                     ` Eli Zaretskii
2024-04-26 10:56                       ` Gerd Möllmann
2024-04-26 11:25                         ` Eli Zaretskii
2024-04-26 11:38                           ` Po Lu
2024-04-26 12:58                             ` Gerd Möllmann
2024-04-26 14:49                             ` Eli Zaretskii
2024-04-26 14:53                               ` Gerd Möllmann
2024-04-27  0:21                               ` Po Lu
2024-04-27  6:13                                 ` Eli Zaretskii
2024-04-27  6:48                                   ` Gerd Möllmann
2024-04-27  7:13                                     ` Eli Zaretskii
2024-04-26 12:58                           ` Gerd Möllmann
2024-04-26 15:11                             ` Eli Zaretskii
2024-04-26 15:27                               ` Gerd Möllmann
2024-04-26 11:32                         ` Eli Zaretskii
2024-04-26 13:09                           ` Gerd Möllmann
2024-04-26 13:12                             ` Gerd Möllmann
2024-04-26 15:01                             ` Helmut Eller
2024-04-26 15:30                               ` Gerd Möllmann
2024-04-26 15:39                               ` Eli Zaretskii
2024-04-26 17:03                                 ` Gerd Möllmann
2024-04-26 18:24                                   ` Helmut Eller
2024-04-26 18:37                                     ` Gerd Möllmann
2024-04-26 16:57                               ` Gerd Möllmann
2024-04-26 18:11                                 ` Helmut Eller
2024-04-26 18:30                                   ` Gerd Möllmann
2024-04-26 20:45                                     ` Helmut Eller
2024-04-27  4:22                                       ` Gerd Möllmann
2024-04-27  5:18                                         ` Ihor Radchenko
2024-04-27  5:26                                           ` Gerd Möllmann
2024-04-27  5:54                                             ` Ihor Radchenko
2024-04-27  6:07                                               ` Gerd Möllmann
2024-04-27  6:31                                                 ` Gerd Möllmann
2024-04-27  6:22                                             ` Eli Zaretskii
2024-04-27  6:29                                               ` Ihor Radchenko
2024-04-27  7:11                                                 ` Eli Zaretskii
2024-04-27  7:40                                                   ` Ihor Radchenko
2024-04-27  6:45                                               ` Gerd Möllmann
2024-04-27  6:11                                       ` Eli Zaretskii
2024-04-27  6:58                                         ` Eli Zaretskii
2024-04-27  7:17                                           ` Eli Zaretskii
2024-04-27  8:38                                             ` Gerd Möllmann
2024-04-27 11:15                                               ` Eli Zaretskii
2024-04-27 12:09                                                 ` Gerd Möllmann
2024-04-27 12:33                                                   ` Eli Zaretskii
2024-04-27 12:37                                                   ` Eli Zaretskii
2024-04-27 13:26                                                     ` Gerd Möllmann
2024-04-27 14:54                                                       ` Eli Zaretskii
2024-04-27 15:25                                                         ` Gerd Möllmann
2024-04-27 15:40                                                           ` Eli Zaretskii
2024-04-27 15:47                                                             ` Helmut Eller
2024-04-27 15:48                                                             ` Gerd Möllmann
2024-04-27  7:23                                           ` Gerd Möllmann
2024-04-27  7:33                                             ` Eli Zaretskii
2024-04-27  9:04                                               ` Gerd Möllmann
2024-04-27 11:44                                                 ` Eli Zaretskii
2024-04-27 12:07                                                   ` Eli Zaretskii
2024-04-27 12:41                                                     ` Gerd Möllmann
2024-04-27 13:23                                                     ` Gerd Möllmann
2024-04-27 12:32                                                   ` Gerd Möllmann [this message]
2024-04-27 14:11                                                   ` Gerd Möllmann
2024-04-27 14:47                                                     ` Eli Zaretskii
2024-04-27 15:09                                                       ` Gerd Möllmann
2024-04-27 15:15                                                         ` Helmut Eller
2024-04-27 15:29                                                           ` Gerd Möllmann
2024-04-27 15:38                                                             ` Eli Zaretskii
2024-04-27 15:42                                                               ` Gerd Möllmann
2024-04-27 16:37                                                                 ` Gerd Möllmann
2024-04-27 15:23                                                         ` Gerd Möllmann
2024-04-28  6:31                                                 ` Eli Zaretskii
2024-04-28  6:44                                                   ` Gerd Möllmann
2024-04-27  7:17                                         ` Gerd Möllmann
2024-04-27 12:11                                         ` Helmut Eller
2024-04-27 12:32                                           ` Eli Zaretskii
2024-04-27 13:41                                             ` Helmut Eller
2024-04-26  8:12                   ` Helmut Eller
2024-04-26  8:57                     ` Gerd Möllmann
2024-04-26 10:39                     ` Eli Zaretskii

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=m2a5lfhtpp.fsf@pro2.fritz.box \
    --to=gerd.moellmann@gmail.com \
    --cc=eliz@gnu.org \
    --cc=eller.helmut@gmail.com \
    --cc=emacs-devel@gnu.org \
    /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.