Info-Vax-REQUEST@KL.SRI.COM.UUCP (05/12/87)
Info-Vax Digest Monday, 11 May 1987 Volume 0 : Issue 18
Today's Topics:
Re: How do you ring bell in DCL file?
MORIA
Re: MORIA
Re: How do you ring bell in DCL file?
Fatal Bug in VAX C pointer indirection
setup
Submission for mod-computers-vax
Re: Ban: "Submission for mod-computers-vax" etc.
"automatic" insertion of DISCLAIMER in EDT...
Q/A: Word processing move from 785 to MicroVAX
----------------------------------------------------------------------
Date: 10 May 87 18:48:05 GMT
From: ihnp4!inuxc!iuvax!bsu-cs!dhesi@ucbvax.Berkeley.EDU (Rahul
Dhesi)
Subject: Re: How do you ring bell in DCL file?
In article <312@skatter.UUCP> kuo@skatter.UUCP (Dr. Peter Kuo) writes:
>In article <154@siemens.UUCP>, jrv@siemens.UUCP writes:
>> ...Is there a way to specify [a control G] within a string
>> used with a 'write sys$output' statement?
>Have you tried putting in the ^G using EDT...?
That's the easy part. The DIFFICULT part is convincing VAX/VMS not to
send a trailing carriage return/linefeed when doing a 'write
sys$output". This is the kind of operating system bug that is not
fatal, yet one that can grate on one's nerves.
--
Rahul Dhesi
ARPA: bsu-cs!dhesi@iuvax.cs.indiana.edu
UUCP: {ihnp4,seismo}!{iuvax,pur-ee}!bsu-cs!dhesi
------------------------------
Date: 10 May 87 01:49:00 GMT
From: hao!gatech!hubcap!ncrcae!ncr-sd!hp-sdd!ucsdhub!jack!man!wolf!bil
lw@ames.arpa (Bill Wisner)
Subject: MORIA
What is the -latest- version of MORIA? The one on ghostwheel.cmu.edu?
--
Bill Wisner
..{sdcsvax,ihnp4}!jack!wolf!billw
------------------------------
Date: 10 May 87 23:37:12 GMT
From: aramis!mende@RUTGERS.EDU (Bob Mende)
Subject: Re: MORIA
Hi Bill,
The most current version on Moria is 4.9. But you will not find it
outside of U of Oklahoma. For the rest of us there is version 4.8. I
have just received it and if you want to FTP the .exe it can be gotten
from aim.rutgers.edu [dua0:[usr.mende.new_moria]moria.exe].
Ver. 4.9 is suppose to be just some bug fixes from 4.8, but it there
is also a VAX C version. It is the VAX Pascal version that has been
run thru a Pascal->C converter and some frobs here and there.
Ver. 5.0 is still in dream land. I dont know if we will ever see it
or what... but from the propaganda it looks good.
Bob
--
Bob Mende mende@rutgers.edu {...}!rutgers!mende
------------------------------
Date: 10 May 87 23:55:07 GMT
From: ihnp4!inuxc!iuvax!bsu-cs!corwin@ucbvax.Berkeley.EDU (Paul
Frommeyer)
Subject: Re: How do you ring bell in DCL file?
You must use either the SPECINS key in VAX EDT or the QUOTE function in
VAX TPU to enter the control characters. Just put them between double
quotes in a WRITE SYS$OUTPUT DCL command as you would normal text. I use
terminal control sequences extensively in my LOGIN.COM; clearing the
screen, setting VT240 colors, etc. However, you cannot do this:
$ CLEAR :== WRITE SYS$OUTPUT "<ESC>[H<ESC>[J"
and then say
$ CLEAR
because you will get an error message (either UNDEFSYM or IVVERB).
You must instead:
$ CSYM :== "<ESC>[H<ESC>[J"
$ CLEAR :== WRITE SYS$OUTPUT CSYM
which will do the job. This is also more efficient than something like:
$ CLEAR :== @CLEARSCREEN
--
Paul "Corwin" Frommeyer "Experience is no substitute for competence."
UUCP:
{seismo,ihnp4}!{iuvax,pur-ee}!bsu-cs!corwin
------------------------------
Date: 11 May 87 00:22:01 GMT
From: ihnp4!inuxc!iuvax!bsu-cs!corwin@ucbvax.Berkeley.EDU (Paul
Frommeyer)
Subject: Fatal Bug in VAX C pointer indirection
(Sorry, had to move this from comp.lang.c++ to comp.lang.c and repost...)
Several other students and us were working on a software engineering project
involving the display of 39 or more colors on a VT240. We were writing in
VAX C under VMS 4.5. Our program used several lists to keep track of all
the data it needed for window size, current display, etc. Our lists were
interconnected, and in setting up list elements for new windows we
used extensive pointer indirection in calls to malloc().
What we found was, to say the least, interesting. Third-level pointer
indirection, such as list1->link2->link3->data worked fine in a call
such as list1->link2->link3 = (struct lista *) malloc (sizeof(struct lista));
Analysis in VAX DEBUG would reveal that link3 had a value, say, of 55080.
Now, if we attempted another call to malloc like
pointer1->link2->link3 = (struct lista *) malloc... etc.
there was no problem. This would give link3 a value of, say, 55200 if
struct lista was 120 bytes long. But at one point we needed to
pointer1->ptr2->ptr3->ptr4->ptr5->ptr6 = (struct lista *)... etc.
When we tried this, all hell broke loose! Malloc calls the system service
for allocating more virtual memory, in addition to performing some VAX C
housekeeping chores. Now, we would expect ptr6 to have a value of
55200, assuming malloc was giving contiguous memory, which it seems to do.
What we never expected was to get a value BETWEEN 55080 and 55200.
But that's exactly what happened! When malloc was called with more than
3 levels of pointer indirection, why, it just crashed! It would give a value
usually about 4 bytes more than the last byte for the structure pointed to by
link3, say about 55084. Malloc was overlapping virtual memory!! It took one
of our team members a day to figure out what was going wrong! Nowhere in any of
the VAX C manuals that we read does it caution against this! Noncontiguous
allocation might be expected, but overlapping addresses was definitely dirty
pool on the part of the computer. After much discussion
we concluded that the fault lay in the compiler; it was not
generating correct VAX-11 native code to do multiple indirection. We don't
know what it IS doing, really, but we can see that it doesn't work properly.
It doesn't seem that the fault could be at the system service level, but it
is impossible to tell because we cannot see the generated object code (our
installation does not posess a disassembler).
Digital might say this is a feature to keep programmers from using excessive
indirection, but what pray tell is wrong with excessive indirection,
especially when it allows manipulation of many interconnected lists?
Is there anyone out there who has encountered a similiar problem? Does
Unix C do this, too? We thought it might be the VAX hardware, but further
thought seemed to point to the compiler. There are already
more bugs than a bait store in the VAX C I/O library
routines for fseek() and lseek(), but those are at least documented in the
VAX C manual. A limitation on indirection should be, too.
Would anyone at Digital care to comment on this? Are there any fixes?
We're both graduating and job hunting, so getting hold of us may be tricky.
Anyway, beware deep pointer indirection in VAX C. It's a killer.
Paul Frommeyer ({ihnp4,seismo}!{pur-ee,iuvax}!corwin)
Russ Walker ({ihnp4,seismo}!{pur-ee,iuvax}!mnp)
Computer Science Dept.
Ball State University
Muncie, IN 47306
------------------------------
Date: Sun, 10 May 87 09:29 O
From: <BEN%TECHMAX.BITNET@wiscvm.wisc.edu> (Benjamin Pashkoff)
Subject: setup
Is it possible for those that mentioned a SETUP routine to send me copies?
I am currently writing something similar, and would like to see a couple of
models.
Thanks,
-------------------------------------------------------------------
|Ben Pashkoff xx xxxxxxxx |
|System Engineer xx xxxxxx |
|Biomedical Engineering xx xx |
|Technion, IIT xx xx |
|Haifa, Israel 32000 xxxx |
|BEN@TECHMAX.BITNET xx |
------------------------------
Date: 11 May 87 12:35:19 GMT
From: Gary Upchurch <ecsvax!ncatgu@mcnc.org>
Subject: Submission for mod-computers-vax
Path: ecsvax!ncatgu
From: ncatgu@ecsvax.UUCP (Gary Upchurch)
Newsgroups: comp.sys.dec,comp.org.decus,mod.computers.vax
Subject: news software for VMS
Message-ID: <3126@ecsvax.UUCP>
Date: 11 May 87 12:35:18 GMT
Distribution: usa
Organization: NC A&T State Univ. Comp. Ctr.
Lines: 10
Keywords: VMS software news
Would like to know where I could get NEWS software to run on my vax 11/780.
Unfortunately, we do not have a C compiler so I may be out of luck.
Thanks much.
--
Gary Upchurch
Systems Programmer
{decvax,akgua}!mcnc!ecsvax!ncatgu
------------------------------
Date: 7 May 87 02:40:30 GMT
From: munnari!vuwcomp!newbery@seismo.css.gov (Michael Newbery)
Subject: Re: Ban: "Submission for mod-computers-vax" etc.
Hear hear! (Read read? :-)
Of the 87 articles I get to read in comp.os.vms today, not only are about
20 "Submission for mod-computers-vax" but I have seen most of the latter before!
With a real subject line!
I could do nicely without "Subject: (none)" too.
--
Michael Newbery
ACSnet: newbery@vuwcomp.nz UUCP: {ubc-vision,alberta}!calgary!vuwcomp!newbery
Une boule qui roule tue les poules. (Landslides kill chickens)
------------------------------
Date: 11 May 87 10:27:00 GMT+536:14
From: "Daniel Gregory" <gregory@brl-lvax.ARPA>
Reply-to: "Daniel Gregory" <gregory@brl-lvax.ARPA>
Subject: "automatic" insertion of DISCLAIMER in EDT...
>I wonder if you can tell me how to define a key that will include a
>predefined file into the current buffer and immedisately logout. The
>motivation for this question is when sending messages to some mail list
>( such as INFO-VAX) one often needs to include a paragraph of his/her own
>address(s) and disclaimer and soon.
First define edtini.edt in your login.com
$ define edtini sys$login:edtini.edt
Then create your disclaimer file (I used DISCLAIMER.TXT).
Now create edtini.edt and include this line
DEFINE KEY GOLD D AS "EXT INCLUDE DISCLAIMER.TXT =MAIN END; EXIT."
Anytime you are editing a file in or out of mail and press GOLD D the
disclaimer will be appended to the bottom of the message and you will
be exited from the editor. If you do not wish to exit from the editor
just yet, remove '; EXIT' from the line but leave in the period at the end.
See the EDT reference for the INCLUDE and EXT commands.
Pages EDT-141 and EDT-271 in my manual.
> An related question, what does it take to associate speller inside
>EDT ? Do you know if anyone has done so ? I'd appreciate if you can offer
>me some advices or references.
>--------------------------------------------------------------------------
> From Kang Sun SUN@YALEVAX5.BITNET @ 8-MAY-1987 16:59:11.89 EST
>==========================================================================
I don't know. I don't use a speller. Can anyone else answer this?
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
<> Dan Gregory GREGORY@BRL-LVAX.ARPA <>
<> BRL-LFD, B120 <>
<> Aberdeen Proving Grounds, MD. 21005 <>
<> (301) 278-3485 <>
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
------------------------------
Date: Mon, 11 May 87 07:41:36 PDT
From: nagy%warner.hepnet@lbl.arpa
Subject: Q/A: Word processing move from 785 to MicroVAX
In answer to questions relative to moving word processing from a
VAX-11/785 to a MicroVAX from:
> Les Flodrowski
> Assistant Director (Systems and Applications)
> Social Science Computing Laboratory
> University of Western Ontario
> Questions: - Will the MicroVAX handle 16 wordprocessing users, DECnet and
> the six printers? (Some RUNOFF and TEK processing may
> also be performed but we could restrict this to BATCH
> usage only and put a JOB_LIMIT on the queue).
My guess is YES. We are doing software development on a LAVC of
two MicroVAXes. The systems each have full 16 MB of memory, the
boot machine has a KDA50 with 2 RA81s and the 2nd system has an
RQDX3 with RD53 (just used for paging/swapping). Our maximum load
seen on one system has been 12-14 interactive users with an additional
4-6 subprocesses in use. All doing software development edit/compile
cycles. At this level usage begins to be noticeable; our normal
local is about 6-8 users per machine which gives excellant response.
> - What's the I/O rate of a Unibus versus the Q32 bus?
The Q22 bus actually has a greater I/O bandwidth than the Unibus
attached to the VAX-11/780. This is because the Unibus Adapter on
the 780 is a bottleneck due (primarily) to the necessary memory
mapping (similar situation applies to all the other VAXes with
Unibuses and to PDP-11s like the 44 and 70; the 84 makes special
provision with a DMA cache to provide more Unibus bandwidth).
> - Would the RD53/RQDX3 be useful after we install the much
> bigger and faster third party disk (i.e. for paging,
> swapping, system disk, etc.) or should we move everything
> to the larger disk?
Pretty much move everything, unless you have some items which are
only used once in a while and don't want to take up space on your
big, fast disk with them.
> - What bottlenecks or other problems should I watch out
> for?
All VAXes: avoid terminal controllers like the DZ11 which DO NOT
have DMA for character output. This is especially true for word
processing. However, in this case, the DHV11s are a good choice.
TK50s are rather (understatement) slow and you might eventually
get tired of doing your backups to them (especially as your big
disk gets full). It is nice that an RD53 will fit completely
on one (we backup some of our MicroVAXes and VAXStations by an
early morning job which runs automatically; then someone comes
around in the morning and puts a new tape in for the next night).
Solutions to this are the TU81-Plus (streaming 6250-bpi GCR tape
with builtin cache) or the "coming" TK70 with greater capacity
and performance than the TK50.
=Frank Nagy
=Fermilab Research Division EED/Controls
=FNAL::NAGY.HEPNET or NAGY@FNAL.Bitnet
------------------------------
End of Info-Vax Digest
**********************