Hi Hans-Peter,

thanks for reporting this.

Fixed in *SVN 2011*.

There are two separate issues in your report:

Issue 1 — "TLV socket closed (3): V_len=34 rx_len=50":
The recv() call in Gtk_server.cc used the full internal buffer size
(10000 bytes) as the receive length.  On newer kernels (or with certain
GTK/glade files that trigger rapid consecutive sends) TCP coalescing can
deliver two TLV packets in a single recv() call, making rx_len larger
than V_len + 8.  The fix is to pass MSG_WAITALL and the exact expected
length (V_len + 8) to recv(), so that it always consumes exactly one TLV
packet per call.

Issue 2 — GLib-WARNING: g_spawn_sync() / ECHILD:
This warning is not a GNU APL bug.  It is a known interaction between
GLib's g_spawn_sync() and newer Linux kernels that changed SIGCHLD
handling.  It is harmless in this context and should be fixed in a future
GLib release.

Best Regards,
Jürgen

PS: The diagnosis and fix for issue 1 were produced with the assistance
of Claude Code (an AI coding assistant by Anthropic). The fix was reviewed
and approved by me before committing. See:
http://svn.savannah.gnu.org/viewvc/apl?view=revision&root=apl&revision=2011


On 6/13/26 23:42, Hans-Peter Sorge wrote:
Hi

when starting *⎕GTK 'some_interface_created_with.glade'

*I get
*/Gtk_server:1174274): GLib-WARNING**: 21:31:17.047: In call to g_spawn_sync(), wait status of a child process was requested but ECHILD was received by waitpid(). See the documentation of g_child_watch_source_new() for possible causes.

TLV socket closed (3): Success: V_len=34 rx_len=50
/*

----------
The message */"TLV socket closed (3): Success: V_len=34 rx_len=50"/*

seems to be caused by / in
Gtk_server.cc
    .......
    main
        ..........
        for(;;)
          .................
          if (rx_len != V_len + 8 )
               ........
               cerr << "TLV socket closed (3): "
               .........

With different*⎕GTK *.glade*runs/files*rx_len* is*V_len + 16*

using
gtk3-devel.x86_64               3.24.52-1.fc44
GNU APL version 2.0 / SVN: 1876:2009M

Could it be that the TLV header is 16Bytes long?
The config log says it used gtk3.

Best Regards
Hans-Peter



  • Gtk_server fai... Hans-Peter Sorge
    • Re: Gtk_s... Dr . Jürgen Sauermann via Bugs and suggestions for GNU APL

Reply via email to