From 47db282da1446e1cbfb8f1ee804bdd8a8a994d8c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 27 Apr 2011 13:31:07 +0200 Subject: FOSS Factory: Some more tasks. --- open_issues/code_analysis.mdwn | 10 +++++ open_issues/ext2fs_page_cache_swapping_leak.mdwn | 2 + ...rk_mach_port_mod_refs_ekern_urefs_owerflow.mdwn | 14 +++++- open_issues/formal_verification.mdwn | 16 ++++++- open_issues/gccgo.mdwn | 2 +- open_issues/gnat.mdwn | 2 +- open_issues/gnumach_console_timestamp.mdwn | 2 + open_issues/gnumach_memory_management.mdwn | 2 + open_issues/libc_variant_selection.mdwn | 4 +- open_issues/libpthread.mdwn | 51 ++++++++++++++++------ open_issues/locking_issues.mdwn | 34 +++++++++++++++ open_issues/perl.mdwn | 2 +- open_issues/python.mdwn | 2 +- open_issues/rework_gnumach_ipc_spaces.mdwn | 2 + open_issues/term_blocking.mdwn | 29 +++++++++++- 15 files changed, 151 insertions(+), 23 deletions(-) create mode 100644 open_issues/locking_issues.mdwn (limited to 'open_issues') diff --git a/open_issues/code_analysis.mdwn b/open_issues/code_analysis.mdwn index 21e09089..ab90a6b6 100644 --- a/open_issues/code_analysis.mdwn +++ b/open_issues/code_analysis.mdwn @@ -16,6 +16,11 @@ desc="Wikipedia article"]]). This topic overlaps with [[performance analysis|performance]], [[formal_verification]], as well as general [[debugging]]. +[[!toc]] + + +# Suggestions + * [[GCC]]'s warnings. Yes, really. * [Static Source Code Analysis Tools for C](http://spinroot.com/static/) @@ -63,3 +68,8 @@ analysis|performance]], [[formal_verification]], as well as general * * + + +# Bounty + +There is a [[!FF_project 276]][[!tag bounty]] on some of these tasks. diff --git a/open_issues/ext2fs_page_cache_swapping_leak.mdwn b/open_issues/ext2fs_page_cache_swapping_leak.mdwn index 575196d8..607c3af4 100644 --- a/open_issues/ext2fs_page_cache_swapping_leak.mdwn +++ b/open_issues/ext2fs_page_cache_swapping_leak.mdwn @@ -10,6 +10,8 @@ License|/fdl]]."]]"""]] [[!tag open_issue_hurd]] +There is a [[!FF_project 272]][[!tag bounty]] on this task. + IRC, OFTC, #debian-hurd, 2011-03-24 I still believe we have an ext2fs page cache swapping leak, however diff --git a/open_issues/fork_mach_port_mod_refs_ekern_urefs_owerflow.mdwn b/open_issues/fork_mach_port_mod_refs_ekern_urefs_owerflow.mdwn index ab3ba98b..39003ae4 100644 --- a/open_issues/fork_mach_port_mod_refs_ekern_urefs_owerflow.mdwn +++ b/open_issues/fork_mach_port_mod_refs_ekern_urefs_owerflow.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2010, 2011 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,6 +10,11 @@ License|/fdl]]."]]"""]] [[!meta title="fork: mach_port_mod_refs: EKERN_UREFS_OWERFLOW"]] +[[!toc]] + + +# Original Report + In the [[GCC testsuite|gcc]], at this point: Running /home/tschwinge/tmp/gcc/hurd/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp ... @@ -171,3 +176,10 @@ ones. * * + +This is likely *simply* a programming error in glibc's fork implementation. + + +# Bounty + +There is a [[!FF_project 273]][[!tag bounty]] on this task. diff --git a/open_issues/formal_verification.mdwn b/open_issues/formal_verification.mdwn index 168d59a4..b7db76ee 100644 --- a/open_issues/formal_verification.mdwn +++ b/open_issues/formal_verification.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2010, 2011 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 @@ -14,3 +14,17 @@ article"]]) deals with formally reasoning about a program's correctness. Especially in the field of [[DSL]]s, this is used for asserting program codes' correctness, as explained in {{$microkernel/barrelfish#fof_plos09}}, for example. + +[[!toc]] + + +# Issues + + * [[locking_issues]] + + * [[term_blocking]] + + +# Bounty + +There is a [[!FF_project 276]][[!tag bounty]] on some of these tasks. diff --git a/open_issues/gccgo.mdwn b/open_issues/gccgo.mdwn index d521564f..0ecc1228 100644 --- a/open_issues/gccgo.mdwn +++ b/open_issues/gccgo.mdwn @@ -16,7 +16,7 @@ Make the [Google Go programming language](http://golang.org/) available on GNU/Hurd in its [[GCC]] *gccgo* implementation, and enable Hurd-specific features. -There is a [[!FF_project 263]][[!tag bounty]] for this task. +There is a [[!FF_project 263]][[!tag bounty]] on this task. --- diff --git a/open_issues/gnat.mdwn b/open_issues/gnat.mdwn index 0215b712..30e38317 100644 --- a/open_issues/gnat.mdwn +++ b/open_issues/gnat.mdwn @@ -15,7 +15,7 @@ License|/fdl]]."]]"""]] Make the Ada programming language available on GNU/Hurd in its [[GCC]] GNAT implementation, and enable Hurd-specific features. -There is a [[!FF_project 259]][[!tag bounty]] for this task. +There is a [[!FF_project 259]][[!tag bounty]] on this task. --- diff --git a/open_issues/gnumach_console_timestamp.mdwn b/open_issues/gnumach_console_timestamp.mdwn index b36b47b9..52b574d5 100644 --- a/open_issues/gnumach_console_timestamp.mdwn +++ b/open_issues/gnumach_console_timestamp.mdwn @@ -10,6 +10,8 @@ License|/fdl]]."]]"""]] [[!tag open_issue_gnumach]] +There is a [[!FF_project 267]][[!tag bounty]] on this task. + IRC, freenode, #hurd, 2011-02-17 task 39011c10 deallocating an invalid port 349, most probably a diff --git a/open_issues/gnumach_memory_management.mdwn b/open_issues/gnumach_memory_management.mdwn index c85c88e3..1b897454 100644 --- a/open_issues/gnumach_memory_management.mdwn +++ b/open_issues/gnumach_memory_management.mdwn @@ -10,6 +10,8 @@ License|/fdl]]."]]"""]] [[!tag open_issue_gnumach]] +There is a [[!FF_project 266]][[!tag bounty]] on this task. + IRC, freenode, #hurd, 2011-04-12: braunr: do you think the allocator you wrote for x15 could be used diff --git a/open_issues/libc_variant_selection.mdwn b/open_issues/libc_variant_selection.mdwn index 10e709a5..f44f7068 100644 --- a/open_issues/libc_variant_selection.mdwn +++ b/open_issues/libc_variant_selection.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2010, 2011 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,6 +10,8 @@ License|/fdl]]."]]"""]] [[!tag open_issue_glibc open_issue_porting]] +There is a [[!FF_project 274]][[!tag bounty]] on this task. + There are now specialized variants of Debian's libc package, libc0.3-i686 and libc0.3-xen. diff --git a/open_issues/libpthread.mdwn b/open_issues/libpthread.mdwn index 16b6d098..614f1271 100644 --- a/open_issues/libpthread.mdwn +++ b/open_issues/libpthread.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2010, 2011 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,26 +10,48 @@ License|/fdl]]."]]"""]] [[!tag open_issue_glibc open_issue_libpthread]] -GSoC project idea: [[community/gsoc/project ideas/pthreads]] +[[!toc]] ---- -`#hurd`, 2010-01-24 +# cthreads -> pthreads - youpi: hm, thought about the pthread/stubs issue w/ dlopen'ed libraries - currently looks like libstdc++ on hurd links to pthread-stubs, we're the only one with such configuration - i was looking at the gcc 4.4 patch hurd-pthread.diff, could it be it does not set THREADLIBS in the configure.ac switch case? +Get rid of cthreads; switch to pthreads. + +There is a [[!FF_project 275]][[!tag bounty]] on this task. + + +## Original [[community/GSoC]] Task Description + +[[!inline pages=community/gsoc/project_ideas/pthreads feeds=no]] + + + +# pthread/stubs issue w/ dlopen'ed libraries + +IRC, freenode, #hurd, 2010-01-24 + + youpi: hm, thought about the pthread/stubs issue w/ dlopen'ed + libraries + currently looks like libstdc++ on hurd links to pthread-stubs, + we're the only one with such configuration + i was looking at the gcc 4.4 patch hurd-pthread.diff, could it + be it does not set THREADLIBS in the configure.ac switch case? that's expected - on linux the libc provides hooks itself, on hurd-i386 it's pthread-stubs + on linux the libc provides hooks itself, on hurd-i386 it's + pthread-stubs why not explicitly link to pthread though? - because there is no strict need to, for applications that don't need libpthread - the dlopen case is a tricky case that pthread-stubs had not thought about + because there is no strict need to, for applications that don't + need libpthread + the dlopen case is a tricky case that pthread-stubs had not thought + about hm what if the pthread stubs would be moved in our glibc? that's what we should do yes (ideally) - but for this we need to build libpthread along glibc, to get it really working - and that's the tricky part (Makefile & such) which hasn't been done yet + but for this we need to build libpthread along glibc, to get it + really working + and that's the tricky part (Makefile & such) which hasn't been done + yet why both (stubs + actual libpthread)? because you need the stubs to be able to call the actual libpthread as soon libpthread gets dlopened for instance @@ -38,7 +60,8 @@ GSoC project idea: [[community/gsoc/project ideas/pthreads]] (remember that nptl does this if you want to see how) (it's the libc files in nptl/) (and forward.c) - also if libpthreads gets integrated with glibc don't we need to switch the hurd from cthreads then? Which has been the blocker all this time AFAIR? + also if libpthreads gets integrated with glibc don't we need to + switch the hurd from cthreads then? Which has been the blocker all this + time AFAIR? we don't _need_ to ok - diff --git a/open_issues/locking_issues.mdwn b/open_issues/locking_issues.mdwn new file mode 100644 index 00000000..e15562bc --- /dev/null +++ b/open_issues/locking_issues.mdwn @@ -0,0 +1,34 @@ +[[!meta copyright="Copyright © 2011 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 locking issues in the Hurd's libraries. + +[[!toc]] + + +# Original [[community/GSoC]] Task Description + +[[!inline pages=community/gsoc/project_ideas/libdiskfs_locking feeds=no]] + + +# ext2fs Deadlock + +[[ext2fs_deadlock]]. + + +# Formal Verification + +Methods of [[formal_verification]] should be applied to get an understanding of +the behavior of the locking logic. There are tools for formal +verification/[[code_analysis]] that can likely help here. + +There is a [[!FF_project 278]][[!tag bounty]] on this task. diff --git a/open_issues/perl.mdwn b/open_issues/perl.mdwn index 92b84b41..e94a623b 100644 --- a/open_issues/perl.mdwn +++ b/open_issues/perl.mdwn @@ -13,7 +13,7 @@ License|/fdl]]."]]"""]] Resolve issues uncovered by Perl's test suite, and enable Hurd-specific features. -There is a [[!FF_project 264]][[!tag bounty]] for this task. +There is a [[!FF_project 264]][[!tag bounty]] on this task. --- diff --git a/open_issues/python.mdwn b/open_issues/python.mdwn index 9667a78a..34fa81f6 100644 --- a/open_issues/python.mdwn +++ b/open_issues/python.mdwn @@ -13,7 +13,7 @@ License|/fdl]]."]]"""]] Resolve issues uncovered by Python's test suite, and enable Hurd-specific features. -There is a [[!FF_project 260]][[!tag bounty]] for this task. +There is a [[!FF_project 260]][[!tag bounty]] on this task. --- diff --git a/open_issues/rework_gnumach_ipc_spaces.mdwn b/open_issues/rework_gnumach_ipc_spaces.mdwn index c0b7c8dd..5bf0c530 100644 --- a/open_issues/rework_gnumach_ipc_spaces.mdwn +++ b/open_issues/rework_gnumach_ipc_spaces.mdwn @@ -10,6 +10,8 @@ License|/fdl]]."]]"""]] [[!tag open_issue_gnumach]] +There is a [[!FF_project 268]][[!tag bounty]] on this task. + IRC, freenode, #hurd, 2011-04-23 youpi: is there any use of the port renaming facility ? diff --git a/open_issues/term_blocking.mdwn b/open_issues/term_blocking.mdwn index 8d3e3b9f..5eea1570 100644 --- a/open_issues/term_blocking.mdwn +++ b/open_issues/term_blocking.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009, 2011 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,7 +10,12 @@ License|/fdl]]."]]"""]] [[!tag open_issue_hurd]] -There must be some blocking / dead-locking (?) problem in `term`: +There must be some blocking / dead-locking (?) problem in `term`. + +[[!toc]] + + +# Original Findings # w | grep [t]sch tschwing p1 192.168.10.60: Tue 8PM 0:03 2172 /bin/bash @@ -98,3 +103,23 @@ Have a freshly started shell blocking on such a `term` instance. [New Thread 1766.6] Reading symbols from /lib/libhurdbugaddr.so.0.3...Reading symbols from /usr/lib/debug/lib/libhurdbugaddr.so.0.3... [System doesn't respond anymore, but no kernel crash.] + +--- + +The very same behavior is still observable as of 2011-03-24. + +Next: rebooted; on console started root shell, screen, a few spare windows; as +user started GDB test suite, noticed the PTY it's using; in a root shell +started GDB (the system one, for `.debug` stuff) on `/hurd/term`, `set +noninvasive on`, attach to the *term* that GDB is using. + + +# Formal Verification + +This issue may be a simple programming error, or it may be more complicated. + +Methods of [[formal_verification]] should be applied to confirm that there is +no error in `/hurd/term`'s logic itself. There are tools for formal +verification/[[code_analysis]] that can likely help here. + +There is a [[!FF_project 277]][[!tag bounty]] on this task. -- cgit v1.2.3