[haiku-bugs] Re: [Haiku] #9684: Report generation can hang if reading stack memory fails

  • From: "anevilyak" <trac@xxxxxxxxxxxx>
  • Date: Fri, 19 Apr 2013 01:47:52 -0000

#9684: Report generation can hang if reading stack memory fails
-------------------------------------+----------------------------
   Reporter:  anevilyak              |      Owner:  anevilyak
       Type:  bug                    |     Status:  new
   Priority:  normal                 |  Milestone:  R1
  Component:  Applications/Debugger  |    Version:  R1/Development
 Resolution:                         |   Keywords:
 Blocked By:                         |   Blocking:
Has a Patch:  0                      |   Platform:  All
-------------------------------------+----------------------------
Changes (by anevilyak):

 * cc: bonefish (added)


Comment:

 Come to think of it, this would be a more general problem with all the
 UserInterfaceListener requests, as currently all of them only call the
 requesting listener on success/event completion. While this works well
 enough for the GUI, in the case of the report generator this is a bit
 problematic as it has to do things synchronously, and consequently needs
 to know that the job finished, regardless of success or failure. Currently
 this isn't possible since only TeamDebugger finds out about it via the
 JobFailed() hook, at which point there isn't really enough information to
 know whom to potentially notify of the failure.

 I'm not sure about a clean way to handle this though, since the current
 design is almost entirely async. One possibility that comes to mind is
 adding a parameter to all the listener hooks to indicate a result code.
 This could be passed to the corresponding Notify() function and passed
 along to the listeners, which could then check that to determine if their
 request succeeded/failed. Consequently, though, that'd require changes to
 quite a lot of code since all the places that currently implement said
 listener hooks assume that they'd only be called in the success case. Any
 alternative ideas?

--
Ticket URL: <http://dev.haiku-os.org/ticket/9684#comment:1>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: