Sometimes it may already be helpful to capture a translator's
stderr, for example in this situation where pfinet was
silently dying all the time, without any console output:
$ sudo settrans -fgap ↩ /servers/socket/2 ↩ /bin/sh -c 'exec >> /root/pfinet.log 2>&1 && date && ↩ /hurd/pfinet -i eth0 -a [...]' $ [...] $ cat /root/pfinet.log [date] NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP TCP: Hash tables configured (ehash 65536 bhash 65536) pfinet: ../../hurd.work/pfinet/ethernet.c:196: ethernet_xmit: Unexpected error: (os/device) invalid IO size.
(Trying to run GDB in this case was of no help -- due to a bug in GDB (supposedly) it wouldn't catch the fault.)
Be made aware that both
stderr will be block bufferend and no
longer line buffered when doing such a redirection, so you'll have to arrange
fflushes on these, or force them to be line buffered again
using the appropriate glibc magic (
setvbuf). Otherwise you'll see text in
the output files only if either glibc herself decides to flush (after some KiB
of text) the after translator exits.
There is also a related open issue.