GNU bug report logs - #45515
28.0.50; [feature/native-comp] emacsGcc crash on Apple Silicon M1

Previous Next

Package: emacs;

Reported by: michal panoch <michal <at> panoch.net>

Date: Mon, 28 Dec 2020 21:38:01 UTC

Severity: normal

Found in version 28.0.50

Done: Andrea Corallo <akrl <at> sdf.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: mp <michal <at> panoch.net>
To: 45515 <at> debbugs.gnu.org
Subject: bug#45515: 28.0.50; [feature/native-comp] emacsGcc crash on Apple Silicon M1
Date: Tue, 29 Dec 2020 16:45:05 +0100
On 29.12.2020 16:33, Andrea Corallo wrote:

> mp <michal <at> panoch.net> writes:
>
>> On 29.12.2020 10:01, Andrea Corallo wrote:
>>
>>> michal panoch <michal <at> panoch.net> writes:
>>>
>>>> hi,
>>>>
>>>> i'm on the new Apple Silicon M1 architecture and using nix emacs-overlay - https://github.com/nix-community/emacs-overlay/
>>>>
>>>> like this: ~/.config/nixpkgs/overlays/emacs.nix
>>>>
>>>> import (builtins.fetchTarball {
>>>>     url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
>>>> })
>>>>
>>>> install whith:
>>>>
>>>> $ nix-env -iA nixpkgs.emacsGcc
>>>>
>>>> it compiles no problem. it runs and bytecompiles everything no problem, but after a while it crashes with:
>>>>
>>>> Assertion failed: (mach_vm_map(mach_task_self(), &address, size, 0,
>>>> VM_FLAGS_ANYWHERE |
>>>> VM_MAKE_TAG(VM_MEMORY_COREGRAPHICS_BACKINGSTORES), port, 0, false,
>>>> prot, prot, VM_INHERIT_SHARE) == KERN_SUCCESS), function
>>>> backing_map, file
>>>> /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/SkyLight/SkyLight-569.6/SkyLight/Services/Windows/CGSBackingStore.c,
>>>> line 192. Fatal error 6: Aborted [1] 2319 abort emacs --fg-daemon
>>>>
>>>> any idea how to investigate?
>>>>
>>>> uname -a:
>>>> Darwin mpm.local 20.2.0 Darwin Kernel Version 20.2.0: Wed Dec  2 20:40:21 PST 2020; root:xnu-7195.60.75~1/RELEASE_ARM64_T8101 arm64
>>> Hi Michal,
>>>
>>> this assertion is out of our code so doesn't ring any bell to me.
>>> Running under a debugger to have a back-trace of the crash might give
>>> more information.
>>>
>>> Thanks
>>>
>>>     Andrea
>> trying to run with gbd, but it doesn't seem to be working:
>>
>> mp <at> mpm:~ :$ gdb /Users/mp/.nix-profile/bin/emacs
>> GNU gdb (GDB) 10.1
>> Copyright (C) 2020 Free Software Foundation, Inc.
>> License GPLv3+: GNU GPL version 3 or later
>> <http://gnu.org/licenses/gpl.html>
>> This is free software: you are free to change and redistribute it.
>> There is NO WARRANTY, to the extent permitted by law.
>> Type "show copying" and "show warranty" for details.
>> This GDB was configured as "x86_64-apple-darwin".
>> Type "show configuration" for configuration details.
>> For bug reporting instructions, please see:
>> <https://www.gnu.org/software/gdb/bugs/>.
>> Find the GDB manual and other documentation resources online at:
>>      <http://www.gnu.org/software/gdb/documentation/>.
>>
>> For help, type "help".
>> Type "apropos word" to search for commands related to "word"...
>> Reading symbols from /Users/mp/.nix-profile/bin/emacs...
>> (No debugging symbols found in /Users/mp/.nix-profile/bin/emacs)
> This build is stripped (no debug symbols).  I'd build manually from
> source to have 100% control leaving a side a layer (not a Nix expert of
> user).
>
>> (gdb) r --fg-daemon
>> Starting program:
>> /nix/store/2y79kkpvkbjdd2jzdxx2w3p3mxdqpagf-user-environment/bin/emacs
>> --fg-daemon
>> [New Thread 0x2a03 of process 54326]
>> [New Thread 0x2b03 of process 54326]
>> ../../gdb/target.c:2149: internal-error: void
>> target_mourn_inferior(ptid_t): Assertion `ptid == inferior_ptid'
>> failed.
>> A problem internal to GDB has been detected,
> Looks like an internal problem of gdb?  Perhaps gdb doesn't like to run
> under rosetta?  Is this an X86 gdb build correct?
yep. its an X86 build.. the arm build fails for some reason..
>    You might be more
> lucky with lldb.

tried lldb, but it doesn't help much i guess:

2020-12-29 16:38:51.737315+0100 emacs[85147:7251664] [emacs] 
CGContextSetStrokeColorWithColor: invalid context 0x0. Backtrace:
  <NSColorSetWithFillAndStroke+165>
   <ns_draw_window_cursor+862>
    <display_and_set_cursor+2278>
     <update_cursor_in_window_tree+235>
      <update_cursor_in_window_tree+99>
       <-[EmacsView windowDidResignKey:]+162>
<__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__+12>
         <___CFXRegistrationPost_block_invoke+49>
          <_CFXRegistrationPost+454>
           <_CFXNotificationPost+787>
            <-[NSNotificationCenter 
postNotificationName:object:userInfo:]+59>
             <-[NSWindow resignKeyWindow]+725>
              <_NXEndKeyAndMain+162>
               <-[NSApplication _handleDeactivateEvent:]+756>
                <-[NSApplication(NSEvent) sendEvent:]+2742>
                 <-[EmacsApp sendEvent:]+484>
                  <-[NSApplication _handleEvent:]+65>
                   <-[NSApplication run]+623>
                    <-[EmacsApp run]+404>
                     <ns_select+974>
                      <wait_reading_process_output+4132>
                       <sit_for+306>
                        <read_char+5162>
                         <read_key_sequence+2216>
                          <command_loop_1+1324>
                           <internal_condition_case+281>
                            <command_loop_2+48>
                             <internal_catch+279>
                              <command_loop+158>
                               <recursive_edit_1+115>
                                <Frecursive_edit+347>
                                 <main+6880>
<start+1>                                          2
Assertion failed: (mach_vm_map(mach_task_self(), &address, size, 0, 
VM_FLAGS_ANYWHERE | VM_MAKE_TAG(VM_MEMORY_COREGRAPHICS_BACKINGSTORES), 
port, 0, false, prot, prot, VM_INHERIT_SHARE) == KERN_SUCCESS), function 
backing_map, file 
/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/SkyLight/SkyLight-569.6/SkyLight/Services/Windows/CGSBackingStore.c, 
line 192.
Process 85147 exited with status = 0 (0x00000000) Terminated due to signal 6
(lldb)


> That said I think to have native-comp running native on M1 GCC will have
> to be ported and AFAIK this has still not be done (at list in GCC
> trunk).

i see, so there is not much to be done at this point../

-mp-






This bug report was last modified 4 years and 195 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.