From c5a84cd2d1ac772e2fe187201a36cd9cccf3951c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 30 Jul 2012 14:23:25 +0200 Subject: open_issues/glibc: cba1c83ad62a11347684a9daf349e659237a1741 (2012-07-29) --- hurd/translator/procfs/jkoenig/discussion.mdwn | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'hurd') diff --git a/hurd/translator/procfs/jkoenig/discussion.mdwn b/hurd/translator/procfs/jkoenig/discussion.mdwn index 4f6492ed..3ea8d0c6 100644 --- a/hurd/translator/procfs/jkoenig/discussion.mdwn +++ b/hurd/translator/procfs/jkoenig/discussion.mdwn @@ -215,7 +215,8 @@ Needed by glibc's `pldd` tool (commit # `/proc/self/exe` -[[!message-id "alpine.LFD.2.02.1110111111260.2016@akari"]] +[[!message-id "alpine.LFD.2.02.1110111111260.2016@akari"]]. Needed by glibc's +`stdlib/tst-secure-getenv.c`. # `/proc/[PID]/fd/` -- cgit v1.2.3 From 2bf43f4d28c19f346d4261630dadcca15f1389df Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 25 Nov 2012 10:04:14 +0100 Subject: open_issues/gcc: 3336556d2cb32f46322922a83015f760cfb79d8f (2012-11-13; 6b7a0b5b7dfa4071c95418040cc0ee1528ba7915 (2012-08-05)) --- hurd/translator/exec.mdwn | 4 +- open_issues/exec_memory_leaks.mdwn | 24 +++++ open_issues/fifo_thread_explosion.mdwn | 20 ++++ open_issues/gcc.mdwn | 161 +++++++++++++++++++++++++++++---- toolchain/logs | 2 +- 5 files changed, 189 insertions(+), 22 deletions(-) create mode 100644 open_issues/exec_memory_leaks.mdwn create mode 100644 open_issues/fifo_thread_explosion.mdwn (limited to 'hurd') diff --git a/hurd/translator/exec.mdwn b/hurd/translator/exec.mdwn index d5b6bfbc..54abba7e 100644 --- a/hurd/translator/exec.mdwn +++ b/hurd/translator/exec.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009, 2012 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -10,3 +10,5 @@ License|/fdl]]."]]"""]] The *exec* server, listening on `/servers/exec`, is responsible for preparing the execution of processes. + + * [[open_issues/exec_memory_leaks]]. diff --git a/open_issues/exec_memory_leaks.mdwn b/open_issues/exec_memory_leaks.mdwn new file mode 100644 index 00000000..1a73ce9a --- /dev/null +++ b/open_issues/exec_memory_leaks.mdwn @@ -0,0 +1,24 @@ +[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag open_issue_hurd]] + +There are is some memory leak in [[`exec`|hurd/translator/exec]]. After twelve +hours worth of `fork/exec` ([[GCC]]'s `check-c` part of the testsuite), we got: + + PID UID PPID PGrp Sess TH Vmem RSS %CPU User System Args + 4 0 3 1 1 10 392M 262M 0.0 2:18.29 2hrs /hurd/exec + +The *RSS* seems a tad high. Also the system part of CPU time consumption is +quite noticeable. In comparison: + + 0 0 1 1 1 19 131M 1.14M 0.0 3:30.25 9:17.79 /hurd/proc + 3 0 1 1 1 224 405M 12.6M 0.2 42:20.25 67min ext2fs --readonly --multiboot-command-line=root=device:hd0s6 --host-priv-port=1 --device-master-port=2 --exec-server-task=3 -T typed device:hd0s6 + 276 0 3 1 1 344 442M 28.2M 0.6 48:09.36 91min /hurd/ext2fs /dev/hd2s5 diff --git a/open_issues/fifo_thread_explosion.mdwn b/open_issues/fifo_thread_explosion.mdwn new file mode 100644 index 00000000..08f682f2 --- /dev/null +++ b/open_issues/fifo_thread_explosion.mdwn @@ -0,0 +1,20 @@ +[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag open_issue_hurd]] + +As reported in [[!message-id "87sj80yb3e.fsf@kepler.schwinge.homeip.net"]], +after a [[GCC]] build (native, so three stages bootstrap), we got: + + PID UID PPID PGrp Sess TH Vmem RSS %CPU User System Args + 449 1000 3 1 1 10118 782M 198M 0.0 0:40.78 2:26.65 /hurd/fifo + +The other processes, in particular two instances of ext2fs and one of [[exec]], +looked reasonable. diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index d9940716..97dcb159 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -31,14 +31,14 @@ example. Especially all the compiler magic is all the same. -Last reviewed up to the [[Git mirror's dfed30bca14de84e0446cc02f5a27407dbfdc3e1 -(2012-06-11) sources|source_repositories/gcc]]. +Last reviewed up to the [[Git mirror's 6b7a0b5b7dfa4071c95418040cc0ee1528ba7915 +(2012-08-05) sources|source_repositories/gcc]]. has documentation for the `configure` switches. @@ -89,9 +89,9 @@ Last reviewed up to the [[Git mirror's dfed30bca14de84e0446cc02f5a27407dbfdc3e1 * `--enable-languages=[...]` - * GNAT is not yet ported / bootstrapped? + * [[Ada (GNAT)|GNAT]] support is work in progress. - * The Google Go's libgo (introduced in + * The [[Google Go's libgo|gccgo]] (introduced in e440a3286bc89368b8d3a8fd6accd47191790bf2 (2010-12-03)) needs OS configuration / support. @@ -136,9 +136,13 @@ Last reviewed up to the [[Git mirror's dfed30bca14de84e0446cc02f5a27407dbfdc3e1 * [-fstack-protector shouldn't use TLS in freestanding mode](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29838) + * See also commit bf1c0af128f33bd342636c4afeaa8f3a8a7cf8ca (reverted in + commit a204f0622242865ffea889bd698bc7c7bd236bd1), commit + 05c1aa95e6c37b3b281d749c76c673392941a031. + * Check before/after Joseph changes. (Should be fine.) - * 34618b3190c110b8926cc2b1db4b4eac95451995 + * 34618b3190c110b8926cc2b1db4b4eac95451995 »config-list.mk« What's this used for? (Check ML.) Ask to include i686-pc-gnu (once it is buildable out of the box)? See also @@ -194,6 +198,17 @@ Last reviewed up to the [[Git mirror's dfed30bca14de84e0446cc02f5a27407dbfdc3e1 to find out why some stuff wasn't compiling even after kfreebsd porting patches adding preprocessors checks for __GLIBC__ + GNU/kFreeBSD and GNU/kNetBSD: commit + 6396cc37141180db4d2c8f73cab4f5977d8a1e19 (2004-06-24, r83577), + GNU/kOpenSolaris: commit 3bef40126fb1633018fce47828df0fa9f65f110c + (2009-01-29, r143768). See also GDB commits + fda1b24c62843f81d31de2af57b1ed9c55f1e348 and + 1acb4f4ff73d20850a7524fc939d2651be75f47b, and binutils commits + e3081899be7570eb90ccfd5d767950d3a62871ee, + 127c4d4a4fe65bd17ea64db1be7f3c93d393afcb, + 47dbf5b634b955c2db1221715d15751e1281546a, and + ad2be7e8b846f4cd67fa1e032f98d5dc1cdb6b8d. + IRC, freenode, #hurd, 2012-05-25: Hi, looks like __GLIBC__ is not defined by default for GNU? @@ -248,6 +263,8 @@ Last reviewed up to the [[Git mirror's dfed30bca14de84e0446cc02f5a27407dbfdc3e1 what should be done first is, however, find out why that define has been added to gcc + [[!message-id "201211061305.02565.pino@debian.org"]]. + * [low] Does `-mcpu=native` etc. work? (For example, 2ae1f0cc764e998bfc684d662aba0497e8723e52.) @@ -278,13 +295,15 @@ Last reviewed up to the [[Git mirror's dfed30bca14de84e0446cc02f5a27407dbfdc3e1 C.f. [[!message-id "x57jobtqx89w.fsf@frobland.mtv.corp.google.com"]], [[!message-id "x57jd359fkx3.fsf@frobland.mtv.corp.google.com"]] as well as [[!debbug 629866]]/[[!message-id - "20110609002620.GA16719@const.famille.thibault.fr"]]. + "20110609002620.GA16719@const.famille.thibault.fr"]]. commit + 026e608ecebcb2a6193971006a85276307d79b00. # Build Here's a log of a GCC build run; this is from our [[Git repository's -2e2db3f92b534460c68c2f9ae64455884424beb6 (2012-06-15; 2012-06-06) +3336556d2cb32f46322922a83015f760cfb79d8f (2012-11-13; +6b7a0b5b7dfa4071c95418040cc0ee1528ba7915 (2012-08-05)) sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C @@ -297,12 +316,12 @@ sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE. Different hosts may default to different shells and compiler versions; thus harmonized. -This takes up around 3.1 GiB, and needs roughly 3.0 h on kepler.SCHWINGE and -12.75 h on coulomb.SCHWINGE. +This takes up around 3.1 GiB, and needs roughly 3.25 h on kepler.SCHWINGE and +14.5 h on coulomb.SCHWINGE. @@ -482,6 +501,15 @@ This takes up around 3.1 GiB, and needs roughly 3.0 h on kepler.SCHWINGE and * `libatomic` on GNU/Linux compiles several more files than on GNU/Hurd. Is that correct? Probably futex support. + * 2e2db3f92b534460c68c2f9ae64455884424beb6..3336556d2cb32f46322922a83015f760cfb79d8f + + Both GNU/Linux and GNU/Hurd: + + -checking assembler for rep and lock prefix... yes + +checking assembler for rep and lock prefix... no + + TODO. + # Install @@ -514,24 +542,117 @@ min on coulomb.SCHWINGE. Testing on GNU/Hurd is blocked on [[fork_mach_port_mod_refs_ekern_urefs_owerflow]]. -TODO. Can use parallel testing, see [[!message-id -"20110331070322.GI11563@sunsite.ms.mff.cuni.cz"]]. +TODO. On GNU/Hurd, it is advisable to reboot after having built and installed +GCC, before running the testsuite, as otherwise there seems to be a tendency +that the system crashes during the `gcc.c-torture/compile/limits-structnest.c` +tests, which are rather memory hungry, see [[!message-id +"87bol6aixd.fsf@schwinge.name"]]. Likewise, it also seems advisable to add +further reboots in between, that is, separate `make check`'s `check-host` into +several separate runs, and then one for `check-target` (see +`[build]/Makefile:do-check`, `[build]/gcc/Makefile:CHECK_TARGETS`), as +otherwise there seems to be a tendency for the system crashing sooner or later. +(Running `check-host` accumulates to something like 44 hours worth of +forking/execing of GCC and testcases.) On GNU/Linux we run it in one go, so +that we'll catch any fundamental rearrangements of/additions to the testsuites. + +kepler.SCHWINGE: + + $ make -k RUNTESTFLAGS=-v check 2>&1 | tee log_test + [...] + +coulomb.SCHWINGE: + + $ grep ^CHECK_TARGETS gcc/Makefile + CHECK_TARGETS = check-ada check-c check-c++ check-fortran check-java check-lto check-objc - $ make -k RUNTESTFLAGS=-v check 2>&1 | tee log_check + $ export LC_ALL=C + $ t=check-ada/t=check-c/t=check-c++/t=check-fortran/t=check-java/t=check-lto/t=check-objc + $ make -k -C gcc RUNTESTFLAGS=-v "$t" 2>&1 | tee log_test_gcc_"$t" + [...] + $ make -k RUNTESTFLAGS=-v check-target 2>&1 | tee log_test_check-target [...] -This needs roughly 6.5 h on kepler.SCHWINGE and 50.25 h on coulomb.SCHWINGE. +This needs roughly 6.75 h on kepler.SCHWINGE and 3.75 h (`gcc/check-ada`) + +12.5 h (`gcc/check-c`) + 4.5 h (`gcc/check-c++`) + 5.25 h (`gcc/check-fortran`) ++ 0 h (`gcc/check-java`) + 0 h (`gcc/check-lto`) + 0.5 h (`gcc/check-objc`) + +8.5 h (`check-target`) = 35 h on coulomb.SCHWINGE. ## Analysis $ toolchain/logs/process gcc test -TODO. + * PTYs + + Occasionally tests FAIL due to: + + spawn -open -1 failed, 1 5, The system has no more ptys. Ask your system administrator to create more. + + TODO. + + * TODO + + +## Enhancements + + +### Parallel Testing + +[[!message-id "20110331070322.GI11563@sunsite.ms.mff.cuni.cz"]]. + + +### Distributed Testing + + +#### IRC, OFTC, #gcc, 2012-05-31 + jsm28: in your mentor testing, you have the source and build + tree available for make check? or it's a pure installed-tree test? + dnovillo: Source tree, install tree, no build tree. + jsm28: so, you run make check on top of the source tree or copy + the */testsuite trees to a testing area? + Create a site.exp and do runtest in a temporary directory. runtest + is pointed to the source tree to find sources. + For cross testing for GNU/Linux targets, the temporary directory is + mounted at the same path on host and target. + jsm28: thanks. i guess i'll have to find the slice of the + source tree i need to copy. + jsm28: for libstdc++ do you write a different site.exp? + i noticed that it generates a different site,exp there. + The site.exp is mostly the same for all testsuites (so includes + settings that only some testsuites use). + ok, thanks. + and when you say "pointed to the source tree" you mean "set + srcdir /path/to/top/of/gcc" ? + (in site.exp) + The GDB testsuite requires that you run the GDB testsuite's + configure script in the temporary directory where you will run runtest. + I don't think any GCC testsuites we use have requirements like that. + dnovillo: --srcdir option to runtest. + ah, yes. + (and --tool, --target_board etc.) + right + since i'm distributing the tests. i want each node to only do a + bunch of files. this means that i either use 'tool.exp=file-pattern' or + simply copy the subset of files i want tool.exp to find. + i chose the second approach, but that breaks in a handful of + cases that need files from other sub-directories. + like g++.dg gcc.dg using stuff from c-c++-common. + for libstdc++, the possibilities for splitting are enormous as + it has many directories. + but i'm not setting it right. runtest runs without even trying + to test anything. + i'm not having it pick up the right driver. + Probably all .exp files should be copied to anywhere running + testsuites, since some read .exp files from other directories. + jsm28: that could be it too. it's irritating that libstdc++ + does not even error out. runtest just does nothing and returns 0. -# Specific Languages +##### IRC, OFTC, #gcc, 2012-06-06 - * [[GNAT]] + any libstdc++ maintainer around? + or, does anyone know when the testsuite/data files are copied + into the running testsuite/ dir? + seems to be done in advance by make. - * [[gccgo]] +##### [[!message-id "4FC7791E.6040407@gmail.com"]] diff --git a/toolchain/logs b/toolchain/logs index 1084b70a..f168fcad 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 1084b70a4926752fc06e78e79e1b58f815b4dd2a +Subproject commit f168fcad9d41a6ac88ce24da8238e9c417a9f114 -- cgit v1.2.3 From 69f4f531625bb0fa3c5ab667279106dd77ae9732 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 27 Nov 2012 17:39:50 +0100 Subject: hurd/debugging/translator/capturing_stdout_and_stderr: Enhance example. --- hurd/debugging/translator/capturing_stdout_and_stderr.mdwn | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'hurd') diff --git a/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn b/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn index b7cfc3c9..47fbbc48 100644 --- a/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn +++ b/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2008, 2009, 2010 Free Software Foundation, +[[!meta copyright="Copyright © 2008, 2009, 2010, 2012 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -6,8 +6,8 @@ id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] Sometimes it may already be helpful to capture a translator's `stdout` and `stderr`, for example in this situation where [[translator/pfinet]] was @@ -15,13 +15,14 @@ silently dying all the time, without any console output: $ sudo settrans -fgap ↩ /servers/socket/2 ↩ - /bin/sh -c '/hurd/pfinet -i eth0 -a [...] > /tmp/stdout 2> /tmp/stderr' + /bin/sh -c 'exec >> /root/pfinet.log 2>&1 && date && ↩ + /hurd/pfinet -i eth0 -a [...]' $ [...] - $ cat /tmp/stdout + $ 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) - $ cat /tmp/stderr 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 -- cgit v1.2.3 From 111a12ba9002c0e69fb7976880ffced769622688 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 28 Nov 2012 16:01:11 +0100 Subject: hurd/libstore/nbd_store: Link to a few NBD servers. --- hurd/libstore/nbd_store.mdwn | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'hurd') diff --git a/hurd/libstore/nbd_store.mdwn b/hurd/libstore/nbd_store.mdwn index 5874b162..b27bb9df 100644 --- a/hurd/libstore/nbd_store.mdwn +++ b/hurd/libstore/nbd_store.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation, +[[!meta copyright="Copyright © 2007, 2008, 2009, 2012 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -10,3 +10,23 @@ is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!meta title="nbd store: Linux-compatible network block device"]] + +[[!wikipedia "Network block device"]]. + + +# Servers + + +## [Network Block Device (TCP version)](http://nbd.sourceforge.net/) + +[[tschwinge]] once was testing this (years ago), and found it didn't work. +Perhaps the protocol was extended? + + +## [xNBD](https://bitbucket.org/hirofuchi/xnbd/) + + +## [jNbd](http://vanheusden.com/java/JNbd/) + + +## [BlackHole](http://vanheusden.com/java/BlackHole/) -- cgit v1.2.3