T.R | Title | User | Personal Name | Date | Lines |
---|
2814.1 | ... | GSRC::WEST | Help stamp out and abolish redundancy ! | Thu May 24 1990 20:10 | 9 |
| Are you doing Toolkit calls and X calls from more than one task? If so
this is a definite no no. The toolkit is most definitly NOT re-entrant
and there is question as to whether Xlib is either.
One recommendation is to not use tasking, but if you must, then only one
task should do the X and toolkit calls.
-=> Jim <=-
|
2814.2 | Xlib is re-entrant (except for one bug) | STAR::VATNE | Peter Vatne, VMS Development | Thu May 24 1990 21:33 | 11 |
| Point of clarification: the Xlib is definitely designed to be re-entrant.
There was a bug with Xlib-DECwindows transport interaction that occasionally
messed things up. The bug is fixed in VMS V5.4. However, the symptoms of
that problem don't match your symptoms.
What is strange is that your application can't find the menu fonts. Are
they definitely displaying to a VMS workstation? Not finding the menu
fonts is symptomatic of displaying to other vendors' workstations.
Any server crashes should be immediately QARed. What would be of most
interest here is the contents of SYS$MANAGER:DECW$SERVER_O_ERROR.LOG.
|
2814.3 | Fully re-rentrant? | LEOVAX::TREGGIARI | | Fri May 25 1990 10:13 | 5 |
| I know VMS Xlib is AST re-entrant, but is it *fully* re-entrant? If not, I'm
not sure that AST re-entrancy will suffice for Ada multi-tasking. Anyone
know for sure?
Leo
|
2814.4 | | QUARK::LIONEL | Free advice is worth every cent | Sat May 26 1990 17:38 | 6 |
| Re: .3
AST reentrancy is not sufficient for Ada multithread execution. I don't
know how reentrant Xlib is.
Steve
|
2814.5 | More info... Application architecture... | PEACHS::BELDIN | | Thu May 31 1990 17:05 | 33 |
|
Some more info on the customer's architecture. The customer's
code has a total of 33 different ADA tasks running, without
timeslice. There are a total of 6 tasks that execute Xlib
and X-toolkit calls, all at the same priority (8). One of these
is an event dispatcher that basically call XtPending and
XtProcessEvent. As I understand it, under this strategy,
none of these should be interrupted by another task at the
same priority, they should all run to completion. There is
a database processing task that runs at a lower priority, 7, and
a communications something-or-other that runs at priority 12.
Neither of these has any calls to Xlib or toolkit. Does this
kind of setup appear to violate any 'multi-tasking rules'? I
know it violates what appears to be a cardinal rule of having
all the X-toolkit stuff in one task...
There is also a problem that they call the 'sudden death
syndrome.' It appears that somewhere they come across some
error that their ADA handler can't handle ( fatal NON-ADA
error?) and then their process appears to go into hibernation.
Looking at the process, it appears that user-mode ASTs
are somehow disabled - which I think is kind of critical to
the way that ADA tasking works. He suspects that the ADA
tasking mechanism is somehow loosing its mind - I don't know
enough about ADA to know... Maybe someone could shed some light
on this as a possibility?
I should be getting a copy of the DECW$SERVER_0_ERROR.LOG file -
these guys are working fast and furious and purge things
before I even get a chance to look at it...
Rick Beldin
|
2814.6 | | PEACHS::BELDIN | | Fri Jun 01 1990 10:16 | 73 |
|
Following is the server error log.
-<DECW$SERVER_0_ERROR.LOG>-
30-MAY-1990 14:58:30.4 Hello, this is the X server
Dixmain address=127b0
Now attach all known txport images
%DECW-I-ATTACHED, transport DECNET attached to its network
in SetFontPath
out SetFontPath
GPX color/monochrome support loaded
gpx$InitOutput address=1397f4
Connection Prefix: len == 42
30-MAY-1990 14:59:41.8 Now I call scheduler/dispatcher
30-MAY-1990 15:03:25.3 Using extra todo packet pool...
30-MAY-1990 15:40:34.7 Connection 98d38 is closed by Txport
30-MAY-1990 15:48:36.8 Connection 1b3600 is closed by Txport
30-MAY-1990 16:14:41.7 Using extra todo packet pool...
30-MAY-1990 17:00:08.9 Connection 1b3600 is closed by Txport
30-MAY-1990 17:32:52.8 Connection 1b3600 is closed by Txport
30-MAY-1990 18:39:26.6 Connection 1b3600 is closed by Txport
31-MAY-1990 08:25:09.4 Connection 1b3600 is closed by Txport
31-MAY-1990 08:28:14.7 Connection 1b3600 is closed by Txport
31-MAY-1990 09:56:28.1 Connection 1b3600 is closed by Txport
31-MAY-1990 10:22:10.2 Connection 1b3600 is closed by Txport
31-MAY-1990 10:25:28.6 Connection 1b3600 is closed by Txport
31-MAY-1990 12:39:48.7 Connection 1b3600 is closed by Txport
31-MAY-1990 14:07:25.7 Connection 1b3600 is closed by Txport
31-MAY-1990 15:15:21.3 %LIB-?-INSVIRMEM, insufficient virtual memory
Request opcode 53 is ignored due to internal runtime error 158217 for client 2(#
error = 1)
Exception Call stack dump follows:
8eec5
fb4d
dff4
dcaa
13a785
140bcf
140c17
202cf
d60a
10f5b
10a91
12a7f
41a
801bfad3
801bfa84
********** marking the end of call stack dump **********
********************************************************
31-MAY-1990 15:15:22.7 %LIB-?-INSVIRMEM, insufficient virtual memory
Client 2 has made too many runtime errors(2), its connection is marked for termi
nation
Exception Call stack dump follows:
8eec5
fb4d
dff4
dcaa
13a785
140bcf
140c17
202cf
d60a
10f5b
10a91
12a7f
41a
801bfad3
801bfa84
********** marking the end of call stack dump **********
********************************************************
31-MAY-1990 15:15:23.0 ..ddx layer returns bad status(17)
31-MAY-1990 15:15:23.3 ..Dispatcher close down connection 2
31-MAY-1990 15:54:08.2 Connection 1b3600 is closed by Txport
|
2814.7 | | PEACHS::BELDIN | | Fri Jun 01 1990 10:45 | 23 |
|
On one of the other errors the customer got - the XIO error
(which as I found out was also part of the pagefile quota
error) was followed with:
X error event received from server: BadImplementation - server reported
implementation error.
Failed request major opcode 53 ( X_CreatePixmap )
Failed request minor opcode 0 (if applicable)
ResourceID 0x2011e6 in failed request (if applicable)
Serial number of failed request ...
XIO: fatal IO error 65535 on X server "MIP::0.0"
after ... request ...
Sounds like he was allocating a lot of pixmaps in the server
and there wasn't enough memory. My suspicion is that he should
try and free them or try and trap this error...
Rick Beldin
|