coding.c:7777     (*(coding->encoder)) (coding);

Here `coding->encoder` is 0. I then printed `*coding` but I don't have enough understanding to figure out what's wrong with it. 

Okay, Emacs works if I in term.c:753 if I use this:

```
coding = FRAME_TERMINAL_CODING (f);
```

instead of:

```
coding = (FRAME_TERMINAL_CODING (f)->common_flags & CODING_REQUIRE_ENCODING_MASK ? FRAME_TERMINAL_CODING (f) : &safe_terminal_coding);
```

I know docker allocates a "pseudo TTY", so probably that there's a misdetection happening here. The thing is it works for all docker images <= 26.2, so something changed in Emacs that triggers this only for docker's TTY.

Getting close :-)
Philippe

p.s: I noticed that earlier I replied to Eli only, so I'm sending again the gdb backgrace with the lisp backtrace to the ML