emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MPS: assertion failed: header_type (h) != IGC_OBJ_FWD


From: Gerd Möllmann
Subject: Re: MPS: assertion failed: header_type (h) != IGC_OBJ_FWD
Date: Thu, 18 Jul 2024 17:08:36 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>
>> Let's see if it continues crashing.
>
> It does :-(.

Next idea.

I wonder if __builtin_unwind_init changes things. The different
behaviour when compiled -O0 and -O, the fact that problems happen in
"random" places which lets me suspect indicates a basic problem, and so
on - that would fit, when MPS doesn't see something in a register.
Maybe.

I'm now running with a patch that adds that to MPS' stack scanning code.

@@ -39,6 +39,8 @@ void StackHot(void **stackOut);
 /* STACK_CONTEXT_BEGIN -- save context */
 
 #define STACK_CONTEXT_BEGIN(arena) \
+  BEGIN \
+  __builtin_unwind_init(); \
   BEGIN \
     StackContextStruct _sc; \
     STACK_CONTEXT_SAVE(&_sc); \
@@ -51,6 +53,7 @@ void StackHot(void **stackOut);
 /* STACK_CONTEXT_END -- clear context */
 
 #define STACK_CONTEXT_END(arena) \
+    END; \
     END; \
     AVER(arena->stackWarm != NULL); \
     arena->stackWarm = NULL; \

If somone observes similar strange phenomena like I do on macOS/arm64,
maybe also give it a try.

Let's see how long igc survives this time :-).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]