[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference iosg::all-in-1_v30

Title:*OLD* ALL-IN-1 (tm) Support Conference
Notice:Closed - See Note 4331.l to move to IOSG::ALL-IN-1
Moderator:IOSG::PYE
Created:Thu Jan 30 1992
Last Modified:Tue Jan 23 1996
Last Successful Update:Fri Jun 06 1997
Number of topics:4343
Total number of notes:18308

1821.0. "Phantom form in DEVELOP.FLB" by BRUMMY::MARTIN::BELL (Martin Bell, TCC, Birmingham UK) Fri Nov 20 1992 12:29

Maybe i am going mad, or maybe i just need a drink!

Can someone please offer any suggestion as to why the following is occurring?

We have been doing some general programming using CM. Over time various
versions of a form have been created and edited - let us pretend that
this form is called XYZZY.

Now when i select form XYZZY within CM, and Read it, i see one version of
it, but when i type XYZZY from a menu (it is an ENTRY form) i see an older
version of it.

Now this may have been caused by the form being in several form libraries,
and i was just picking up an old version from somewhere else, but this is
not so. I searched the entire disk for a string contained only in the OLD
version of XYZZY, and it ONLY existed in OA$SITE_DEV_BRITISH:DEVELOP.FLB.

So i did an FMS extract (from DCL) of XYZZY from DEVELOP, and got the NEW
version!!

Thus it appears that FMS sees one version of a form, but ALL-IN-1 flow
control sees another, from the same forms library!


Why, how, what, help???????

mb
T.RTitleUserPersonal
Name
DateLines
1821.1Martin's been at the bottle againSIOG::T_REDMONDThoughts of an Idle MindFri Nov 20 1992 13:519
    There's got to be a logical and physical explaination for this. Are you
    quite sure that the old version of the form doesn't appear in a form
    library (perhaps on another disk) in your form library search list? 
    What libraries are opened and when?  What version of ALL-IN-1?  If
    V3.0, what does
    
    <GET OA$FORM_SEARCH_ORDER show?
    
    Tony
1821.2Did you exit ALL-IN-1 and reenter? Was it cached?IOSG::TALLETTGimmee an Alpha colour notebook...Fri Nov 20 1992 14:271
    
1821.3Forget the bottle, just get the firkin!BRUMMY::MARTIN::BELLMartin Bell, TCC, Birmingham UKFri Nov 20 1992 14:2838
Tony,

	the symbol OA$FORM_SEARCH_ORDER translates to 

	OA$SITE_LIB_LLV:SITEMEMRES,
	OA$LIB_LLV:MEMRES,
	OA$SITE_DEV_BRITISH:DEVELOP.FLB,
	OA$SITE_DEV_SHARE:DEVELOP.FLB,
	OA$SITE_LIB_LLV:SITECM,
	OA$LIB_LLV:CM,
	OA$SITE_LIB_LLV:SITEOAFORM,
	OA$LIB_LLV:OAFORM,
	USER,
	OA$LIB_LLV:MANAGER,
	OAX$PM:PM

	... where ALL the logical nams point to the same physical disk,
	and only DEVELOP contains anything remotely resembling the old
	version of form XYZZY, and this is at the physical file level
	and not FMS.

	The ONLY way that i can "find" the old version of XYZZY is by
	calling the form from a menu in ALL-IN-1.

	One thing that may be nothing to do with the problem, is that if
	you do a OA$FBT_LIST_LIB function then the DEVELOP forms library
	is open in both BRITISH and SHARE but it is the same forms library
	with the same forms in it (but on disk the SHARE DEVELOP is empty),
	and the FLC is also "open" even though there isn't one!

	When i call the form from an ALL-IN-1 menu and press CONTROL-N,
	it says the form is in DISK$ALLIN1:[ALLIN1.SITE.DEV_BRITISH]DEVELOP
	even though FMS can't see it there.


	eeeeek!

	mb
1821.4... or even a barrel!BRUMMY::MARTIN::BELLMartin Bell, TCC, Birmingham UKFri Nov 20 1992 14:3713
Re: .2

	yup, i did leave ALL-IN-1, and the same problem is occurring
across more than one ALL-IN-1 account, and i have (from DCL) purged
all old versions of DEVELOP.

As a sanity check, this is:
ALL-IN-1 IOS Server for VMS V3.0 PBL123A BRITISH 21-MAR-1992


Double eeeek,

mb
1821.5SIOG::T_REDMONDThoughts of an Idle MindSat Nov 21 1992 21:134
    Can another user, who only opens the standard ALL-IN-1 forms and the
    DEVELOP.FLB, see the phantom form?
    
    Tony
1821.6Improbability theory?BRUMMY::MARTIN::BELLMartin Bell, TCC, Birmingham UKWed Nov 25 1992 09:4037
Tony,

i just ran ALL-IN-1 from an account with DEVELOP in FRMLIB, but without
activating CM. The "old" version of XYZZY appeared.

Doing a OA$FBT_LIST_LIB from this account gives:

DISK$ALLIN1:[ALLIN1.SITE.LIB_BRITISH]SITEMEMRES.FLB;
 -- Open=1, .FLB open=1, .FLC open=1,Forms=0, Ref count=0, Channel=82
DISK$ALLIN1:[ALLIN1.LIB_BRITISH]MEMRES.FLB;
 -- Open=1, .FLB open=1, .FLC open=1,Forms=31, Ref count=1, Channel=83
DISK$ALLIN1:[ALLIN1.SITE.DEV_BRITISH]DEVELOP.FLB;
 -- Open=1, .FLB open=1, .FLC open=1,Forms=72, Ref count=1, Channel=84
DISK$ALLIN1:[ALLIN1.SITE.LIB_BRITISH]SITEOAFORM.FLB;
 -- Open=1, .FLB open=1, .FLC open=1,Forms=103, Ref count=3, Channel=85
DISK$ALLIN1:[ALLIN1.LIB_BRITISH]OAFORM.FLB;
 -- Open=1, .FLB open=1, .FLC open=1,Forms=663, Ref count=0, Channel=86
OAX$PM_ROOT:[LIB_ENGLISH]PM.FLB;
 -- Open=1, .FLB open=1, .FLC open=0,Forms=12, Ref count=0, Channel=87
 
which shows the correct DEVELOP open, but from DCL and FMS, extracting
the XYZZY form shows the "new" version.

I have just noticed that from FMS, there are 68 forms in the library,
but the FBT listing says 72!!!!

I do not understand why the .FLC open=1 appears, because there is no
associated .FLC file, but i do not know whether this is part of the
same problem.

There is something very wierd going on!!

mb

p.s.

Sorry about the delay in replying, i have been away for the last few days.
1821.7More information ...BRUMMY::MARTIN::BELLMartin Bell, TCC, Birmingham UKWed Nov 25 1992 10:2223
I have just done a

FMS/LIB/CREATE DEVELOP.FLB DEVELOP.FLB

to build a new forms library from the forms in the existing library,
and now the "old" XYZZY form has disappeared, and when called from
a menu, the new (expected) version is displayed.

This, however, is not the solution to the problem, as we did a similar
thing earlier to clear the same problem, but it came back again.

What "appears" to be happening is that ALL-IN-1 is somehow finding the
old version of the form that still exists in the library file, but is
no longer part of the FMS index. This old version sits in the un-reclaimed
part of the FLB, and by doing an FMS/LIB/CREATE, the forms that FMS
finds are transferred to the new library, leaving the obsolete "gaps"
back in the old library.

Maybe this is why ALL-IN-1 finds 72 forms in a library that FMS only
finds 68 - it somehow "sees" the deleted or replaced forms.

mb

1821.8Check there _really_ is no FLCIOSG::SHOVEDave Shove -- REO-D/3CWed Nov 25 1992 11:1417
    Are you sure there isn't an associated FLC anywhere (in some search
    list; installed as a global section - use $INSTALL LIST/GLOB to
    check)??
    
    Because it looks very much as though ALL-IN-1 is using an old FLC and a
    new FLB - amongst other things, the FLC contains a directory (in
    ALL-IN-1's own optimised form) to the FLB. When a form is "deleted"
    from an FLB, all FMS actually does is to zap the first word (longword?
    who cares?) of its own directory entry - the form itself is still
    there, which is why FLBs grow and grow. The directory entry in
    ALL-IN-1's FLC will of course still be there (until you re-compile the
    FLC) and will point to the old form in the FLB, which is still there
    and still valid.
    
    This would also explain the count discrepancy.
    
    Dave.
1821.9Obvious really innit?BRUMMY::MARTIN::BELLMartin Bell, TCC, Birmingham UKWed Nov 25 1992 12:2217
Dave,

Thanks, i think that you may well have found the problem!

There is indeed a OA$DEVELOP_BRITISH section installed in memory,
although there is no reference to the file on disk anywhere (at least
being pointed to by a directory). Someone was obviously messing around
and left the FLC installed but deleted the file.

I will do an FBT_REMOVE on DEVELOP, check that it has indeed gone from
memory, re-run ALL-IN-1 and check the open LIBs again.

I am feeling a bit more in control again ;-)

Cheers,

mb
1821.10Bingo!BRUMMY::MARTIN::BELLMartin Bell, TCC, Birmingham UKWed Nov 25 1992 12:3521
Yup,

that was it!

I removed the global section for DEVELOP, got everyone out of ALL-IN-1
to clear the delete pending, then went back into ALL-IN-1.

The OA$FBT_LIST_LIB command came up with the correct number of forms
in the library, and no FLC open.

Thats clever stuff, storing an optimised index in the FLC, but it is a
shame that the code to detect "obsolete versions" fails to notice when
the FLC file does not actually exist on disk, but is still referenced
in memory.

Thanks for spotting that one Dave, thats another extra pint that i will
have to buy next time i am down in Reading,

cheers,

Martin