ecs-isp@2rosenthals.com Messaggio archiviato #961

Da: "Steven Levine" <ecs-isp@2rosenthals.com> Intestazioni complete
Messaggio non codificato
Oggetto: Re: [eCS-ISP] Updating bind
Data: Tue, 22 Oct 2024 16:35:58 -0800
A: "eCS ISP Mailing List" <ecs-isp@2rosenthals.com>

In <list-11130186@2rosenthals.com>, on 10/22/24
   at 07:07 PM, "Paul Smedley" <ecs-isp@2rosenthals.com> said:

Hi Paul,

>It's crashing here:
>https://github.com/isc-projects/bind9/blob/bind-9.18/lib/isc/trampoline.c#L112

>Not sure why yet....

That's odd.  The opimizer seems to be generating code that is hard to map
to the sources.  If you continue to have issues with this,  I can take a
look at a process dump which will show me a bit more context of how ESI
gets set.

What I think we have is

 0006DAB7 >MOV  EDX, [ESI]  (8b16) ; trampoline[i]
 0006DAB9  MOV  EAX, EBX    (89d8) ; i
 0006DABB  ADD  EBX, 0x1    (83c3 01) ; isc__trampoline_min = i + 1
 0006DABE  TEST EDX, EDX    (85d2) ; if trampoline[i] != NULL

and

EBX  : 00000001         ; i
EDI  : 00000041         ; isc__trampoline_max
ESI  : 00000004 ; pCurTrampoline

ESI should point the a trampoline element, but it doesn't.  It's almost as
if isc__trampoline_new is returning a null pointer, but I don't see how
this can happen.

If you decide to capture a process dump, use something like:

  pdumpctl -i f host

The f option requests a full dump which will be sufficient since the trap
is not in shared code.

Since this happens on startup, it might be easier to let the debugger show
you the trapping code.

Steven

--
----------------------------------------------------------------------
"Steven Levine" <steve53@earthlink.net>  Warp/DIY/BlueLion etc.
www.scoug.com www.arcanoae.com www.warpcave.com
----------------------------------------------------------------------


Isriviti: Feed, Riassunto, Indice.
Disiscriviti
Scrivi a ListMaster