[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
MPS: native comp
From: |
Gerd Möllmann |
Subject: |
MPS: native comp |
Date: |
Mon, 29 Apr 2024 07:35:05 +0200 |
Hi Andrea,
I'm back to this after an excursion into the GUI world with MPS. And I
might have something that could be hint where the references live that
are currently not traced. Maybe. Could you please help me with this?
My scribbling from this mornings debug session:
* Bus error in styled_format
macroexp native-compiled, rest source. Bus error while dumping.
#+begin_src sh
Loading emacs-lisp/macroexp (native compiled elisp)...
Loading /Users/gerd/emacs/savannah/igc/lisp/cus-face.el (source)...
Loading /Users/gerd/emacs/savannah/igc/lisp/faces.el (source)...
Loading /Users/gerd/emacs/savannah/igc/lisp/ldefs-boot.el (source)...
Loading /Users/gerd/emacs/savannah/igc/lisp/button.el (source)...
Loading /Users/gerd/emacs/savannah/igc/lisp/emacs-lisp/cl-preloaded.el
(source)...
Process 70068 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=2, address=0x1089f2140)
frame #0: 0x0000000100280b5c temacs`styled_format(nargs=2, args=(struct
Lisp_Symbol *) $0 = 0x0000000270a89b70, message=true) at editfns.c:3519:35
#+end_src
In styled_format
#+begin_src sh
p args[0]
(Lisp_Object) 0x00000001089f4e94 (struct Lisp_String *) $2 = 0x00000001089f4e90
(lldb) p *$2
(struct Lisp_String) {
u = {
s = {
size = 4546790736
size_byte = -1
intervals = NULL
data = 0x00000001089f2140 ""
}
next = 0x000000010f028550
gcaligned = 'P'
}
}
(lldb) p *(struct igc_header *) ((char *) $2 - 8)
(struct igc_header) (obj_type = IGC_OBJ_FWD, pvec_type = PVEC_FREE, hash =
1074619, nwords = 5)
#+end_src
This is a reference pointing to a tombstone, so a reference that
hasn't been traced.
#+begin_src sh
(lldb) p *(struct igc_fwd *) ((char *) $2 - 8)
(struct igc_fwd) {
header = (obj_type = IGC_OBJ_FWD, pvec_type = PVEC_FREE, hash = 1074619,
nwords = 5)
new_base_addr = 0x000000010f028550
(lldb) p *(struct igc_header *) 0x000000010f028550
(struct igc_header) (obj_type = IGC_OBJ_STRING, pvec_type = PVEC_FREE, hash =
1074619, nwords = 5)
(lldb) p base_to_client ((void*) 0x000000010f028550)
(mps_addr_t) 0x000000010f028558
(lldb) p *(struct Lisp_String *) 0x000000010f028558
(struct Lisp_String) {
u = {
s = {
size = 33
size_byte = -1
intervals = NULL
data = 0x000000010f022988 "Eager macro-expansion failure: %S"
}
next = 0x0000000000000021
gcaligned = '!'
}
}
#+end_src
So, it looks like the string constant "Eager..." is a reference that is
not traced. Can you please tell me where I can find these string
constants in native cu data structures?
- MPS: native comp,
Gerd Möllmann <=
- Re: MPS: native comp, Andrea Corallo, 2024/04/29
- Re: MPS: native comp, Eli Zaretskii, 2024/04/29
- Re: MPS: native comp, Gerd Möllmann, 2024/04/29
- Re: MPS: native comp, Gerd Möllmann, 2024/04/29
- Re: MPS: native comp, Gerd Möllmann, 2024/04/29
- Re: MPS: native comp, Andrea Corallo, 2024/04/29
- Re: MPS: native comp, Gerd Möllmann, 2024/04/29
- Re: MPS: native comp, Gerd Möllmann, 2024/04/29
- Re: MPS: native comp, Andrea Corallo, 2024/04/29