Hello, Unfortunately we didn't keep many more details about the problem, and I don't remember. If I read our internal ticket from back then correctly, logs using the %d format specifier were truncated too early, despite having sufficient space in the output buffer for snprintf (maybe only with "large" numbers). Since then, the project has switched to another logging library. So I'm not even able to easily do a build with unpatched log4cpp to check for the exact problem again.
Hello, This was cross-compiling from (if I remember correctly) Debian 11 x86_64, using Yocto to build an arm64 Linux system. It is not possible in this configuration for AC_TRY_RUN to actually run the code, as documented in autoconf manual: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.72/html_node/Runtime.html Avoid running test programs if possible, because this prevents people from configuring your package for cross-compiling. (AC_TRY_RUN is renamed to AC_RUN_IFELSE in...
To add to this, the fact that the SVN switched ot a 2.7 release (in r134) but then there never was a formal release of that (the repository has no tags, and there is no released source archive) is also a little confusing. Should we assume r134 is the 2.7.0 release?
The previous strace output was missing spawned threads, here is a more complete one: [ 3166] open(0xffffffff, "/dev/tty", O_RDWR, 0x0) = 0x3 (30 us) [ 3166] ioctl(0x3, TCGETA, 0x1c322f83560, 0x0) = 0x0 No error (16 us) [ 3166] ioctl(0x3, TIOCGWINSZ, 0x1c322f83170, 0xd40ccc888c) = 0x0 No error (14 us) [ 3166] ioctl(0x0, TCGETA, 0x7f60df9cf360, 0x20) = 0x0 No error (14 us) [ 3166] ioctl(0x1, TCGETA, 0x7f60df9cf360, 0x20) = 0x0 No error (13 us) [ 3166] ioctl(0x0, TCGETA, 0x7f60df9cf340, 0x20) = 0x0...
I have now fixed that bug: closing the pty was not unblocking poll()/select() waiting for read events on the other side of it. However, that didn't help: expect is still not noticing when the pty is closed by the child exiting.
I have made some testing of PTY behavior in Haiku and I think I found a bug: https://dev.haiku-os.org/ticket/18486 However, I am not sure where in expect or in tcl this would come into play, as I didn't find an use of select or poll (probably I just missed it because I don't know where to look).
The PTY system is configured to use openpty and should behave similarly to the BSDs, but of course, there could be bugs. It seems to be working except for the end of file detection. For example if I do: spawn echo hi expect hi This is working fine. Yes, we have strace. Here is the trace on Haiku: [ 3199] open(0xffffffff, "/dev/tty", O_RDWR, 0x0) = 0x3 (31 us) [ 3199] ioctl(0x3, TCGETA, 0x1491b524560, 0x0) = 0x0 No error (14 us) [ 3199] ioctl(0x3, TIOCGWINSZ, 0x1491b524170, 0x1d907acf8bc) = 0x0 No...
Expect on Haiku fails to wait for end of file