[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | DECthreads Conference |
|
Moderator: | PTHRED::MARYS TE ON |
|
Created: | Mon May 14 1990 |
Last Modified: | Fri Jun 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 1553 |
Total number of notes: | 9541 |
1499.0. "Name that DECthreads exception" by TUXEDO::ZEE (There you go.) Thu Mar 06 1997 15:19
Customer running Digital UNIX V4.0a and DCE V2.0a. We have a core file
that was generated by a TRY-CATCH_ALL around a routine that
was receiving an uxexpected exception and leaving a mutex locked.
In the CATCH_ALL, we abort()-ed to generate a core file. Looking
at the core file in ladebug, we were hoping to determine what
that unexpected exception is. So, we have two questions:
1. How does one parse the (status exception 0x177db030 [02737330060])
below? Hopefully, the abort() doesn't overwrite the unexpected
exception that we care about.
(ladebug) pthread "t -f 12"
thread 12 (running) "<anonymous>" (0x140118150), created by 1003.4a/D4-exc
Scheduling: throughput policy at priority 11
Masked signals: SIGINT, SIGQUIT, SIGALRM, SIGTERM, SIGURG, SIGCHLD, SIGIO,
SIGXCPU, SIGXFSZ, SIGVTALRM, SIGWINCH, SIGINFO, SIGUSR1, SIGUSR2
Pending signals: none
Object flags: none; self flags: no-async-sigs; sched flags: none; mutex
flags: none; atomic flags: none
Thread specific data: 0=0x1401185a8
Stack: 0x140174888; base is 0x140176000, guard area at 0x140161fff
General cancelability disabled, asynch cancelability disabled
Current vp is 0, synch port is 0, vp ID is 0
Join uses mutex 96 and condition variable 127; wait uses mutex 97 and
condition variable 128
The thread's start function and argument are 0x3ffbfdcbbf8 (0x140051e00)
The thread's latest errno is 0, the last DECthreads exception caught was
"exception formatting NYI" (status exception 0x177db030 [02737330060])
(ladebug)
2. Can one determine the PC at the time the exception occurred?
--Roger
T.R | Title | User | Personal Name | Date | Lines |
---|
1499.1 | Elementary, my dear Watson... ;-) | WTFN::SCALES | Despair is appropriate and inevitable. | Thu Mar 06 1997 19:04 | 27 |
| .0> How does one parse the (status exception 0x177db030 [02737330060]) below?
By reading pthread_exception.h... :-)
The value 0x177db### indicates that it's a DECthreads exception. The status
code is 0x030. So, look in pthread_exception.h for an invocation of the
_PTHREAD_STATUS_() macro with the first argument of 0x030.
Unfortunately, the arguments are in decimal, not hex, but I think this one
matches:
#define pthread_cancel_s _PTHREAD_STATUS_(48, 4)
So, it looks like you're the victim of a pthread_cancel()... ;-)
.0> Hopefully, the abort() doesn't overwrite the unexpected exception that we
.0> care about.
Nope, as far as I know, abort() doesn't affect this.
.0> Can one determine the PC at the time the exception occurred?
Nope...only the place where it was last re-raised. (And, I'm not even sure that
you can find that... :-/ )
Webb
|
1499.2 | thanks, Webb | TUXEDO::ZEE | There you go. | Fri Mar 07 1997 15:04 | 4 |
| Gee, what happened to the good old days when you could just search
for the specific value in all headers ?^)
--Roger
|
1499.3 | Those days are gone... :-) | WTFN::SCALES | Despair is appropriate and inevitable. | Mon Mar 10 1997 10:10 | 12 |
| .2> Gee, what happened to the good old days when you could just search
.2> for the specific value in all headers ?^)
Those were the days when VMS was the only interesting platform. Now (by some
definition of that word) we have the Apollo Domain plaftorm and the portable
OSF DCE model in addition to VMS, and, while they all have (elements of) the
system/facility/id/severity encoding model, they each have different
encodings... So, portable software is better off using macros than putting
specific values in the headers... :-/
Webb
|
1499.4 | Looks like a thread was cancelled | BHAJEE::AIGNER | | Wed Mar 26 1997 07:42 | 9 |
| .0
To get the error text to a certain error status raised by some DCE/DECthreads
stuff, try the DCE control program:
dcecp> errtext 0x177db030
Thread has been canceled
Helmut
|