9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Roman Shaposhnick <rvs@sun.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: Re: [9fans] quantity vs. quality
Date: Wed, 14 Jun 2006 15:09:20 -0700	[thread overview]
Message-ID: <20060614220919.GG7331@submarine> (raw)
In-Reply-To: <a67ad68188590b288261dc131e7e978c@vitanuova.com>

On Tue, Jun 13, 2006 at 01:08:22PM +0100, rog@vitanuova.com wrote:
> i think this has been mentioned on the list before (otherwise i wouldn't
> have known to look for it) but when considering error recovery tactics, it's
> worth looking at http://www.sics.se/~joe/thesis/armstrong_thesis_2003.pdf
> ("Making reliable software systems in the presence of errors")

  Thanks for the pointer. I find some of the ideas mentioned in this paper 
  to be quite interesting. Especially the ones on how true error recovery is
  supposed to be structured based on the hierarchy of supervisors and WBFs.
  
  Their job, however, seems to be made easier by the sort of language they
  use. For the cave-man like me, who still thinks that C is all I need,
  here's a mechanism I would very much like to use in order to make my
  code more fault tolerant, but easier to maintain: the "reverse" propagation
  of corrections. Here's what I mean by it.

  Suppose we're deep down in a call stack which looks somewhat like this:
     
     main 
       ...
         foo
	   ...
	      bar()

  now, there's a fixable exception that occurs in bar(), lets say a call
  to malloc that return NULL. Also suppose that I do have a strategy
  for dealing with OOM conditions, but I don't want it to clutter my
  bar() code. In fact, I don't even want it to be local to the process
  but rather implemented as a policy on a standalone server. All of that
  means that I can't just simply write:
      
         try {
	    malloc();
	 } catch(...) {
	    <fix it>
	 }
   
  but I have to transfer the control to the higher authority. I expect
  the codition which lead to OOM be fixed at that level, and all I want
  to have at the level of bar() is to see my malloc() call be restared.
  Automatically. Alternatively the authority could decide that malloc()
  has to be terminated at which point my control flow will resume past
  the 'malloc();'. 

  Now, we have a mechanism for the exception to be propagated upwards
  (I can even do it in C with things like waserror()), but there's no
  mechanism for the "fix" to be "propagated" downwards and have
  my call to malloc be automatically restarted. 

  On one hand it shouldn't be too hard to make such a thing part of the
  language, but I haven't seen anything like it yet. So are there any
  better solutions to the problem I've just described or am I talking
  nonsense here ? ;-)
  	     
Thanks,
Roman.


  parent reply	other threads:[~2006-06-14 22:09 UTC|newest]

Thread overview: 229+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-07 17:58 [9fans] gcc on plan9 Corey
2006-06-07 18:24 ` Roman Shaposhnick
2006-06-07 18:50   ` Ronald G Minnich
2006-06-07 18:55     ` William Josephson
2006-06-07 20:12       ` Ronald G Minnich
2006-06-07 20:20         ` Roman Shaposhnick
2006-06-07 20:42           ` Ronald G Minnich
2006-06-07 20:44         ` William Josephson
2006-06-07 21:00           ` Ronald G Minnich
2006-06-07 19:05     ` Roman Shaposhnick
2006-06-07 20:13       ` Ronald G Minnich
2006-06-07 20:48         ` Roman Shaposhnick
2006-06-07 21:04           ` Ronald G Minnich
2006-06-08  6:42             ` Roman Shaposhnik
2006-06-08  7:00               ` Iruatã Souza (muzgo)
2006-06-07 19:48   ` Corey
2006-06-07 20:16     ` Ronald G Minnich
2006-06-07 20:26       ` Roman Shaposhnick
2006-06-07 20:43         ` Ronald G Minnich
2006-06-08  5:49           ` lucio
2006-06-07 18:57 ` Francisco J Ballesteros
2006-06-07 19:55   ` Corey
2006-06-07 20:46     ` rog
2006-06-07 21:07       ` Corey
2006-06-07 21:16         ` Christoph Lohmann
2006-06-07 21:25           ` Rodolfo (kix)
2006-06-07 21:50             ` Corey
2006-06-07 21:54               ` David Leimbach
2006-06-07 21:56               ` Ronald G Minnich
2006-06-07 22:06               ` Lluís Batlle i Rossell
2006-06-07 22:16                 ` David Leimbach
2006-06-07 22:31                   ` Francisco J Ballesteros
2006-06-07 22:33                     ` Ronald G Minnich
2006-06-08  9:44                       ` Victor Nazarov
2006-06-09 21:13                   ` Roman Shaposhnick
2006-06-08  1:28                 ` quanstro
2006-06-09 13:12                   ` Lluís Batlle
2006-06-09 13:21                     ` quanstro
2006-06-09 13:47                       ` Lluís Batlle
2006-06-07 23:04               ` geoff
2006-06-07 23:10                 ` Steve Simon
2006-06-08  0:22                   ` Bakul Shah
2006-06-08  0:27                   ` geoff
2006-06-08  3:31                   ` Ronald G Minnich
2006-06-08 15:04                     ` David Leimbach
2006-06-08 15:20                       ` Ronald G Minnich
2006-06-07 23:15                 ` andrey mirtchovski
2006-06-08  0:17                   ` geoff
2006-06-09 21:15                   ` Roman Shaposhnick
2006-06-09 21:26                     ` andrey mirtchovski
2006-06-09 21:27                       ` andrey mirtchovski
2006-06-09 21:34                       ` Roman Shaposhnick
2006-06-09 21:38                         ` andrey mirtchovski
2006-06-09 21:44                           ` andrey mirtchovski
2006-06-10  6:57                         ` "Nils O. Selåsdal"
2006-06-08  1:58                 ` Latchesar Ionkov
2006-06-08  0:53                   ` geoff
2006-06-08  1:07                     ` Latchesar Ionkov
2006-06-08  1:15                       ` quanstro
2006-06-08 15:02                         ` David Leimbach
2006-06-09  4:04                           ` quanstro
2006-06-08  1:22                       ` geoff
2006-06-08  1:25                         ` Latchesar Ionkov
2006-06-09 21:21                           ` Roman Shaposhnick
2006-06-09 21:27                             ` Roman Shaposhnick
2006-06-08 14:59                         ` David Leimbach
2006-06-09  4:05                           ` quanstro
2006-06-08  1:39                       ` [9fans] quantity vs. quality Lyndon Nerenberg
2006-06-08  3:05                         ` Dan Cross
2006-06-08  3:44                           ` Joel Salomon
2006-06-08  7:03                             ` Roman Shaposhnik
2006-06-09 22:03                           ` Roman Shaposhnick
2006-06-09 22:44                             ` David Leimbach
2006-06-09 22:46                               ` quanstro
2006-06-09 22:51                               ` Latchesar Ionkov
2006-06-09 22:55                                 ` quanstro
2006-06-09 23:19                                   ` Latchesar Ionkov
2006-06-09 23:29                                     ` quanstro
2006-06-10  1:57                                       ` Latchesar Ionkov
2006-06-09 23:51                                         ` quanstro
2006-06-10  0:10                                           ` Roman Shaposhnick
2006-06-10  2:31                                             ` Latchesar Ionkov
2006-06-10  0:45                                               ` Roman Shaposhnick
2006-06-10  3:01                                                 ` Latchesar Ionkov
2006-06-10  0:52                                                   ` quanstro
2006-06-10  1:04                                                   ` Roman Shaposhnick
2006-06-10 23:13                                                 ` Ronald G Minnich
2006-06-11  0:44                                                   ` quanstro
2006-06-11  5:08                                                     ` lucio
2006-06-11 10:09                                                       ` quanstro
2006-06-11 12:00                                                         ` lucio
2006-06-11 22:59                                                           ` quanstro
2006-06-11 23:26                                                           ` geoff
2006-06-12  3:45                                                             ` Paul Lalonde
2006-06-12 20:16                                                               ` Ronald G Minnich
2006-06-12 20:23                                                                 ` Roman Shaposhnick
2006-06-12 20:56                                                                   ` Ronald G Minnich
2006-06-12 21:09                                                                     ` Victor Nazarov
2006-06-13  0:05                                                                     ` Roman Shaposhnik
2006-06-12 21:15                                                                 ` Francisco J Ballesteros
2006-06-13 12:08                                                                   ` rog
2006-06-13 16:34                                                                     ` Skip Tavakkolian
2006-06-13 21:35                                                                       ` "Nils O. Selåsdal"
2006-06-14 22:09                                                                     ` Roman Shaposhnick [this message]
2006-06-15 15:46                                                                       ` Victor Nazarov
2006-06-11  5:42                                                   ` Russ Cox
2006-06-11 10:08                                                     ` quanstro
2006-06-12  1:03                                                   ` Roman Shaposhnik
2006-06-10 23:05                                               ` Ronald G Minnich
2006-06-11  0:00                                                 ` quanstro
2006-06-10  0:24                                           ` andrey mirtchovski
2006-06-10  0:36                                             ` quanstro
2006-06-10  2:27                                           ` Latchesar Ionkov
2006-06-10  0:23                                             ` quanstro
2006-06-10  0:41                                               ` Paul Lalonde
2006-06-10  0:59                                                 ` quanstro
2006-06-10  1:15                                                   ` Paul Lalonde
2006-06-10  5:19                                                     ` Bruce Ellis
2006-06-10  2:51                                               ` Latchesar Ionkov
2006-06-10  0:45                                                 ` quanstro
2006-06-10  3:10                                                   ` Latchesar Ionkov
2006-06-10  0:53                                                     ` quanstro
2006-06-10 23:06                                               ` Ronald G Minnich
2006-06-10 23:15                                                 ` geoff
2006-06-11  2:58                                                 ` jmk
2006-06-10 23:04                                           ` Ronald G Minnich
2006-06-11  0:05                                             ` quanstro
2006-06-10 23:03                                       ` Ronald G Minnich
2006-06-09 23:25                                 ` Ronald G Minnich
2006-06-09 23:38                                   ` David Leimbach
2006-06-09 23:45                                     ` andrey mirtchovski
2006-06-09 23:46                                     ` Paul Lalonde
2006-06-10 23:03                                       ` Ronald G Minnich
2006-06-10 23:02                                     ` Ronald G Minnich
2006-06-11  0:12                                       ` quanstro
2006-06-11  2:20                                         ` Ronald G Minnich
2006-06-11 22:31                                       ` David Leimbach
2006-06-10  0:28                               ` Roman Shaposhnick
2006-06-09 21:29                         ` Roman Shaposhnick
2006-06-09 21:34                           ` andrey mirtchovski
2006-06-08  1:49                   ` [9fans] gcc on plan9 Ignacio Torres Masdeu
2006-06-08 14:10                 ` David Leimbach
2006-06-09  4:09                   ` quanstro
2006-06-09  5:25                     ` David Leimbach
2006-06-07 22:39           ` Corey
2006-06-07 22:49             ` Paul Lalonde
2006-06-07 23:17               ` Corey
2006-06-07 23:37                 ` Paul Lalonde
2006-06-08  0:50                   ` quanstro
2006-06-08  1:16                     ` John Barham
2006-06-08 14:51                     ` David Leimbach
2006-06-09  4:49                       ` ems
2006-06-09 12:07                       ` quanstro
2006-06-09 19:17                       ` Roman Shaposhnick
2006-06-09 21:27                         ` Bakul Shah
2006-06-09 21:33                           ` Francisco J Ballesteros
2006-06-09 21:39                             ` quanstro
2006-06-09 21:56                               ` Francisco J Ballesteros
2006-06-09 22:01                                 ` quanstro
2006-06-09 22:17                                   ` Francisco J Ballesteros
2006-06-09 22:35                                     ` quanstro
2006-06-09 22:22                             ` Bakul Shah
2006-06-09 22:30                               ` quanstro
2006-06-09 23:22                                 ` Bakul Shah
2006-06-10 13:51                                 ` Francisco J Ballesteros
2006-06-10 23:21                                   ` Ronald G Minnich
2006-06-11  0:07                                     ` LiteStar numnums
2006-06-10  0:00                               ` Harri Haataja
2006-06-10  0:03                                 ` Bruce Ellis
2006-06-10  1:00                               ` Roman Shaposhnick
2006-06-10  4:37                                 ` Iruatã Souza (muzgo)
2006-06-12  0:35                                   ` Roman Shaposhnik
2006-06-09 21:43                           ` quanstro
2006-06-10 12:43                           ` rog
2006-06-07 22:56             ` Christoph Lohmann
2006-06-07 23:08               ` Dan Cross
2006-06-07 23:32                 ` Federico G. Benavento
2006-06-07 23:48                   ` Dan Cross
2006-06-08  0:32               ` Corey
2006-06-08  1:04                 ` jmk
2006-06-08  3:35                   ` Ronald G Minnich
2006-06-08  3:51                     ` Ronald G Minnich
2006-06-08  4:07                       ` Roman Shaposhnik
2006-06-08  5:19                         ` Ronald G Minnich
2006-06-08  6:07                           ` Federico G. Benavento
2006-06-08 17:45                           ` Micah Stetson
2006-06-08 18:54                             ` Ronald G Minnich
2006-06-08 18:55                             ` Iruatã Souza (muzgo)
2006-06-08 18:56                               ` andrey mirtchovski
2006-06-08 19:01                                 ` Iruatã Souza (muzgo)
2006-06-09 19:56                           ` Roman Shaposhnick
2006-06-09 22:19                             ` quanstro
2006-06-09 23:19                               ` Ronald G Minnich
2006-06-08  4:11                       ` Paul Lalonde
2006-06-08  5:25                       ` ems
2006-06-08  5:43                         ` Simon Williams
2006-06-08  6:09                           ` Bruce Ellis
2006-07-16 15:17                         ` ASCII Glenda (was Re: [9fans] gcc on plan9) csant
2006-07-16 22:17                           ` e.c.sharpe
2006-07-16 22:37                             ` Jack Johnson
2006-07-17  8:35                               ` Rodolfo (kix)
2006-06-08  1:06                 ` [9fans] gcc on plan9 geoff
2006-06-08  1:21                   ` quanstro
2006-06-08 10:15                   ` Victor Nazarov
2006-06-08  9:40             ` Lluís Batlle
2006-06-08 15:55               ` Corey
2006-06-08 22:48                 ` Fred Wade
2006-06-08 23:08     ` Roman Shaposhnick
2006-06-08 23:51       ` Corey
2006-06-07 20:46 ` Latchesar Ionkov
2006-06-07 19:07   ` Roman Shaposhnick
2006-06-07 19:17     ` Latchesar Ionkov
2006-06-07 19:26       ` Roman Shaposhnick
2006-06-07 19:35         ` Brantley Coile
2006-06-07 20:15           ` Ronald G Minnich
2006-06-07 20:32             ` Roman Shaposhnick
2006-06-07 19:47         ` Latchesar Ionkov
2006-06-07 20:00           ` Corey
2006-06-07 20:13           ` Roman Shaposhnick
2006-06-07 20:40             ` Ronald G Minnich
2006-06-08  6:49               ` Roman Shaposhnik
2006-06-07 21:21       ` Christoph Lohmann
2006-06-07 21:49         ` Ronald G Minnich
2006-06-07 22:50           ` Dan Cross
2006-06-08  7:30 [9fans] quantity vs. quality cej
2006-06-08  9:32 ` Lluís Batlle
2006-06-08 15:29   ` David Leimbach
2006-06-08 15:43     ` jmk
2006-06-09  6:01 cej

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060614220919.GG7331@submarine \
    --to=rvs@sun.com \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).