On Thu, Jul 29, 1999 at 04:57:25PM -0400, Roland McGrath wrote: > > I tried the exec gzip'ed and bzip2'ed binaries on the fly feature, but it > > didn't work quite right. > > I will look into this when I get a chance. But this feature is not a high > priority and we will probably drop it later on; I'm not even sure it's > worth fixing it now. No problem. It can be left for a newcomer as an exercise. I throwed gdb at the failing exec process in a subhurd, and got an infinite loop somewhere, which doesn't seem to make progress. Maybe it is even a libc problem, as it hangs in a memcpy in fwrite(). For some very strange reason, the output in the transcript is NOT what I saw on the screen (I can't explain this). On screen I saw some more levels in the backtrace, below inflate_codes. They were (from my incomplete and probably not 100% accurate logs): memcpy() realloc() vscanf() __flshp() fflush_unlocked() fwrite_unlocked() zipwrite(buf=..., nwrite=32768) exec.c:1121 flush_window() util.c:210 After that the below trace followed. When left running, the exec process was sucking up as much memory as it could, and after reattaching a while later the backtrace looked exactly the same. Something bogus going on, but maybe it is a problem that goes away with libio? Thanks, Marcus Script started on Tue Jul 18 23:20:06 2000 gdb hurd:/# gdb /d/debug/build/exec/exec 59 GNU gdb 19990928 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-unknown-gnu0.2"... //59: No such file or directory. Attaching to program `/d/debug/build/exec/exec', pid 59 warning: Can't modify tracing state for pid 59: No signal thread Reading symbols from /lib/libhurdbugaddr.so.0.2...done. Reading symbols from /lib/libtrivfs.so.0.2...done. Reading symbols from /lib/libfshelp.so.0.2...done. Reading symbols from /lib/libiohelp.so.0.2...done. Reading symbols from /lib/libports.so.0.2...done. Reading symbols from /lib/libihash.so.0.2...done. Reading symbols from /lib/libthreads.so.0.2...done. Reading symbols from /lib/libshouldbeinlibc.so.0.2...done. Reading symbols from /lib/libc.so.0.2...done. Reading symbols from /lib/ld.so.1...done. Reading symbols from /lib/libmachuser.so.1...done. Reading symbols from /lib/libhurduser.so.0.0...done. (gdb) bt #0 0x8050612 in inflate_codes (tl=0x8084a68, td=0x80860b8, bl=9, bd=6) at ../../exec/inflate.c:543 #1 0x8051222 in inflate_dynamic () at ../../exec/inflate.c:855 #2 0x8051355 in inflate_block (e=0x1bb930) at ../../exec/inflate.c:900 #3 0x80513ba in inflate () at ../../exec/inflate.c:931 #4 0x804f3b4 in unzip (in=17, out=23) at ../../exec/unzip.c:120 #5 0x804be97 in check_gzip (earg=0x1bbbf8) at ../../exec/exec.c:1171 #6 0x804c200 in prepare_and_check (file=43, e=0x1bbbf8) at ../../exec/exec.c:1350 #7 0x804c446 in do_exec (file=43, oldtask=46, flags=0, argv=0x1bde58 "/bin/vmstat.gz", argvlen=15, argv_copy=1, envp=0x1bde74 "PWD=/", envplen=131, envp_copy=1, dtable=0x1bdf04, dtablesize=256, dtable_copy=1, portarray=0x1be310, nports=6, portarray_copy=1, intarray=0x1be334, nints=5, intarray_copy=1, deallocnames=0x1be354, ndeallocnames=263, destroynames=0x1be77c, ndestroynames=1) at ../../exec/exec.c:1397 #8 0x804d98a in S_exec_exec (protid=0x8084340, file=43, oldtask=46, flags=0, argv=0x1bde58 "/bin/vmstat.gz", argvlen=15, argv_copy=1, envp=0x1bde74 "PWD=/", envplen=131, envp_copy=1, dtable=0x1bdf04, dtablesize=256, dtable_copy=1, portarray=0x1be310, nports=6, portarray_copy=1, intarray=0x1be334, nints=5, intarray_copy=1, deallocnames=0x1be354, ndeallocnames=263, destroynames=0x1be77c, ndestroynames=1) at ../../exec/exec.c:2091 #9 0x804eb01 in _Xexec_exec (InHeadP=0x1bde1c, OutHeadP=0x1bbe1c) ---Type <return> to continue, or q <return> to quit--- at execServer.c:255 #10 0x804ed4b in exec_server (InHeadP=0x1bde1c, OutHeadP=0x1bbe1c) at execServer.c:439 #11 0x804ace4 in exec_demuxer (inp=0x1bde1c, outp=0x1bbe1c) at ../../exec/main.c:61 #12 0x33e13 in ports_manage_port_operations_one_thread () from /lib/libports.so.0.2 #13 0x68d3a in mach_msg_server_timeout () from /lib/libc.so.0.2 #14 0x33ef6 in ports_manage_port_operations_one_thread () from /lib/libports.so.0.2 #15 0x33fe6 in ports_manage_port_operations_multithread () from /lib/libports.so.0.2 #16 0x804a81f in main (argc=1, argv=0x1bffa8) at ../../exec/main.c:150 (gdb) quit The program is running. Quit anyway (and detach it)? (y or n) y Detaching from program `/d/debug/build/exec/exec' pid 59 hurd:/# exit Script done on Tue Jul 18 23:20:26 2000 -- `Rhubarb is no Egyptian god.' Debian http://www.debian.org Check Key server Marcus Brinkmann GNU http://www.gnu.org for public PGP Key [EMAIL PROTECTED], [EMAIL PROTECTED] PGP Key ID 36E7CD09 http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/ [EMAIL PROTECTED]