The jline library creates a child process using Runtime.getRuntime().exec(cmd). This use of fork and SIGCHLD clashes with frys's control over the same components.
The fix here is to create a PtyTerminal that extend jline.Terminal. That code then uses frysk.sys.termios to set/clear the terminal settings. This needs to be common code, perhaphs in frysk-core/frysk.util, so that fhpd, and the corresponding GUI instance of fhpd can share it. There is an existing PtyTerminal in frysk.vtecli, that can be eliminated.