#@Erik Sipsma @vito ๐Ÿ‘‹ again ...

1 messages ยท Page 1 of 1 (latest)

signal linden
#

That does sound reasonable to be able to do without a hang, yes

reef token
#

this could be 100 different things, but @bitter sinew and I are running out of ideas

#

also it's a very weird hang where we don't even the all the logs -- sometimes after killing the process we get the rest of them

#

so it's been a PITA to debug

reef token
faint salmon
#

Yeah that seems like it should work, principally anyway thinkies

#

i'd expect the later ones to just be a no-op right?

reef token
#

not even sure if this is the right way to use this but the logic is pretty much as:

    svc, err := serviceState.AsService(...).Start(startCtx)


    tunnel, err := dag.Host().Tunnel(svc, dagger.HostTunnelOpts{Ports: hostForwards}).Start(ctx)


    for _, forward := range hostForwards {
        externalEndpoint, err := tunnel.Endpoint(ctx, dagger.ServiceEndpointOpts{
            Port: forward.Frontend,
        })
        }

    for port, endpoint := range endpoints {
        internalEndpoint, err := svc.Endpoint(ctx, dagger.ServiceEndpointOpts{
            Port: port,
        })
}

-ish

#

basically start a service, start a tunnel, grab the internal/external endpoint for each port

reef token
#

same session though

faint salmon
#

ah i see

#

then i have even less of an idea thinkies

#

does it unwedge if you remove the tunnels?

signal linden
# reef token also it's a very weird hang where we don't even the all the logs -- sometimes af...

also it's a very weird hang where we don't even the all the logs -- sometimes after killing the process we get the rest of them
killing the child process for the service inside the engine container?

my generic process would be to trigger it in the most minimal way possible and then get a stack trace of everything happening in the engine. Most brute-force way is to just tail engine logs and send SIGQUIT, but that kills the engine of course. Then sift through and see what it's stuck on

#

but that assumes it is indeed an engine-side problem and not something in the client (which is plausible since it involves client-side tunnels)

reef token