[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MPS: unable to build due to assertion violation in igc_dump_check_ob
From: |
Helmut Eller |
Subject: |
Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts |
Date: |
Wed, 24 Jul 2024 10:33:11 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
On Wed, Jul 24 2024, Pip Cet wrote:
>> First, is_aligned doesn't make any sense; client is neither a tagged
>> pointer nor does it point to a header.
>
> It points to the contents area of a struct Lisp_Vector. Since the Lisp
> vector header is aligned to 8 bytes, and 16 bytes in size including
> the MPS header, the client address also has to be aligned.
On my machine:
(gdb) p sizeof (struct vectorlike_header)
$56 = 12
(gdb) p sizeof (struct Lisp_Vector)
$57 = 16
(gdb) p &((struct Lisp_Vector*)0)->contents
$58 = (Lisp_Object (*)[]) 0xc
(gdb)
(gdb) p header_size
$59 = header_size
(gdb) p/x header_size
$60 = 0xc
(gdb)
> I believe the best thing to do here is to calculate the header address
> and assert, not check, that it is aligned. Unaligned addresses should
> never get here.
Right, the is_aligned test doesn't make any sense, even on 64-bit
machines.
>> Second, sizeof (struct Lisp_Vector) is 16 because the struct decl has
>> GCALIGNED_STRUCT. The code should perhaps use header_size or
>> offsetof (struct Lisp_Vector, content).
>
> I'm not sure I understand. sizeof (struct Lisp_Vector), header_size,
> and offsetof (struct Lisp_Vector, content) are all 16.
Not on my machine. See above.
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, (continued)
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Pip Cet, 2024/07/23
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Gerd Möllmann, 2024/07/23
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Pip Cet, 2024/07/23
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Gerd Möllmann, 2024/07/23
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Gerd Möllmann, 2024/07/23
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Pip Cet, 2024/07/23
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Gerd Möllmann, 2024/07/23
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Eli Zaretskii, 2024/07/24
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Helmut Eller, 2024/07/24
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Pip Cet, 2024/07/24
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts,
Helmut Eller <=
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Pip Cet, 2024/07/24
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Helmut Eller, 2024/07/24
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Pip Cet, 2024/07/24
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Helmut Eller, 2024/07/24
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Pip Cet, 2024/07/24
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Eli Zaretskii, 2024/07/24
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Gerd Möllmann, 2024/07/23
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Gerd Möllmann, 2024/07/23
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Eli Zaretskii, 2024/07/23
- Re: MPS: unable to build due to assertion violation in igc_dump_check_object_starts, Gerd Möllmann, 2024/07/23