home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.vms
- Path: sparky!uunet!charon.amdahl.com!pacbell.com!sgiblab!darwin.sura.net!haven.umd.edu!decuac!pa.dec.com!e2big.mko.dec.com!nntpd.lkg.dec.com!virrus.zko.dec.com!diewald
- From: diewald@virrus.zko.dec.com (Jeff Diewald)
- Subject: Re: sys$hiber/sys$wake problems? - SUMMARY
- Message-ID: <1992Nov18.144244.13282@nntpd.lkg.dec.com>
- Lines: 46
- Sender: usenet@nntpd.lkg.dec.com (USENET News System)
- Reply-To: diewald@virrus.zko.dec.com (Jeff Diewald)
- Organization: Digital Equipment Corporation
- References: <BxIAFn.2p6@unx.sas.com> <1992Nov10.180054.23127@fripp.ri.cadre.com> <BxIrqM.2pF@unx.sas.com> <1992Nov11.003646.249@rlgsc.com> <Bxnt96.8oJ@unx.sas.com>
- Date: Wed, 18 Nov 1992 14:42:44 GMT
-
-
- In article <Bxnt96.8oJ@unx.sas.com>, sasjzs@falcon.unx.sas.com (Joseph Slater) writes:
- |>I determined the spurious $wake was not coming from the PPL
- |>rtl by patching the rtl so that any calls to $wake from
- |>within the rtl went to a stub routine in my main image. The
- |>stub routine then called Lib$signal with SS$_DEBUG where the
- |>call frame was traced and it afterwards called the real
- |>sys$wake. No calls were made from pplrtl (isn't patch wonderful?).
- |>I then looked at the other shareable images loaded and
- |>determined that the most likely culprit was.... (drum roll)
- |>THE DEBUGGER.
- |>
- |>And sure enough, the problem doesn't occur when the debugger
- |>isn't active.
- |>
- |>As many of you suggested, we will eventually add code to check
- |>the state on exit from $hiber and to re-hiber if we get awakened
- |>prematurely.
- |>
- |>Today's rhetorical question: How do you debug a problem caused
- |>by the debugger?
-
- This is a known, documented problem in the Debugger, described in the
- Debugger release notes. Debug uses $hiber/$wake to synchronize the Debugger
- main process (all the UI + symbolization code + other things) and the process
- being debugged.
-
- Now - there is an option. Define DBG$PROCESS as "NONE". This forces the
- Debugger main to live in the same process as the program being debugged.
- It also eliminates the use of $HIBER/$WAKE in the Debugger.
-
- This has its drawbacks though. There are features that are not supported
- under the one process Debugger - such as the new and vastly improved Motif
- UI.
-
- Using a different synchronization mechanism in the Debugger to avoid this
- problem is on our list of things to do, although I don't know when we'll get
- to it.
-
- Finally - to "answer" your rhetorical question - we use the Debugger to debug
- itself. ;-)
-
- -------------------------------------------------------------------------------
- Jeff Diewald EASYNET: VIRRUS::DIEWALD
- Debug group INTERNET: diewald@virrus.zko.dec.com
- Digital Equipment Corp.
-