RE: (forte-users) memory management
Brenda,
When a partition starts, it reserves the MinimumAllocation. Within this
memory space, objects are created and more and more of this memory is
actually used. When objects are no longer referenced, they remain in memory
and the space they occupy remains unusable.
When the amount of free memory drops below a certain point, the garbage
collector kicks in, which will free the space occopied by all objects that
are no longer referenced.
If garbage collecting can't free enough memory to hold the additional data
loaded into memory, then the partition will request another block of memory,
equal to the IncrementAllocation size. The partition will try to stay within
this new boundary by garbage collecting everytime the available part of this
memory drops below a certain point. If the partition can't free enough
memory, it will again request another block of memory.
This process repeats itself until the partition reaches MaximumAllocation.
If that amount of memory still isn't enough, then the partition crashes.
Instrument ActivePages shows the memory reserved by the partition.
AllocatedPages shows the part of that memory actually used.
AvailablePages shows the part ot that memory which is free.
Note that once memory is requested from the operating system, it's never
released again. Within this memory owned by the partition, the part actually
used will always be smaller. But this part will increase steadily, until the
garbage collecter is started and a part of it is freed again.
There are some settings that determine when the garbage collector is
started, but I'm not sure which ones they are.
The garbage collector can be started from TOOL using
"task.Part.OperatingSystem.RecoverMemory()", but I'm not sure if that will
always actually start the garbage collector.
If you track AllocatedPages of a partition, it's always growing, even if the
partition isn't doing anything. I don't know why.
If you add AllocatedPages and AvailablePages, you shoud get the value of
ActivePages, but you won't. You always get a lower number and sometimes even
considerably lower. I don't know why.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Brenda Cumming [mailto:brenda_cummingtranscanada.com]
Sent: Tuesday, January 23, 2001 6:40 PM
To: Forte User group
Subject: (forte-users) memory management
I have been reading up on memory management and the
OperatingSystemAgent, and could use some clarification...
When a partition is brought online, is the ActivePages value set to the
MinimumAllocation value, and expanded as required?
And what is the difference between the ExpandAtPercent and
ContractAtPercent functions?
Thanks in advance,
Brenda
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
The Forte runtime is millions of lines of compiled C++ code, packaged into
shared libraries (DLL's) which are a number of megabytes in size. The
space is taken by the application binary, plus the loaded DLL's, plus
whatever the current size of garbage collected memory is.
Forte allocates a garbage-collected heap that must be bigger than the size
of the allocated objects. So if you start with an 8MB heap, you will always
have at least 8MB allocated, no matter what objects you actually
instantiate. See "Memory Issues" in the Forte System Management Guide.
-tdc
Tom Childers
iPlanet Integration Server Engineering
At 10:37 PM 6/11/01 +0200, [email protected] wrote:
Hi all,
I was wondering if anyone had any experience in deploying clients on NT
concerning
the memory use of these client apps.
What is the influence of the various compiler options (optimum
performance, memory use etc)?
We seem to see a lot of the memory is taken by the Forte client apps (seen
in the Task Manager
of NT) in respect to the other native Window apps. For example an
executable of approx 4Mb takes up to
15Mb of memory. When I look at the objects retained in memory after
garbage collection, these are about
2Mb. Where do the other Mb's come from?
Similar Messages
-
Re: (forte-users) Session management for page builder(fwd)
Jaco,
Hope this helps,
John
John Soper, Information Systems Development, ITS, The University of Melbourne
email: j.soperits.unimelb.edu.au >>>> Tel: 9344 5612---------- Forwarded message ----------
Date: Mon, 10 Jan 2000 16:34:31 +1100
From: Lyle Winton <L.Wintonits.unimelb.edu.au>
To: John Soper <j.soperits.unimelb.edu.au>
Subject: Re: (forte-users) Session management for page builder (fwd)
Why not construct an intermediate page after the
login page that has SESSION_UNSPECIFIED and
a refresh META tag. The page can then refresh
to either the login failed or login succeeded pages
depending on how the login went! Looks like...
1) Login page (SESSION_UNSPECIFIED)
2A) Refresh page (SESSION_UNSPECIFIED)
< HTML >
< HEAD >
< META http-equiv="refresh"
content="0;URL=<a href=
"http://www.blah.com/forte.cgi?PageName=3">http://www.blah.com/forte.cgi?PageName=3</a>" >
< /HEAD >
< BODY >
Login succeeded. Please wait...
< /BODY >
< /HTML >
2B) Refresh page (SESSION_UNSPECIFIED)
< HTML >
< BODY >
Login failed.
< /BODY >
< /HTML >
3) We're finally in. (SESSION_REQUIRED)
I'm not sure if this works on internet exploder.
Lyle.
John Soper wrote:
Lyle,
(Post from forte mailing group)
Does this make sense to you?
John
John Soper, Information Systems Development, ITS, The University of Melbourne
email: j.soperits.unimelb.edu.au >>>> Tel: 9344 5612---------- Forwarded message ----------
Date: Thu, 30 Dec 1999 07:54:24 +0200
From: "Jaco Erasmus (home)" <jacoerasmweb.co.za>
To: kamranaminyahoo.com
Subject: (forte-users) Session management for page builder
Hi everybody,
We have a lot of legacy code making use of the page builder service to
produce web pages. These pages were originally written without session
management. I'm now busy adding session management to them, but there is
one problem with this approach and I will appreciate if someone can shed
some light on it. Here it is:
Page one is submitted.
Some validation (authentication) takes place and depending on the outcome,
either page 2A (SESSION_REQUIRED) or 2B (error page with
SESSION_UNSPECIFIED) must be displayed. In order to implement this, I
needed a place to make a decision. The way I've done it, is to pass a
'virtual page' (SESSION_UNSPECIFIED) to the page builder service. The
validation is done here and request.PageName is then replaced with the
PageName of pages 2A or 2B. The HandleRequest() method is then called
again. The problem is that the ValidateSession() method does not get
invoked again, thus allowing 2A through without a session. How do I make
sure that the ValidateSession() method get invoked again?
The approach making use of templates look to me as if it has all the means
to do this (redirect tag), but I don't want to rewrite everything if I
don't have to. Is there a way that a pagebuilder page can be specified by
the redirect tag? This will definitely help, but so far I've only managed
to call templates from the redirect tag.
Is the template approach better suited for session management? It is
definetely better documented...
Regards.
Jaco
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.sageit.comHi,
i hope this helps
http://help.sap.com/saphelp_nw70/helpdata/EN/7e/aa610cc1dd8f4388b1df02fc362f0f/frameset.htm
http://help.sap.com/saphelp_nw70/helpdata/EN/69/c250754ba111d189750000e8322d00/frameset.htm
regards,
Anil. -
Re: (forte-users) Fusion for the VAR
Hi,
It is a good idea. In fact, I think that how Forte is
going to integrate her own suite of app. too. ( I
kind of recall that there is a speech on this topic in
Forum ).
However, as Forte will most likely goes toward Java, I
would suggest that you take into account the
abstraction on Conductor ( which is frankly an event
broker ) and Fusion ( which handles the XML mapping )
too. In doing so, you can save guard your investment
on the design without binding tightly with FORTE and I
bet there will be tons of event broker or XML parser
in the future market.
On the other hand, this integration by Fusion would be
perfect for a perfect world. But, in this imperfect
world, it would be hard to do cross-checking between
apps in Fusion.
In the old days, we repulicate data or do file
transfer to integrate apps. In doing so, we also
build-in all the cross-checking procedure / reports.
In the case of Fusion, is there such a safety net to
save guard data integrity. Can I identify a lost
event and trace back to find out whether it is a app.
problem or Conductor problem?
I think the customer would surely like to know.
Regards,
Peter Sham.
--- "Thomas Mercer-Hursh, Ph.D."
<[email protected]> wrote:
Fusion has been positioned as an EAI tool, something
at which it appears to
be very, very good, but in recent months I have been
thinking about its
possible role as an architectural tool for those of
us who build large,
multi-application suites of applications. Having
been tossing some of
these ideas around the halls at Harrison Street, I
thought I would try some
of them on this audience as well to see what
reaction I got.
This concept is based on the context that one has
multiple interacting
applications which are loosely coupled, or at least
which should be. E.g.,
an order processing application may need credit
status information from an
accounts receivable application and may generate
invoices which then need
to be tracked for payment by that application, but
the connections between
these applications are specific, limited, and
readily enumerable. Mind
you, people don't always build their applications so
cleanly modularized,
but I think we all agree these days that they should
be.
The idea is to provide each application with a
specific API, which it may
currently have only indirectly. I.e., today one
might simply have calls
directly from one application to another, but one
would gather all these
links together and define an API, probably in XML
which covered all of the
necessary communciations between applications.
These would then be used to
build a Fusion Proxy and one would build the
necessary Conductor processes
to handle the communications which previously might
have been made directly
between applications. There is probably some
performance loss in this
process, but many of these interfaces are not
performance intensive and my
bet is that if the whole Fusion concept has adequate
performance for the
purposes for which it is being primarily marketed,
then it has the
performance for this sort of usage.
One would get several advantages from this
structure:
1) Interapplication communications would be handled
by a Conductor process
and thus be much more readily configurable than any
hard-coded link.
2) One would gain the ability to unplug one's own
application and plug in a
customer's application when the customer insisted on
using something else.
3) The discipline of working in this structure would
insure clean boundries
between applications, which is not only sound
design, but promotes the
flexibility of the overall suite.
4) Those with untransitioned legacy applications
would have a framework
that would allow a mixture of new and old
applications to co-exist, thus
providing them with a transition strategy until the
full product line was
converted.
Note that I am assuming that one would want to build
the individual
applications so that they also used Conductor for
managing their business
process logic, but that seems to me to be an
independent decision from this
one.
So, comments?
Any downsides?
Any added benefits I haven't covered here?
Are there many out there that would benefit from
this approach or just a few?
Is anyone doing anything like this?
Note that the one downside I have found so far is
that Fusion licensing,
independent of the Conductor aspect, is based on the
number of proxies and
so someone like CI who has 15 or more applications
in a typical site is
going to have 15 or more proxies. My bet is that
this can be handled once
it is clear that use of Fusion by a VAR for
integrating own applications is
not the same use as by an end-user integrating
arbitrary multiple applications.
=========================================================================
Thomas Mercer-Hursh, Ph.D email:
[email protected]
Computing Integrity, Inc. sales:
510-233-9329
550 Casey Drive - Cypress Point support:
510-233-9327
Point Richmond, CA 94801-3751 fax:
510-233-6950
For the archives, go to:
http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
[email protected]
=====Yes, they do & one page is 1KB page. We use the same instrument to check
memory usage & to send alerts in our production system.
Thanks.
Suraj
-----Original Message-----
From: Epari, Madhusudhan [mailto:[email protected]]
Sent: Monday, May 14, 2001 2:37 PM
To: 'Saraf, Suraj'; 'Forte User Forum'
Subject: RE: (forte-users) Instrument for memory used in the partition
Thanks all for the response. I observed "Allocated Pages" instrument doesn't
change as and when memory usage by the partition changes. I was trying to
find a way to measure the actual memory (specifically in bytes or KBs).
Thanks,
Madhu
-----Original Message-----
From: Saraf, Suraj [mailto:[email protected]]
Sent: Thursday, May 10, 2001 12:46 PM
To: 'Epari, Madhusudhan'; 'Forte User Forum'
Subject: RE: (forte-users) Instrument for memory used in the partition
Hello,
I think you can use 'OperatingSystem' service agent & check 'AllocatedPages'
instrument to see how many memory pages are used. You can compare that with
your maximum allocation & send alerts depending on that. Thanks.
Suraj
-----Original Message-----
From: Epari, Madhusudhan [mailto:[email protected]]
Sent: Thursday, May 10, 2001 11:15 AM
To: 'Forte User Forum'
Subject: (forte-users) Instrument for memory used in the partition
Hello Everyone,
Is there an instrument to track the memory used in the partition at a given
point of time. I have a requirement where an alert has to be generated in
the environment when partition uses all its available memory.
Thanks in advance,
Madhu
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected] -
Okay, here's my three cents worth,
Are you using Forte "Keep Alive" settings? If yes, you may simply have a
time-out.
While a partition is waiting for a reply from a database, it blocks and
won't respond
to anything, including pings to check if it's still alive. So, if the query
takes longer to
complete than the time-out period of the communication manager, then you
will
loose the connection to the partition.
-----Original Message-----
From: Aberdour George [SMTP:george.aberdourdet.nsw.edu.au]
Sent: Sunday, February 13, 2000 11:39 AM
To: 'Babu Raj'; kamranaminyahoo.com
Subject: RE: (forte-users) Hi All....very urgent...Forte doesn't
handle La rge array properly
Hi,
This sounds almost identical to a problem we have experienced.
If it is the same problem it is because you have compiled a back-end
load-balanced partition, but NOT the router that manages it.
With such a configuration, attempts to send greater than a few thousand
rows
will fail - and it doesn't seem to matter what you set -fm to.
You don't see the problem running distributed from your workspace because
everything is interpreted.
So just compile the router and try again.
Hope this helps.
George Aberdour
(George.Aberdourdet.nsw.edu.au)
-----Original Message-----
From: Babu Raj [mailto:ibcsmartboyyahoo.com]
Sent: Saturday, 12 February 2000 7:24
To: kamranaminyahoo.com
Subject: (forte-users) Hi All....very urgent...Forte doesn't handle
Large array properly
Hi All,
Have anyone experienced problem of retrieving
more than 1500 records from the database table, into
the object.
I use dynamic SQL statement, and populating Array
object from the DBDataSet. When it runs from my
workspace distributed, it works fine. But, when I make
deployment, and install on the test bed, I face
Network connection failure from the client machine. It
looks like, server read the data from the Database,
and while packaging it, to send it across to the
client, server seems to run out ouf memory or couldn't
maintain the connection with the client. I tried to
set -fm flag on that partition, and separately setting
FORTE_GC_SPECIAL too, but still no luck.
we have increased, the rollback segment size on
Oracle too, but still no luck.
Appreciate, your suggestions, if you can,
Thank you,
Babu
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comOkay, here's my three cents worth,
Are you using Forte "Keep Alive" settings? If yes, you may simply have a
time-out.
While a partition is waiting for a reply from a database, it blocks and
won't respond
to anything, including pings to check if it's still alive. So, if the query
takes longer to
complete than the time-out period of the communication manager, then you
will
loose the connection to the partition.
-----Original Message-----
From: Aberdour George [SMTP:george.aberdourdet.nsw.edu.au]
Sent: Sunday, February 13, 2000 11:39 AM
To: 'Babu Raj'; kamranaminyahoo.com
Subject: RE: (forte-users) Hi All....very urgent...Forte doesn't
handle La rge array properly
Hi,
This sounds almost identical to a problem we have experienced.
If it is the same problem it is because you have compiled a back-end
load-balanced partition, but NOT the router that manages it.
With such a configuration, attempts to send greater than a few thousand
rows
will fail - and it doesn't seem to matter what you set -fm to.
You don't see the problem running distributed from your workspace because
everything is interpreted.
So just compile the router and try again.
Hope this helps.
George Aberdour
(George.Aberdourdet.nsw.edu.au)
-----Original Message-----
From: Babu Raj [mailto:ibcsmartboyyahoo.com]
Sent: Saturday, 12 February 2000 7:24
To: kamranaminyahoo.com
Subject: (forte-users) Hi All....very urgent...Forte doesn't handle
Large array properly
Hi All,
Have anyone experienced problem of retrieving
more than 1500 records from the database table, into
the object.
I use dynamic SQL statement, and populating Array
object from the DBDataSet. When it runs from my
workspace distributed, it works fine. But, when I make
deployment, and install on the test bed, I face
Network connection failure from the client machine. It
looks like, server read the data from the Database,
and while packaging it, to send it across to the
client, server seems to run out ouf memory or couldn't
maintain the connection with the client. I tried to
set -fm flag on that partition, and separately setting
FORTE_GC_SPECIAL too, but still no luck.
we have increased, the rollback segment size on
Oracle too, but still no luck.
Appreciate, your suggestions, if you can,
Thank you,
Babu
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
RE: (forte-users) Optimal number of records to fetch fromForte C ursor
The reason why a single fetch of 20.000 records performs less then
2 fetches of 10.000 might be related to memory behaviour. Do you
keep the first 10.000 records in memory when you fetch the next
10.000? If not, then a single fetch of 20.000 records requires more
memory then 2 fetches of 10.000. You might have some extra over-
head of Forte requesting additional memory from the OS, garbage
collections just before every request for memory and maybe even
the OS swapping some memory pages to disk.
This behaviour can be controlled by modifying the Minimum memory
and Maximum memory of the partition, as well as the memory chunk
size Forte uses to increment its memory.
Upon partition startup, Forte requests the Minimum memory from the
OS. Whithin this area, the actual memory being used grows, until
it hits the ceiling of this space. This is when the garbage collector
kicks in and removes all unreferenced objects. If this does not suffice
to store the additional data, Forte requests 1 additional chunk of a
predefined size. Now, the same behaviour is repeated in this, slightly
larger piece of memory. Actual memory keeps growing until it hits
the ceiling, upon which the garbage collector removes all unrefer-
enced objects. If the garbage collector reduces the amount of
memory being used to below the original Miminum memory, Forte
will NOT return the additional chunk of memory to the OS. If the
garbage collector fails to free enough memory to store the new data,
Forte will request an additional chunk of memory. This process is
repeated untill the Maximum memory is reached. If the garbage
collector fails to free enough memory at this point, the process
terminates gracelessly (which is what happens sooner or later when
you have a memory leak; something most Forte developpers have
seen once or twice).
Pascal Rottier
STP - MSS Support & Coordination Group
Philip Morris Europe
e-mail: [email protected]
Phone: +49 (0)89-72472530
+++++++++++++++++++++++++++++++++++
Origin IT-services
Desktop Business Solutions Rotterdam
e-mail: [email protected]
Phone: +31 (0)10-2428100
+++++++++++++++++++++++++++++++++++
/* All generalizations are false! */
-----Original Message-----
From: [email protected] [SMTP:[email protected]]
Sent: Monday, November 15, 1999 6:53 PM
To: [email protected]
Subject: (forte-users) Optimal number of records to fetch from Forte
Cursor
Hello everybody:
I 'd like to ask a very important question.
I opened Forte cursor with approx 1.2 million records, and now I am trying
to figure out the number of records per fetch to obtain
the acceptable performance.
To my surprise, fetching 100 records at once gave me approx 15 percent
performance gain only in comparsion
with fetching records each by each.
I haven't found significant difference in performance fetching 100, 500
or
10.000 records at once.In the same time, fetching 20.000
records at once make a performance approx 20% worse( this fact I cannot
explain).
Does anybody have any experience in how to improve performance fetching
from
Forte cursor with big number of rows ?
Thank you in advance
Genady Yoffe
Software Engineer
Descartes Systems Group Inc
Waterloo On
Canada
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]Hi Kieran,
According to your description, you are going to figure out what is the optimal number of records per partition, right? As per my understanding, this number was change by your hardware. The better hardware you have, the more number of records per partition.
The earlier version of the performance guide for SQL Server 2005 Analysis Services Performance Guide stated this:
"In general, the number of records per partition should not exceed 20 million. In addition, the size of a partition should not exceed 250 MB."
Besides, the number of records is not the primary concern here. Rather, the main criterion is manageability and processing performance. Partitions can be processed in parallel, so the more there are the more can be processed at once. However, the more partitions
you have the more things you have to manage. Here is some links which describe the partition optimization
http://blogs.msdn.com/b/sqlcat/archive/2009/03/13/analysis-services-partition-size.aspx
http://www.informit.com/articles/article.aspx?p=1554201&seqNum=2
Regards,
Charlie Liao
TechNet Community Support -
RE: (forte-users) Optimal number of records to fetch fromForte Cursor
Guys,
The behavior (1 fetch of 20000 vs 2 fetches of 10000 each) may also be DBMS
related. There is potentially high overhead in opening a cursor and initially
fetching the result table. I know this covers a great deal DBMS technology
territory here but one explanation is that the same physical pages may have to
be read twice when performing the query in 2 fetches as compared to doing it in
one shot. Physical IO is perhaps the most expensive (vis a vis- resources)
part of a query. Just a thought.
"Rottier, Pascal" <[email protected]> on 11/15/99 01:34:22 PM
To: "'Forte Users'" <[email protected]>
cc: (bcc: Charlie Shell/Bsg/MetLife/US)
Subject: RE: (forte-users) Optimal number of records to fetch from Forte C
ursor
The reason why a single fetch of 20.000 records performs less then
2 fetches of 10.000 might be related to memory behaviour. Do you
keep the first 10.000 records in memory when you fetch the next
10.000? If not, then a single fetch of 20.000 records requires more
memory then 2 fetches of 10.000. You might have some extra over-
head of Forte requesting additional memory from the OS, garbage
collections just before every request for memory and maybe even
the OS swapping some memory pages to disk.
This behaviour can be controlled by modifying the Minimum memory
and Maximum memory of the partition, as well as the memory chunk
size Forte uses to increment its memory.
Upon partition startup, Forte requests the Minimum memory from the
OS. Whithin this area, the actual memory being used grows, until
it hits the ceiling of this space. This is when the garbage collector
kicks in and removes all unreferenced objects. If this does not suffice
to store the additional data, Forte requests 1 additional chunk of a
predefined size. Now, the same behaviour is repeated in this, slightly
larger piece of memory. Actual memory keeps growing until it hits
the ceiling, upon which the garbage collector removes all unrefer-
enced objects. If the garbage collector reduces the amount of
memory being used to below the original Miminum memory, Forte
will NOT return the additional chunk of memory to the OS. If the
garbage collector fails to free enough memory to store the new data,
Forte will request an additional chunk of memory. This process is
repeated untill the Maximum memory is reached. If the garbage
collector fails to free enough memory at this point, the process
terminates gracelessly (which is what happens sooner or later when
you have a memory leak; something most Forte developpers have
seen once or twice).
Pascal Rottier
STP - MSS Support & Coordination Group
Philip Morris Europe
e-mail: [email protected]
Phone: +49 (0)89-72472530
+++++++++++++++++++++++++++++++++++
Origin IT-services
Desktop Business Solutions Rotterdam
e-mail: [email protected]
Phone: +31 (0)10-2428100
+++++++++++++++++++++++++++++++++++
/* All generalizations are false! */
-----Original Message-----
From: [email protected] [SMTP:[email protected]]
Sent: Monday, November 15, 1999 6:53 PM
To: [email protected]
Subject: (forte-users) Optimal number of records to fetch from Forte
Cursor
Hello everybody:
I 'd like to ask a very important question.
I opened Forte cursor with approx 1.2 million records, and now I am trying
to figure out the number of records per fetch to obtain
the acceptable performance.
To my surprise, fetching 100 records at once gave me approx 15 percent
performance gain only in comparsion
with fetching records each by each.
I haven't found significant difference in performance fetching 100, 500
or
10.000 records at once.In the same time, fetching 20.000
records at once make a performance approx 20% worse( this fact I cannot
explain).
Does anybody have any experience in how to improve performance fetching
from
Forte cursor with big number of rows ?
Thank you in advance
Genady Yoffe
Software Engineer
Descartes Systems Group Inc
Waterloo On
Canada
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]Hi Kieran,
According to your description, you are going to figure out what is the optimal number of records per partition, right? As per my understanding, this number was change by your hardware. The better hardware you have, the more number of records per partition.
The earlier version of the performance guide for SQL Server 2005 Analysis Services Performance Guide stated this:
"In general, the number of records per partition should not exceed 20 million. In addition, the size of a partition should not exceed 250 MB."
Besides, the number of records is not the primary concern here. Rather, the main criterion is manageability and processing performance. Partitions can be processed in parallel, so the more there are the more can be processed at once. However, the more partitions
you have the more things you have to manage. Here is some links which describe the partition optimization
http://blogs.msdn.com/b/sqlcat/archive/2009/03/13/analysis-services-partition-size.aspx
http://www.informit.com/articles/article.aspx?p=1554201&seqNum=2
Regards,
Charlie Liao
TechNet Community Support -
Re: (forte-users) Forte and CORBA question
Hi,
The discarding the Java variable that references a distributed Forte object
doesn't cause that the distributed object will be reclaimed. In Forte client
you can use ReleaseDistReference() of the current partition (task.part) to
free the remote object. For Java client, you can implement the following
solution:
- define a method ReleaseMyObject() in the SO you are using to get the proxy
to the dist. object. As parameter for it use something that can identify
your object (attribute).
- your SO has an array or hashtable with your distributed objects, every new
object is added to it.
- in the implementation of ReleaseMyObject() find the object to release in
the array and call ReleaseDistReference() for it,
- from the Java client, call the ReleaseMyObject() for the object that is
not more needed.
Regards,
Zenon Adamek
----- Original Message -----
From: Joseph Mirwald <jomirweb.de>
To: Dave Ortman <dortmanyahoo.com>; 'Forte User Forum'
<forte-userslists.xpedior.com>
Sent: Wednesday, March 07, 2001 3:58 PM
Subject: Re: (forte-users) Forte and CORBA question
Hello Dave,
do you use a copy return or copy parameters in this method ?
If not, then maybe Forte is unable to garbage-collect this object because
it is forever
a proxy which only the server-partition may be able to drop it from memory
(object=NIL).
Try this and let us know what happens.
Hope this helps
Joseph Mirwald
At 11:49 07.03.01 -0800, Dave Ortman wrote:
We're attempting to use a Java client to access a
Forte server. In doing such, we've experienced a
problem which I hoped somebody could shed some light
on.
We've had a Java client calling Forte service objects
and passing Forte objects back and forth as CORBA
structs with no problem. However, we have experienced
some problem obtaining and using remote references to
distributed objects from the Java client.
The problem is memory utilization. Each time I obtain
a reference to a new object, the memory utilization on
the Forte server jumps up quite a bit (around 100k per
object on an NT box). Eventually, if I fetch enough
objects, the server will crash due to lack of memory.
It seems that Forte never reclaims the memory, even
though I'm not using (and don't have a handle to) this
remote objects.
The objects are very small. In fact, I created a test
Forte SO with one method, getObject(); which returns a
distributed object with a single attribute. I then
have a Java client access the getObject() method
repeatedly - discarding the reference to the object
after each iteration. After a short while, the box
will come down.
Any thoughts?
Thanks in advance,
-Dave Ortman
--- "Epari, Madhusudhan" <meparioxhp.com> wrote:
Hi All,
Following error occurs consistently on a router
partition for every call to
the service object but the partition doesn't die or
crash. I tried bumping
up the partition memory too. Any thoughts on why
it's happening?
Thanks in advance,
Madhu
SYSTEM ERROR: Failed to connect or lost connection
to the
environment manager
at FORTE_NS_ADDRESS = <Unknown>. Check that the
environment
manager is
installed at that location. If it is, then check
to be sure that
there are
enough system resources available to support this
partition.
Class: qqsp_SystemResourceException
Error #: [601, 201]
Detected at: qqdo_NsClient::FindObject at 1
Error Time: Wed Feb 21 09:30:56
Exception occurred (locally) on partition
"CSA_cl0_Part2-router",
(partitionId =
C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c:0x1,
taskId =
[C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c.8]) in
application
"MWRouting_cl1", pid 18937 on node forted1 in
environment
frtedev.
SYSTEM ERROR: Attempt to send from a partition
(C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c:0x1)
that no
longer exists.
Class: qqsp_DistAccessException
Error #: [601, 111]
Detected at: qqdo_PartitionMgr::SendMsg at
1
Error Time: Wed Feb 21 09:30:56
Distributed method called:
qqdo_NsServerProxy.FindObject
(object name
Unnamed) from partition
"CSA_cl0_Part2-router",
(partitionId =
C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c:0x1,
taskId =
[C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c.8]) in
application
"MWRouting_cl1", pid 18937 on node
forted1 in environment
frtedev
Exception occurred (locally) on partition
"CSA_cl0_Part2-router",
(partitionId =
C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c:0x1,
taskId =
[C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c.8])
in
application "MWRouting_cl1", pid 18937 on
node forted1 in
environment
frtedev.
LbRouter::FindMembers - CAUGHT EXCEPTION attaching
members from
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com--
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comWhy not this:
while myText.moveToString(' ') do
myText.ReplaceRange('-', myText.Offset, myText.Offset+1);
end while;
or if you prefer verbosity:
while myText.moveToString(source=' ') do
myText.ReplaceRange(source='-', startOffset=myText.Offset,
endOffset=myText.Offset+1);
end while;
-----Original Message-----
From: FatchJeBAM.com [mailto:FatchJeBAM.com]
Sent: Wednesday, January 12, 2000 2:51 PM
To: Troy.Burnsvacationclub.com; kamranaminyahoo.com
Subject: RE: (forte-users) search and replace within a TextData
How about this?? May have to play with start/end on ReplaceRange as I
didn't really test this
Anybody got a better way??
-- replace space with underscore
For x in 1 to myTextdata.LengthToEnd() do
If myTextData.IsSpace() then
MyTextdata.ReplaceRange('_'. Startoffset=myTextdata.offset,
endoffset=myTextdata.offset+1);
End if;
MyTextdata.MoveNext;
End for;
Jerry Fatcheric
-----Original Message-----
From: Burns, Troy [mailto:Troy.Burnsvacationclub.com]
Sent: Wednesday, January 12, 2000 9:40 AM
To: kamranaminyahoo.com
Subject: (forte-users) search and replace within a
TextData
Hello all,
I need to search within a textdata object, replacing all
occurrances of a
space
with another character. Can you give a quick code example
of how I would do
this?
Thanks in advance,
Troy
Troy Burns
Marriott Vacation Club Intl.
E-mail: troy.burnsvacationclub.com
Phone: (941) 688-7700 ext. 4408
For the archives, go to: http://lists.sageit.com/forte-users
and use
the login: forte and the password: archive. To unsubscribe,
send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.sageit.com
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.sageit.com -
RE: (forte-users) Killing the Nones - solved
Thanks to all of you who helped ... this pex file works great.
Allan
-----Original Message-----
From: kelsey.petrychynsasktel.sk.ca [SMTP:kelsey.petrychynsasktel.sk.ca]
Sent: Thursday, August 24, 2000 9:51 AM
To: Pomeroy, Allan
Cc: kamranaminyahoo.com
Subject: Re: (forte-users) Killing the Nones
Try the code contained in this pex file.
We got it from someone in Forte quite a while ago and found that it worked
pretty good. I haven't used it for a long time since, and it was probably
written using an old version of Forte. However, it should still work, or
at
least you may find some salvageable code that can be "modernized" to what
ever
version you are using.
(See attached file: FtExecShutDown.pex)
PS
You would almost think that by version 3+ of a product Forte would have
nailed
down their empty and orphaned (defunct in UNIX) processes bugs. The
environment
manager should be able to auto-magically shut them down or at least keep
them
down to an acceptable number. But alas, we still find ourselves
occasionally
exceeding our finite server resources due to rouge processes doing
nothing.
Kelsey PetrychynSaskTel Technical Analyst
ITM - Technology Solutions - Distributed Computing
Tel (306) 777 - 4906, Fax (306) 359 - 0857
Internet:kelsey.petrychynSasktel.sk.ca
Quality is not job 1. It is the only job!
"Pomeroy, Allan" <Allan.PomeroyLibertyMutual.com> on 08/24/2000 07:09:16
AM
To: kamranaminyahoo.com
cc: (bcc: Kelsey Petrychyn/SaskTel/CA)
Subject: (forte-users) Killing the Nones
Venerable Forte Gurus,
Aside from using the Econsole, is there a way to kill the "None" ftexecs
that sometimes hang around after forte partitions are shut down?
In Econsole, if you view->node outline, then select the Forte Executor,
you
may see some running ftexecs with no application assigned -- they show up
as
"None". When I subsequently launch applications, I want them to start in
new ftexecs, not in the old "none"s, which have old command-line parms,
memory settings, etc.
Thanks!
Allan
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
<< File: FtExecShutDown.pex >>Try the code contained in this pex file.
We got it from someone in Forte quite a while ago and found that it worked
pretty good. I haven't used it for a long time since, and it was probably
written using an old version of Forte. However, it should still work, or at
least you may find some salvageable code that can be "modernized" to what ever
version you are using.
(See attached file: FtExecShutDown.pex)
PS
You would almost think that by version 3+ of a product Forte would have nailed
down their empty and orphaned (defunct in UNIX) processes bugs. The environment
manager should be able to auto-magically shut them down or at least keep them
down to an acceptable number. But alas, we still find ourselves occasionally
exceeding our finite server resources due to rouge processes doing nothing.
Kelsey PetrychynSaskTel Technical Analyst
ITM - Technology Solutions - Distributed Computing
Tel (306) 777 - 4906, Fax (306) 359 - 0857
Internet:kelsey.petrychynSasktel.sk.ca
Quality is not job 1. It is the only job!
"Pomeroy, Allan" <Allan.PomeroyLibertyMutual.com> on 08/24/2000 07:09:16 AM
To: kamranaminyahoo.com
cc: (bcc: Kelsey Petrychyn/SaskTel/CA)
Subject: (forte-users) Killing the Nones
Venerable Forte Gurus,
Aside from using the Econsole, is there a way to kill the "None" ftexecs
that sometimes hang around after forte partitions are shut down?
In Econsole, if you view->node outline, then select the Forte Executor, you
may see some running ftexecs with no application assigned -- they show up as
"None". When I subsequently launch applications, I want them to start in
new ftexecs, not in the old "none"s, which have old command-line parms,
memory settings, etc.
Thanks!
Allan
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
(Forte-users) log file error
Hi,
We are getting this error in our log files, when we run our application.(We
are running interpreted)
Any help will be appreciated to solve this problem.
Thanks
Carole
Attached to manager for node FORTE_DEV.
aud Wed May 10 08:58:28 : Loading partition CSaver_cl169_Part1-router built
on 08-May-2000 16:32:42.
Attached to manager for node FORTE_DEV.
aud Wed May 10 10:01:12 : Shutting down partition as requested.
aud Wed May 10 10:01:13 : Unloaded partition CSaver_cl169_Part1-router.
aud Wed May 10 10:01:15 : Loading partition CSaver_cl169_Part1-router built
on 08-May-2000 16:32:42.
Attached to manager for node FORTE_DEV.
LbRouter::FindMembers - CAUGHT EXCEPTION attaching members from
SYSTEM ERROR: Failed to connect or lost connection to the environment
manager
at FORTE_NS_ADDRESS = <Unknown>. Check that the environment manager is
installed at that location. If it is, then check to be sure that there
are
enough system resources available to support this partition.
Class: qqsp_SystemResourceException
Error #: [601, 201]
Detected at: qqdo_NsClient::FindObject at 1
Error Time: Wed May 10 10:01:40
Exception occurred (locally) on partition "CSaver_cl169_Part1-router",
(partitionId = A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1, taskId
=
[A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
"CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev.
SYSTEM ERROR: Attempt to send from a partition
(A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1) that no longer
exists.
Class: qqsp_DistAccessException
Error #: [601, 111]
Detected at: qqdo_PartitionMgr::SendMsg at 1
Error Time: Wed May 10 10:01:40
Distributed method called: qqdo_NsServerProxy.FindObject (object
name
Unnamed) from partition "CSaver_cl169_Part1-router", (partitionId
=
A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1, taskId =
[A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
"CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev
Exception occurred (locally) on partition
"CSaver_cl169_Part1-router",
(partitionId = A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1,
taskId
= [A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
"CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev.
LbRouter::FindMembers - CAUGHT EXCEPTION attaching members from
SYSTEM ERROR: Failed to connect or lost connection to the environment
manager
at FORTE_NS_ADDRESS = <Unknown>. Check that the environment manager is
installed at that location. If it is, then check to be sure that there
are
enough system resources available to support this partition.
Class: qqsp_SystemResourceException
Error #: [601, 201]
Detected at: qqdo_NsClient::FindObject at 1
Error Time: Wed May 10 10:01:40
Exception occurred (locally) on partition "CSaver_cl169_Part1-router",
(partitionId = A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1, taskId
=
[A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
"CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev.
WARNING:
Any unauthorised use or interception of this email is illegal. If this email
is not intended for you, you may not copy, distribute nor disclose the
contents to anyone. Save for bona fide company matters, the BoE Group does
not accept any responsibility for the opinions expressed in this email.
For further details please see: http://www.nbs.co.za/emaildisclaim.htmOne thing to look at is this message: Check that the environment manager is
installed at that location. If it is, then check to be sure that there are
enough system resources available to support this partition.
Particularly the enough systems resources part of it. I've seen this message
before, but it's been awhile, & the problem was we didn't have enough
virtual memory on the server & also we needed more tcp/ip connections. If I
remember right our Unix guy had to change some of the configuration
parameters in the kernel on the server.
Hope this helps.
-----Original Message-----
From: MacDonald, Carole [mailto:CMacDonaldnbs.co.za]
Sent: Thursday, May 11, 2000 3:53 AM
To: forte-userslists.xpedior.com
Subject: (Forte-users) log file error
Hi,
We are getting this error in our log files, when we run our application.(We
are running interpreted)
Any help will be appreciated to solve this problem.
Thanks
Carole
Attached to manager for node FORTE_DEV.
aud Wed May 10 08:58:28 : Loading partition CSaver_cl169_Part1-router built
on 08-May-2000 16:32:42.
Attached to manager for node FORTE_DEV.
aud Wed May 10 10:01:12 : Shutting down partition as requested.
aud Wed May 10 10:01:13 : Unloaded partition CSaver_cl169_Part1-router.
aud Wed May 10 10:01:15 : Loading partition CSaver_cl169_Part1-router built
on 08-May-2000 16:32:42.
Attached to manager for node FORTE_DEV.
LbRouter::FindMembers - CAUGHT EXCEPTION attaching members from
SYSTEM ERROR: Failed to connect or lost connection to the environment
manager
at FORTE_NS_ADDRESS = <Unknown>. Check that the environment manager is
installed at that location. If it is, then check to be sure that there
are
enough system resources available to support this partition.
Class: qqsp_SystemResourceException
Error #: [601, 201]
Detected at: qqdo_NsClient::FindObject at 1
Error Time: Wed May 10 10:01:40
Exception occurred (locally) on partition "CSaver_cl169_Part1-router",
(partitionId = A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1, taskId
=
[A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
"CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev.
SYSTEM ERROR: Attempt to send from a partition
(A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1) that no longer
exists.
Class: qqsp_DistAccessException
Error #: [601, 111]
Detected at: qqdo_PartitionMgr::SendMsg at 1
Error Time: Wed May 10 10:01:40
Distributed method called: qqdo_NsServerProxy.FindObject (object
name
Unnamed) from partition "CSaver_cl169_Part1-router", (partitionId
=
A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1, taskId =
[A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
"CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev
Exception occurred (locally) on partition
"CSaver_cl169_Part1-router",
(partitionId = A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1,
taskId
= [A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
"CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev.
LbRouter::FindMembers - CAUGHT EXCEPTION attaching members from
SYSTEM ERROR: Failed to connect or lost connection to the environment
manager
at FORTE_NS_ADDRESS = <Unknown>. Check that the environment manager is
installed at that location. If it is, then check to be sure that there
are
enough system resources available to support this partition.
Class: qqsp_SystemResourceException
Error #: [601, 201]
Detected at: qqdo_NsClient::FindObject at 1
Error Time: Wed May 10 10:01:40
Exception occurred (locally) on partition "CSaver_cl169_Part1-router",
(partitionId = A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1, taskId
=
[A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
"CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev.
WARNING:
Any unauthorised use or interception of this email is illegal. If this email
is not intended for you, you may not copy, distribute nor disclose the
contents to anyone. Save for bona fide company matters, the BoE Group does
not accept any responsibility for the opinions expressed in this email.
For further details please see: http://www.nbs.co.za/emaildisclaim.htm
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
RE: (forte-users) 3J= 3M new to me error
Hi Thomas,
Thanks for your email but I think it will be interesting for Brenda not me.
It is exactly what I have expected from Forte Support: detailed information
about bugs and workarounds. But what I cannot understand is that #53398 was
released without any information about possible reasons for this problem or
suggested workarounds. My first reaction after reading this bugreport was to
open a new case at CallCenter to get more information about it. Please
release more information with your bug reports !
Regards
Zenon Adamek
Information Services
Senior Programmer Analyst
Tel: 905 712-1084 ext. 3628
Fax: 905 712-6709
E-mail: zadamekpurolator.com
-----Original Message-----
From: Thomas Degen - Sun Germany Forte Tools - Bonn
[SMTP:thomas.degensun.com]
Sent: Wednesday, September 27, 2000 9:49 AM
To: Adamek, Zenon
Cc: 'Brenda Cumming'; Forte-userslists.xpedior.com
Subject: RE: (forte-users) 3J=>3M new to me error
Hi Zenon,
bug #53398 is not a bug which will likely get fixed, it's an informational
bugreport.
You might see an errorstack like Brenda has reported (and described in
informational
bugreport #53398) probably when you are doing something illegal that is
possible
via Forte Tool but Forte is not trapping it for performance reasons. Hence
you will see
the error coming from your illegal operation only at runtime, probably
only
while
running interpreted in the Forte IDE, but in worst case it might be even a
segmentation
violation.
Technotes 12448 'Sudden client partition crashes at runtime' and 11225
'Don't reparent
mapped Widgets between UserWindows at runtime' explain this matter . See
attached.
But maybe Brenda is much more experiencing a problem as described by Forte
Technote 11398 'Read Only Workspace Errors using ListViews or ActiveX
control'
that might get easily resolved via setting of FORTE_YIELD_THROTTLE=0.
Good Luck and Best Regards !
BTW: I've logged bug #53398, so I've felt responsible to explain its real
background.
Thomas
Thomas Degen
Sun Microsystems - Forte Tools
Forte CTE & Sustaining Group
Technical Support Germany
tel.:+49.228/91499-50
MailTo:thomas.degensun.com
Technote 11398 Read Only Workspace Errors using ListViews or ActiveX
control
SCENARIO:
Getting some unusual interpreter errors that result in an error stating
that
the workspace has been set to read only. Please see Enclosures for the
two
most common error stacks that have been encountered. The abbreviated
versions of the errors are:
- Can't read record (record size = -1)
- Id in index does not match id in record header in data file
- Recursive deserialization attempted.
- Unknown Mark type in deserialization
- Could not read record (64,74615) from repository data file.
Header
is corrupt.
These errors can be happening in either the development environment when
running from one of the development workshops, or with the deployed
application.
The bug outlined in this Technote may be the culprit if the errors above
are
seen when running a client on Windows NT or Motif and the user interface
incorporates ActiveX controls or ListView/TreeView widgets.
CAUSE:
Basically what is happening is that in rare circumstances Forte may invoke
a
nested copy of the interpreter while the first interpreter has yielded.
This
is not a problem in and of itself, but in the case where the original
interpreter was in the middle of a repository fetch when it yielded, and
the second interpreter needs to fetch code as well, we will get one of the
errors listed above, depending on the exact timing. The reason for the
errors is that the repository code at this level is thread-safe but not
re-entrant. It is protected by a mutex that is already owned by the
current task. Which, given the scenario outlined here, where the two
interpreters are running inside of the same task, results in the nested
interpreter being allowed to change data out from under the first.
While for every fetch one or more calls to WindowSystem.Yield will be made
(this is there to prevent the semblance of system lock-up on Win 3.1,
where
Yield is the only way other applications can be allowed to run), there is
a parameter which controls how often to actually yield, which by default
is
set to one out of every 100 calls. This is the reason the problem is
intermittent--you need a yield to occur during a repository fetch
which starts another interpreter which also needs to fetch code from
disk.
The reason this has only surfaced recently is that the nested interpreter
scenario can only happen in 2 cases that we know of:
- ActiveX controls which respond to events/Windows messages
- Outline fields/ListViews with column(s) mapped to virtual
attributes
In all other normal cases, the yield can process the message (typically a
paint message) without starting another interpreter, so regardless of
whether
the first interpreter yielded during a repository operation or not, there
is
no conflict.
SOLUTION:
The workaround is to prevent yields altogether by setting the
FORTE_YIELD_THROTTLE environment variable equal to 0 in the client's
environment. This should have no detrimental effects since the yield code
is in place solely for Windows 3.1x clients.
ERROR STACK 1
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to
prevent the application from attempting to write to the repository. The
repository and work you have saved to the repository are safe. If your
workspace
contains unsaved work, you may use the following procedure to save this
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import
the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::GetObjectById
Last TOOL statement: method EFWindowController.EFEventLoop
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
The remainder of the Error Manager stack is:
SYSTEM ERROR: Internal Error attempting to deserialize element (64,67470)
(fetch
bitmask is 0x20). Your workspace is now read-only to prevent the
application
from attempting to write to the repository. The repository and work you
have
saved to the repository are safe. If your workspace contains unsaved work,
you
may use the following procedure to save this work. First, export the
changed
components. Then, shut down and restart this application and reopen this
workspace in read-write mode. Finally, import the changed components and
save
your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Last TOOL statement: method EFTabManagerNew.EFNoteBookHandler
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
SYSTEM ERROR: Unknown Mark type in deserialization.
Class: qqsp_ImplementationException
Error #: [1101, 34]
Detected at: qqrp_DeSerializeObject::ProcessHdr
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
ERROR STACK 2
SYSTEM ERROR: A serious error has occurred in Repository
(c:\PROGRA~1\CSSPTEST\conplu0). Corrective action may be necessary.
Notify
your repository administrator.
Class: qqsp_ImplementationException
Error #: [1101, 198]
Detected at: qqrp_Repository::Fetch
Last TOOL statement: method
SalesDevelopment_NWC.DEVNotifyofTabSetCurrent
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
SYSTEM ERROR: Could not read record (64,74615) from repository data file.
Header is corrupt.
Class: qqsp_ImplementationException
Error #: [1106, 612]
Detected at: qqbt_BtreeAccess::FetchDataFileRecord
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
Technote 11225 Don't reparent mapped Widgets between UserWindows at
runtime
It is sometimes tempting to unparent a widget from one UserWindow and
reparent
it into another at runtime. However, this can cause crashes if the widget
(or
its decendants) are "mapped" to data. Here's why...
Suppose you have two UserWindows, UW1 and UW2. UW1 contains a DataField
(DF1)
which is mapped to a TextData. UW2 contains a RadioList (RL2) which is
mapped to
a scalar Integer. At compile time, every mapped attribute is internally
assigned
a "Map ID" (a small integer) which is used to tie the Widget to its
corresponding attribute. These Map IDs are used by the Widget to look up a
pointer to their data in a "Map" which is maintained by the UserWindow.
Each
UserWindow is assumed be to independent of the others, so there is nothing
wrong
with Widgets in different UserWindows being assigned the same Map IDs.
In
this
case, let's assume that DF1 and RL2 both got assigned the same Map ID of
3. No
problem so far, since each lives in a separate UserWindow with a separate
map.
Now suppose at runtime the application "detaches" or unparents DF1 from
its
UserWindow and reparents it somewhere into UW2. When it comes time for DF1
to
paint itself the Display System it must ask the Runtime System for the
value of
DF1's mapped attribute. To do that it says "give me the value of the
TextData
for DF1. You'll find it in the Map for this UserWindow (UW1), and its Map
ID is
3". When the runtime system goes to do this it expects to find a TextData
in
this "slot" of the map, but instead it picks up the integer which is
mapped to
RL2. At best this leads to bad data being returned; more likely you get a
segfault and a crash.
If DF1 was not a mapped attribute (say, a Rectangle) there would be no
problem
because there is no data mapped to a Rectangle. If instead of moving DF1
you
created a brand new DataField on the fly there would be no problem,
because the
dynamic DataField would not have any Map ID and so couldn't conflict with
any
IDs in UW2.
So how do you solve this problem? This is exactly what Nested Windows are
all
about. While you can't move DF1 into the middle of UW2, you can nest
UW1.
This
works because UW1 brings its map with it, and when you access DF1 it knows
to
look up its value in UW1's map.
UserWindows are intended to be the "unit of compilabilty" that can be
nested
inside other UserWindows. It is dangerous to "transplant" anything from
inside
one UserWindow into another at runtime.
(Note that you can't avoid this problem by cloning DF1 because the MapID
gets
copied along with it, and the clone will fail in the same way.)
Further details explained in related technote 12448 'Sudden client
partition
crashes at runtime.'
Technote 12448 Sudden client partition crashes at runtime
Scenario : You have two UserWindows, A and B. When Window A starts up, it
instantiates an instance of B and reparents some component of B into A's
window
hierarchy.
This is not allowed and almost always leads to an error at best or at
worse a
segmentation fault.
Here's why :
When you compile a UserWindow in Forte, each "mapped attribute" (whether a
form
element or menu element) is assigned an internal ID which represents an
offset into
that UserWindow's table of mapped attributes. This offset is only valid
in the
context of the UserWindow in which it was compiled. If you detach a
FieldWidget or
MenuWidget from one compiled Window ("tmpMenu" for example) and then
parent
into another compiled window ("tmpWindow") the internal ID comes with it.
When Forte tries to make use of that copied widget it uses the ID as an
offset
into tmpWindow's table of mapped attributes. But that copied offset is
meaningless in the context of tmpWindow's table, so you get some kind off
error.
In this case it found that the data type of the variable in the slot
wasn't
what
was expected. But you might even index off the end of the table and get a
segmentation fault.
There is nothing to prevent you from dynamically creating menu items and
adding
them to a window at runtime; that will work fine. Although of course you
can't
access them via mapped attributes, since those can only be created at
compile time.
But you are not allowed to reparent a widget from one compiled UserWindow
into
the hierarchy of another.
More information may be found in technote 11225 'Don't reparent mapped
Widgets
between UserWindows at runtime'.
Possible errorstacks seen at runtime instead of a complete crash or
segmentation
violation while you are illegally reparenting a widget or menuitem between
windows
at runtime:
Map::SetSubjectData: Invalid conversion from map type 0 to subject type 22
SYSTEM ERROR: Bad parameter at location 3 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 3
Error Time: Wed Aug 09 13:03:57
Exception occurred (locally) on partition "testproject_CL0_Client",
(partitionId = D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd,
taskId =
[D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd.68]) in application
"FTLaunch_cl0", pid 672 on node ONEWAY in environment Audi3M2Env.
At 13:14 26.09.00 -0400, Adamek, Zenon wrote:
Hi,
It is the unfixed defect 53398. Please contact Forte support.
Zenon
-----Original Message-----
From: Brenda Cumming [SMTP:brenda_cummingtranscanada.com]
Sent: Tuesday, September 26, 2000 1:15 PM
To: Forte User group
Subject: (forte-users) 3J=>3M new to me error
Hi,
We are in the process of going from 3J1 to 3.0.M.2, and I am getting
this error that I am unfamiliar with on a GUI that works fine in 3J.
It
does not happen all the time, and I have been unable to establish the
pattern that kicks it off. Has anyone seen this before?
PS- this error is not occurring in the deployed (non-compiled) app,but
when I am running locally from my workspace.
SYSTEM ERROR: Bad parameter at location 6 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 6
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2,
taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Can't find scope 20070 for a class.
Class: qqsp_Exception
Error #: [201, 11]
Detected at: qqlo_ClassTableLoadScope at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to prevent the application from attempting to write to the repository.
The repository and work you have saved to the repository are safe. If
your
workspace contains unsaved work, you may use the following procedure
to save this work. First, export the changed components. Then, shut down and
restart this application and reopen this workspace in read-write mode.
Finally, import the changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::IsDistributed
Last TOOL statement: method PPMeasWin.
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Internal Error attempting to deserialize element
(64,120684) (fetch bitmask is 0x20). Your workspace is now read-onlyto
prevent
the application from attempting to write to the repository. The
repository
and work you have saved to the repository are safe. If your workspace
contains unsaved work, you may use the following procedure to savethis
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Recursive Deserialization attempted, Internal Error!
Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
Error #: [301, 231]
Detected at: qqsp_DeSerializeDriver::Run at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in anew
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comHi Thomas,
Thanks for your email but I think it will be interesting for Brenda not me.
It is exactly what I have expected from Forte Support: detailed information
about bugs and workarounds. But what I cannot understand is that #53398 was
released without any information about possible reasons for this problem or
suggested workarounds. My first reaction after reading this bugreport was to
open a new case at CallCenter to get more information about it. Please
release more information with your bug reports !
Regards
Zenon Adamek
Information Services
Senior Programmer Analyst
Tel: 905 712-1084 ext. 3628
Fax: 905 712-6709
E-mail: zadamekpurolator.com
-----Original Message-----
From: Thomas Degen - Sun Germany Forte Tools - Bonn
[SMTP:thomas.degensun.com]
Sent: Wednesday, September 27, 2000 9:49 AM
To: Adamek, Zenon
Cc: 'Brenda Cumming'; Forte-userslists.xpedior.com
Subject: RE: (forte-users) 3J=>3M new to me error
Hi Zenon,
bug #53398 is not a bug which will likely get fixed, it's an informational
bugreport.
You might see an errorstack like Brenda has reported (and described in
informational
bugreport #53398) probably when you are doing something illegal that is
possible
via Forte Tool but Forte is not trapping it for performance reasons. Hence
you will see
the error coming from your illegal operation only at runtime, probably
only
while
running interpreted in the Forte IDE, but in worst case it might be even a
segmentation
violation.
Technotes 12448 'Sudden client partition crashes at runtime' and 11225
'Don't reparent
mapped Widgets between UserWindows at runtime' explain this matter . See
attached.
But maybe Brenda is much more experiencing a problem as described by Forte
Technote 11398 'Read Only Workspace Errors using ListViews or ActiveX
control'
that might get easily resolved via setting of FORTE_YIELD_THROTTLE=0.
Good Luck and Best Regards !
BTW: I've logged bug #53398, so I've felt responsible to explain its real
background.
Thomas
Thomas Degen
Sun Microsystems - Forte Tools
Forte CTE & Sustaining Group
Technical Support Germany
tel.:+49.228/91499-50
MailTo:thomas.degensun.com
Technote 11398 Read Only Workspace Errors using ListViews or ActiveX
control
SCENARIO:
Getting some unusual interpreter errors that result in an error stating
that
the workspace has been set to read only. Please see Enclosures for the
two
most common error stacks that have been encountered. The abbreviated
versions of the errors are:
- Can't read record (record size = -1)
- Id in index does not match id in record header in data file
- Recursive deserialization attempted.
- Unknown Mark type in deserialization
- Could not read record (64,74615) from repository data file.
Header
is corrupt.
These errors can be happening in either the development environment when
running from one of the development workshops, or with the deployed
application.
The bug outlined in this Technote may be the culprit if the errors above
are
seen when running a client on Windows NT or Motif and the user interface
incorporates ActiveX controls or ListView/TreeView widgets.
CAUSE:
Basically what is happening is that in rare circumstances Forte may invoke
a
nested copy of the interpreter while the first interpreter has yielded.
This
is not a problem in and of itself, but in the case where the original
interpreter was in the middle of a repository fetch when it yielded, and
the second interpreter needs to fetch code as well, we will get one of the
errors listed above, depending on the exact timing. The reason for the
errors is that the repository code at this level is thread-safe but not
re-entrant. It is protected by a mutex that is already owned by the
current task. Which, given the scenario outlined here, where the two
interpreters are running inside of the same task, results in the nested
interpreter being allowed to change data out from under the first.
While for every fetch one or more calls to WindowSystem.Yield will be made
(this is there to prevent the semblance of system lock-up on Win 3.1,
where
Yield is the only way other applications can be allowed to run), there is
a parameter which controls how often to actually yield, which by default
is
set to one out of every 100 calls. This is the reason the problem is
intermittent--you need a yield to occur during a repository fetch
which starts another interpreter which also needs to fetch code from
disk.
The reason this has only surfaced recently is that the nested interpreter
scenario can only happen in 2 cases that we know of:
- ActiveX controls which respond to events/Windows messages
- Outline fields/ListViews with column(s) mapped to virtual
attributes
In all other normal cases, the yield can process the message (typically a
paint message) without starting another interpreter, so regardless of
whether
the first interpreter yielded during a repository operation or not, there
is
no conflict.
SOLUTION:
The workaround is to prevent yields altogether by setting the
FORTE_YIELD_THROTTLE environment variable equal to 0 in the client's
environment. This should have no detrimental effects since the yield code
is in place solely for Windows 3.1x clients.
ERROR STACK 1
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to
prevent the application from attempting to write to the repository. The
repository and work you have saved to the repository are safe. If your
workspace
contains unsaved work, you may use the following procedure to save this
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import
the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::GetObjectById
Last TOOL statement: method EFWindowController.EFEventLoop
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
The remainder of the Error Manager stack is:
SYSTEM ERROR: Internal Error attempting to deserialize element (64,67470)
(fetch
bitmask is 0x20). Your workspace is now read-only to prevent the
application
from attempting to write to the repository. The repository and work you
have
saved to the repository are safe. If your workspace contains unsaved work,
you
may use the following procedure to save this work. First, export the
changed
components. Then, shut down and restart this application and reopen this
workspace in read-write mode. Finally, import the changed components and
save
your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Last TOOL statement: method EFTabManagerNew.EFNoteBookHandler
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
SYSTEM ERROR: Unknown Mark type in deserialization.
Class: qqsp_ImplementationException
Error #: [1101, 34]
Detected at: qqrp_DeSerializeObject::ProcessHdr
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
ERROR STACK 2
SYSTEM ERROR: A serious error has occurred in Repository
(c:\PROGRA~1\CSSPTEST\conplu0). Corrective action may be necessary.
Notify
your repository administrator.
Class: qqsp_ImplementationException
Error #: [1101, 198]
Detected at: qqrp_Repository::Fetch
Last TOOL statement: method
SalesDevelopment_NWC.DEVNotifyofTabSetCurrent
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
SYSTEM ERROR: Could not read record (64,74615) from repository data file.
Header is corrupt.
Class: qqsp_ImplementationException
Error #: [1106, 612]
Detected at: qqbt_BtreeAccess::FetchDataFileRecord
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
Technote 11225 Don't reparent mapped Widgets between UserWindows at
runtime
It is sometimes tempting to unparent a widget from one UserWindow and
reparent
it into another at runtime. However, this can cause crashes if the widget
(or
its decendants) are "mapped" to data. Here's why...
Suppose you have two UserWindows, UW1 and UW2. UW1 contains a DataField
(DF1)
which is mapped to a TextData. UW2 contains a RadioList (RL2) which is
mapped to
a scalar Integer. At compile time, every mapped attribute is internally
assigned
a "Map ID" (a small integer) which is used to tie the Widget to its
corresponding attribute. These Map IDs are used by the Widget to look up a
pointer to their data in a "Map" which is maintained by the UserWindow.
Each
UserWindow is assumed be to independent of the others, so there is nothing
wrong
with Widgets in different UserWindows being assigned the same Map IDs.
In
this
case, let's assume that DF1 and RL2 both got assigned the same Map ID of
3. No
problem so far, since each lives in a separate UserWindow with a separate
map.
Now suppose at runtime the application "detaches" or unparents DF1 from
its
UserWindow and reparents it somewhere into UW2. When it comes time for DF1
to
paint itself the Display System it must ask the Runtime System for the
value of
DF1's mapped attribute. To do that it says "give me the value of the
TextData
for DF1. You'll find it in the Map for this UserWindow (UW1), and its Map
ID is
3". When the runtime system goes to do this it expects to find a TextData
in
this "slot" of the map, but instead it picks up the integer which is
mapped to
RL2. At best this leads to bad data being returned; more likely you get a
segfault and a crash.
If DF1 was not a mapped attribute (say, a Rectangle) there would be no
problem
because there is no data mapped to a Rectangle. If instead of moving DF1
you
created a brand new DataField on the fly there would be no problem,
because the
dynamic DataField would not have any Map ID and so couldn't conflict with
any
IDs in UW2.
So how do you solve this problem? This is exactly what Nested Windows are
all
about. While you can't move DF1 into the middle of UW2, you can nest
UW1.
This
works because UW1 brings its map with it, and when you access DF1 it knows
to
look up its value in UW1's map.
UserWindows are intended to be the "unit of compilabilty" that can be
nested
inside other UserWindows. It is dangerous to "transplant" anything from
inside
one UserWindow into another at runtime.
(Note that you can't avoid this problem by cloning DF1 because the MapID
gets
copied along with it, and the clone will fail in the same way.)
Further details explained in related technote 12448 'Sudden client
partition
crashes at runtime.'
Technote 12448 Sudden client partition crashes at runtime
Scenario : You have two UserWindows, A and B. When Window A starts up, it
instantiates an instance of B and reparents some component of B into A's
window
hierarchy.
This is not allowed and almost always leads to an error at best or at
worse a
segmentation fault.
Here's why :
When you compile a UserWindow in Forte, each "mapped attribute" (whether a
form
element or menu element) is assigned an internal ID which represents an
offset into
that UserWindow's table of mapped attributes. This offset is only valid
in the
context of the UserWindow in which it was compiled. If you detach a
FieldWidget or
MenuWidget from one compiled Window ("tmpMenu" for example) and then
parent
into another compiled window ("tmpWindow") the internal ID comes with it.
When Forte tries to make use of that copied widget it uses the ID as an
offset
into tmpWindow's table of mapped attributes. But that copied offset is
meaningless in the context of tmpWindow's table, so you get some kind off
error.
In this case it found that the data type of the variable in the slot
wasn't
what
was expected. But you might even index off the end of the table and get a
segmentation fault.
There is nothing to prevent you from dynamically creating menu items and
adding
them to a window at runtime; that will work fine. Although of course you
can't
access them via mapped attributes, since those can only be created at
compile time.
But you are not allowed to reparent a widget from one compiled UserWindow
into
the hierarchy of another.
More information may be found in technote 11225 'Don't reparent mapped
Widgets
between UserWindows at runtime'.
Possible errorstacks seen at runtime instead of a complete crash or
segmentation
violation while you are illegally reparenting a widget or menuitem between
windows
at runtime:
Map::SetSubjectData: Invalid conversion from map type 0 to subject type 22
SYSTEM ERROR: Bad parameter at location 3 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 3
Error Time: Wed Aug 09 13:03:57
Exception occurred (locally) on partition "testproject_CL0_Client",
(partitionId = D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd,
taskId =
[D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd.68]) in application
"FTLaunch_cl0", pid 672 on node ONEWAY in environment Audi3M2Env.
At 13:14 26.09.00 -0400, Adamek, Zenon wrote:
Hi,
It is the unfixed defect 53398. Please contact Forte support.
Zenon
-----Original Message-----
From: Brenda Cumming [SMTP:brenda_cummingtranscanada.com]
Sent: Tuesday, September 26, 2000 1:15 PM
To: Forte User group
Subject: (forte-users) 3J=>3M new to me error
Hi,
We are in the process of going from 3J1 to 3.0.M.2, and I am getting
this error that I am unfamiliar with on a GUI that works fine in 3J.
It
does not happen all the time, and I have been unable to establish the
pattern that kicks it off. Has anyone seen this before?
PS- this error is not occurring in the deployed (non-compiled) app,but
when I am running locally from my workspace.
SYSTEM ERROR: Bad parameter at location 6 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 6
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2,
taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Can't find scope 20070 for a class.
Class: qqsp_Exception
Error #: [201, 11]
Detected at: qqlo_ClassTableLoadScope at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to prevent the application from attempting to write to the repository.
The repository and work you have saved to the repository are safe. If
your
workspace contains unsaved work, you may use the following procedure
to save this work. First, export the changed components. Then, shut down and
restart this application and reopen this workspace in read-write mode.
Finally, import the changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::IsDistributed
Last TOOL statement: method PPMeasWin.
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Internal Error attempting to deserialize element
(64,120684) (fetch bitmask is 0x20). Your workspace is now read-onlyto
prevent
the application from attempting to write to the repository. The
repository
and work you have saved to the repository are safe. If your workspace
contains unsaved work, you may use the following procedure to savethis
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Recursive Deserialization attempted, Internal Error!
Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
Error #: [301, 231]
Detected at: qqsp_DeSerializeDriver::Run at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in anew
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
What is difference between 32 bit and 64 bit sql server memory management
What is difference between 32 bit and 64 bit sql server memory management
Thanks
ShashikalaThis is the basic difference...check if helps:
A 32-bit CPU running 32-bit software (also known as the x86 platform) is so named because it is based on an architecture that can manipulate values that are up to 32 bits in length. This means that a 32-bit memory pointer can store a value between 0 and
4,294,967,295 to reference a memory address. This equates to a maximum addressable space of 4GB on 32-bit platforms
On the other hand 64-bit limit of 18,446,744,073,709,551,616, this number is so large that in memory/storage terminology it equates to 16 exabytes. You don’t come across that term very often, so to help understand the scale, here is the value converted to
more commonly used measurements: 16 exabytes = 16,777,216 petabytes (16 million PB)➤ 17,179,869,184 terabytes (17 billion TB)➤ 17,592,186,044,416 gigabytes (17 trillion GB)➤
As you can see, it is significantly larger than the 4GB virtual address space usable in 32-bit systems; it’s so large in fact that any hardware capable of using it all is sadly restricted to the realm of science fiction. Because of this, processor manufacturers
decided to only implement a 44-bit address bus, which provides a virtual address space on 64-bit systems of 16TB. This was regarded as being more than enough address space for the foreseeable future and logically it’s split into an 8TB range for user mode
and 8TB for kernel mode. Each 64-bit process running on an x64 platform will be able to address up to 8TB of VAS.
Please click the Mark as answer button and vote as helpful if this reply solves your problem -
Blue Screen of Death - Memory Management
I have gotten the blue screen of death twice now. The screen went by really fast but I think it said something about memory, like memory management. I copied the problem details:
Problem signature:
Problem Event Name: BlueScreen
OS Version: 6.1.7601.2.1.0.768.3
Locale ID: 4105
Additional information about the problem:
BCCode: 1a
BCP1: 0000000000041790
BCP2: FFFFFA80022B8DF0
BCP3: 000000000000FFFF
BCP4: 0000000000000000
OS Version: 6_1_7601
Service Pack: 1_0
Product: 768_1
Files that help describe the problem:
C:\Windows\Minidump\071314-34335-01.dmp
C:\Users\Tiffany Jiang\AppData\Local\Temp\WER-53804-0.sysdata.xml
Both times happened randomly and about 2 weeks apart, and the laptop (Toshiba Satellite; it was bought brand new about only 3 weeks ago) still works fine after it restarts, but I don't want it to keep happening. I also don't know what the problem is. I used my previous Windows 7 laptop (HP pavillion g6) the same way for 3 years and it never blue screened even once. I tried going to the Toshiba support website to see if I need to download any new drivers but the website does not seem to be working on my laptop, everytime I go on it it's just lines of letter and numbers.
Help would be much appreciated, thank you!Satellite C55-A5195
Downloads here.
Bug Check 0x19: BAD_POOL_HEADER
Caused By Driver : vsdatant.sys <- True Vector device driver
You have ZoneAlarm on board? If so, uninstall it and see what happens.
==================================================
Dump File : 071314-34335-01.dmp
Crash Time : 7/15/2014 9:58:18 AM
Bug Check String : MEMORY_MANAGEMENT
Bug Check Code : 0x0000001a
Parameter 1 : 00000000`00041790
Parameter 2 : fffffa80`022b8df0
Parameter 3 : 00000000`0000ffff
Parameter 4 : 00000000`00000000
Caused By Driver : ntoskrnl.exe
Caused By Address : ntoskrnl.exe+75bc0
File Description :
Product Name :
Company :
File Version :
Processor : x64
Computer Name :
Full Path : C:\Test\071314-34335-01.dmp
Processors Count : 4
Major Version : 15
Minor Version : 7601
==================================================
==================================================
Dump File : 070514-42837-01.dmp
Crash Time : 7/15/2014 9:58:18 AM
Bug Check String : BAD_POOL_HEADER
Bug Check Code : 0x00000019
Parameter 1 : 00000000`00000020
Parameter 2 : fffffa80`0b390140
Parameter 3 : fffffa80`0b390160
Parameter 4 : 00000000`04020008
Caused By Driver : vsdatant.sys
Caused By Address : vsdatant.sys+47054
File Description :
Product Name :
Company :
File Version :
Processor : x64
Computer Name :
Full Path : C:\Test\070514-42837-01.dmp
Processors Count : 4
Major Version : 15
Minor Version : 7601
==================================================
-Jerry -
RE: (forte-users) Reporting tools/components for ForteApplications?
Hi Robert,
A good place to start when it comes to reporting is Forte Consulting. They
have developed a tool called ReportKit, which is ActiveX integration with
Seagate Software's Crystal Reports tool. Crystal is not really a three-tier
tool (although, your Forte Consultant can probably set it up to mimic a
three-tier tool), but it is a quick, easy way to get quality reports from
your existing Forte applications. If you're interested, give your Forte
Sales Rep (or, better still, your Forte Regional Consulting Director) a
call. They can discuss pricing and scheduling. I've done several
integration projects with Crystal, and I highly recommend ReportKit for
small- to medium-sized reporting requirements. As for costs, I don't recall
how much CrystalReports runs, but I think there are developer licenses and
runtime licenses.
FYI, the actual integration of ReportKit is pretty quick. The more
time-consuming piece of any report tool integration is the design and
implementation of the reports to be used.
I hope this helps.
-Katie
Katie Tierney
Quality Management Analyst
Akili Systems Group
601 Jefferson, Suite 3975
Houston, Texas 77002
Office: (713) 655-1400
Cell: (409) 255-1643
"The bitterness of poor quality remains long after the sweetness of low
price is forgotten" --Larry Anderson
-----Original Message-----
From: Robert Brooke-N502365 [mailto:Robert.Brookeca.michelin.com]
Sent: Monday, February 14, 2000 8:17 AM
To: kamranaminyahoo.com
Subject: (forte-users) Reporting tools/components for Forte
Applications?
Hi all,
We are looking for what is currently in the marketplace to enhance the
reporting
capabilities of Forte. Ideally, we are looking for component libraries that
we
could import into our repository. Do these exist?
Currently, I have found six reporting tools that are out there. The
tools
are Actuate, Crystal Reports, Report Workshop from Indus Consultancy
Services, Brio Technologies (SQR) VisualBRIO, Visual CyberQuery from
Cyberscience Corp., and Beacon from Brahma Software Solutions FORTify
Components. Are there any others for Forte?
If anyone is currently using one of these Reporting Tools for Forte or
any
others, could you give me any indications as to the costs, training, type
of
application using the Reporting tool, would you recommend using the
product
again, does it use wrappering or API, or is it a component based tool, and
any
other relevant information on the product?
Thanks,
Robert Brooke
Application Developer
Michelin North America (Canada) Inc. CA0/CA1
PO Box 399
New Glasgow, Nova Scotia
B2H-3E6
Phone: (902) 753-1977
Fax: (902) 396-2180
Note: We are currently developing in Forte 3.0.L.2. However, we would
like
to select a reporting tool/component within the next month. We are in the
initial phases of our next project, an application to be developed
in-house.
Probably will have two databases, one for real-time data and another one
for
archived data. Probably will need reporting functionality and capabilities
for
both real-time data and archived data.
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.
This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.
The E-Mail System is to be used for business purposes only.
www.mimesweeper.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comAt 09:33 AM 4/20/01, Rottier, Pascal wrote:
Forte 4GL is:
1) A language, TOOL (Compare to Java)
2) An IDE (Compare to e.g. JBuilder or FJCE)
3) A collaborative development environment, with central repository (Compare
to ????)
4) A distributed application server / object request broker (Compare to J2EE
servers and/or CORBA)Let's not forget WebEnterprise, Express, and especially Fusion.
I think, SUN is not al all interested in TOOL.If TOOL were just a language and had no market yet, you are probably
right. But, not only is TOOL the key to the Forte environment, but it has
an existing and profitable market. Sun still sells FORTRAN, after all, and
continues to put money into ADE development for all its language
products. The real kicker, though, is that I think iPlanet is very clear
that Fusion, now iIS, is a very key product for them. There may be those
who wish it were written in Java and who might lobby for doing a Java
version, but it was clear at the conference that the iPlanet management
recognize that Java just isn't up to the task at this point. It isn't as
if all the iPlanet tools are actually written in Java, after all.
They will only support them for as long as they need.Or, more likely, for as long as they make money.
Now, in response to Microsofts .NET stratagy. We have yet to see how
succesfull this will be, but I expect Microsoft to push this down the
throats of developers and companies quite succesfully.Like they did DCOM?
=========================================================================
Thomas Mercer-Hursh, Ph.D email: [email protected]
Computing Integrity, Inc. sales: 510-233-9329
550 Casey Drive - Cypress Point support: 510-233-9327
Point Richmond, CA 94801-3751 fax: 510-233-6950 -
Re: (forte-users) Delays in data transfer..server-to-client
I would try using DOM (distributed object manager) traces. trc:do:20 will
give you information on each messages sent from and received by the
partition. Levels are 1, 2, 5, 7, and 8, and trc:do:*:8 is very
verbose. trc:do:20:1 may tell you what you want to know. trc:do:1:1 will
give you a basic 1-line-per DOM event trace that may also be all you need.
Communications manager traces will tell you about network and socket-level
activity, but not about the sizes of the messages themselves. In addition,
the operating system makes decisions about physical packet size and
send/receive timing, so CM activities only generally map to actual network
activity.
-tdc
iPlanet Integration Server Engineering
At 09:24 AM 5/1/01 -0700, you wrote:
All,
We are experiencing delays in object transfer between server and client. The
delays are longer with large objects (a single object with an array of objects
that reflect the rows returned in a database) than small (ie: 10 rows vs 400).
Does anyone have any (actual) experience using the various Forte' flags in
order
to show the actual size of the object/packets being passed between the server
and client?
We are using input/output between client and server, input on all the SO's
within a partition. Response on the server side is good, roughly 6 seconds or
so. The round trip fare however from the time the client makes the SO call to
the time that it completes is in the 25-30 second range, leaving roughly 20-25
seconds unaccounted for. I have brought in the network guys who are
requesting
the data size and packet information. I did not see what I am looking for
using
the trc:cm:*:4 and trc:cm:*:8 flags. I will be trying the trc:cm:*:10
flag, but
Forte' indicates that this flag is very verbose, the systems group hates
it when
I use up all of THEIR disk space!
Any ideas would be appreciated as always.Jeff,
If the object you are passing does not require changes made to it in the
server partition to be returned, pass the object as copy input (pass by
value not reference). If it is necessary to pass the object as input, try
to pass only the attributes that are required to the remote partition
instead of the whole object.
Input/Output is normaly used with scalar variables. When a scalar is passed
to a remote partition, if the value is changed in that partition, the value
is not returned to the calling partition unless Input/Output is used.
Input/Output should not be used for object type parameters, if you need to
pass a reference, use Input only. If you can pass by value, use Copy Input.
You will notice a huge difference in performance changing from Input to Copy
input when passing large objects.
Hope this helps,
Travis Foote
Fortedeveloper.com Inc.
----- Original Message -----
From: "Jeff Bennett" <[email protected]>
To: <[email protected]>
Sent: Tuesday, May 01, 2001 9:24 AM
Subject: (forte-users) Delays in data transfer.. server-to-client
>
All,
We are experiencing delays in object transfer between server and client.The
delays are longer with large objects (a single object with an array ofobjects
that reflect the rows returned in a database) than small (ie: 10 rows vs400).
>
Does anyone have any (actual) experience using the various Forte' flags inorder
to show the actual size of the object/packets being passed between theserver
and client?
We are using input/output between client and server, input on all the SO's
within a partition. Response on the server side is good, roughly 6seconds or
so. The round trip fare however from the time the client makes the SOcall to
the time that it completes is in the 25-30 second range, leaving roughly20-25
seconds unaccounted for. I have brought in the network guys who arerequesting
the data size and packet information. I did not see what I am looking forusing
the trc:cm:*:4 and trc:cm:*:8 flags. I will be trying the trc:cm:*:10flag, but
Forte' indicates that this flag is very verbose, the systems group hatesit when
I use up all of THEIR disk space!
Any ideas would be appreciated as always.
-jeff
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected] -
Re: (forte-users) Accessing Technote 10398
Ketie,
let's see, I have been using FORTE since November of
1994. since the beginning those flags have been common
knowledge within the FORTE community and widely
disseminated.
the FORTE flags have been invaluable to me and HAVE
NEVER caused any downtime. sure, there are a few
wildcards in there that can cause trouble, but to
throw out the baby with the bathwater is ridiculous.
what would life be without trc:lo:25? to trace
exceptions.
or trc:os:1:1 and trc:os:5:5 to tune memory
consumption?
Should i have to call a consultant or FORTE tech
support to do the deep dive on exceptions or tune my
applications? I think not.
Overreaction? No.
Mark.
--- Katie Tierney <katiethetierneys.com> wrote:
I think y'all are overreacting. There are log flags
that are detailed in
Technote 10398 that can cause serious implications
if used improperly. I
think Forte/Sun just wants to make sure that people
don't make mistakes that
cost them valuable time.
As a Forte Consultant for many years, I have seen a
good number of people
misuse information that was not completely
understood. In some cases, this
caused excessive downtime for production
applications. The only time I ever
saw Technote 10398 being provided to a customer was
when they were utilizing
Forte Consulting, or when a Technical Support
Engineer was heavily involved.
I was extremely surprised to learn that it was
available to non-employees via
the website - that sounds as if someone may have
inadvertantly marked it as
customer-viewable (incorrectly, obviously) in Sun's
internal systems.
Again, I think you're overreacting. I am sure that
this isn't a case of Sun
thinking anyone is "stupid." It's a matter of
providing the support that
people need to properly utilize the tools available.
-Katie
mark joyce wrote:
read: Sometimes, the technotes are markedunviewable
to customers because they might need further
explanation. Let me know if you need to log acase.
in other words, you are TOO STUPID to use FORTElogger
flags, although they have been widely distributedand
used for years by FORTE users.
i can't believe it either. i don't know what iwould
have done for the last 5 years without using theFORTE
flags. such a wealth of good output!
what an excuse! "they might need furtherexplanation"
.. if i had to log every problem with FORTE,instead
of resolving them myself through the information
obtained by using flags, i would have lost my joba
long time ago.
mark.
--- Jeff Bennett <jeff_bennettsehamerica.com>wrote:
I thought it might be prudent to share with youthe
response I received from Sun
regarding the inability to access technote 10398
(Forté logger flags). I was
able to access it 3+ weeks ago, and fortunatelykept
a hard-copy. But, how are
we supposed to do our job effectively and
expediently if we do not have
(complete) access to this resource?
I thought the technotes were completely open tothe
Forté development
community.... wrong.
-jeff
---------------------- Forwarded by JeffBennett/SEH
on 09/11/2000 09:02 AM
Forte Support <supportforte.com> on 09/08/2000
10:05:17 AM
To: Jeff Bennett/SEHsehamerica.com
cc:
Subject: Re: Accessing Technote 10398
Fax to:
Hello Jeff,
Were you at one point able to access thistechnote?
You know why -- it's
because this technote is marked for employeeviewing
only and not available
for customer viewing. If you need further
assistance or need to look at
this technote, what you would need to do is loga
call with us and then a
tech support specialist will give you a callback.
Sometimes, the
technotes are marked unviewable to customersbecause
they might need
further explanation. Let me know if you need tolog
a case.
Thanks!
At 09:57 AM 9/8/00 -0700, you wrote:
I am no longer able to access technote 10398
(forte
logger flags)... why?
-jeff~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Sun® microsystems
Jeannie Lee
Phone: (510) 451-5400
Fax (510) 869-2010
Email: jeannie.leesun.com
Forte Tools Response Coordinator
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com
http://mail.yahoo.com/
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. Tounsubscribe, send in a new
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
http://mail.yahoo.com/Ketie,
let's see, I have been using FORTE since November of
1994. since the beginning those flags have been common
knowledge within the FORTE community and widely
disseminated.
the FORTE flags have been invaluable to me and HAVE
NEVER caused any downtime. sure, there are a few
wildcards in there that can cause trouble, but to
throw out the baby with the bathwater is ridiculous.
what would life be without trc:lo:25? to trace
exceptions.
or trc:os:1:1 and trc:os:5:5 to tune memory
consumption?
Should i have to call a consultant or FORTE tech
support to do the deep dive on exceptions or tune my
applications? I think not.
Overreaction? No.
Mark.
--- Katie Tierney <katiethetierneys.com> wrote:
I think y'all are overreacting. There are log flags
that are detailed in
Technote 10398 that can cause serious implications
if used improperly. I
think Forte/Sun just wants to make sure that people
don't make mistakes that
cost them valuable time.
As a Forte Consultant for many years, I have seen a
good number of people
misuse information that was not completely
understood. In some cases, this
caused excessive downtime for production
applications. The only time I ever
saw Technote 10398 being provided to a customer was
when they were utilizing
Forte Consulting, or when a Technical Support
Engineer was heavily involved.
I was extremely surprised to learn that it was
available to non-employees via
the website - that sounds as if someone may have
inadvertantly marked it as
customer-viewable (incorrectly, obviously) in Sun's
internal systems.
Again, I think you're overreacting. I am sure that
this isn't a case of Sun
thinking anyone is "stupid." It's a matter of
providing the support that
people need to properly utilize the tools available.
-Katie
mark joyce wrote:
read: Sometimes, the technotes are markedunviewable
to customers because they might need further
explanation. Let me know if you need to log acase.
in other words, you are TOO STUPID to use FORTElogger
flags, although they have been widely distributedand
used for years by FORTE users.
i can't believe it either. i don't know what iwould
have done for the last 5 years without using theFORTE
flags. such a wealth of good output!
what an excuse! "they might need furtherexplanation"
.. if i had to log every problem with FORTE,instead
of resolving them myself through the information
obtained by using flags, i would have lost my joba
long time ago.
mark.
--- Jeff Bennett <jeff_bennettsehamerica.com>wrote:
I thought it might be prudent to share with youthe
response I received from Sun
regarding the inability to access technote 10398
(Forté logger flags). I was
able to access it 3+ weeks ago, and fortunatelykept
a hard-copy. But, how are
we supposed to do our job effectively and
expediently if we do not have
(complete) access to this resource?
I thought the technotes were completely open tothe
Forté development
community.... wrong.
-jeff
---------------------- Forwarded by JeffBennett/SEH
on 09/11/2000 09:02 AM
Forte Support <supportforte.com> on 09/08/2000
10:05:17 AM
To: Jeff Bennett/SEHsehamerica.com
cc:
Subject: Re: Accessing Technote 10398
Fax to:
Hello Jeff,
Were you at one point able to access thistechnote?
You know why -- it's
because this technote is marked for employeeviewing
only and not available
for customer viewing. If you need further
assistance or need to look at
this technote, what you would need to do is loga
call with us and then a
tech support specialist will give you a callback.
Sometimes, the
technotes are marked unviewable to customersbecause
they might need
further explanation. Let me know if you need tolog
a case.
Thanks!
At 09:57 AM 9/8/00 -0700, you wrote:
I am no longer able to access technote 10398
(forte
logger flags)... why?
-jeff~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Sun® microsystems
Jeannie Lee
Phone: (510) 451-5400
Fax (510) 869-2010
Email: jeannie.leesun.com
Forte Tools Response Coordinator
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com
http://mail.yahoo.com/
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. Tounsubscribe, send in a new
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
http://mail.yahoo.com/
Maybe you are looking for
-
Photon plus not working after upgrading to yosemite from mavericks
I upgraded to yosemite. Now my photn plus is not working. Please solve my problem.
-
RFC o Proxy PI 7.1.1
Hi all, in previous versions on SAP PI SAP recommends the use of PROXYS than RFC, but what about PI 7.1.1 with AAE and the PI protocol (XI3.0) was added to SOAP Adapter? How can we decided if choose Proxys than RFC adapter since both run in the AAE a
-
Hi there, I think i have a very simple question, but i can't solve it and i didn't find the solution anywere else on SDN. What i want to do is this. When a user filled in a IF (online scenario) and goes to the "check" step i would like to display the
-
Microsoft Visual C++ Runtime Error in iTunes
The last few days I've tried to open iTunes and about 3-5 seconds after it opens I get an error report saying: "Software Application has encountered a problem and needs to close." I click "Don't Send." Immediatley afterward I get a error message sayi
-
IPhone 4 can't play in the car after upgrading to 6.0.1
Before the upgrade, I was able to play my iTunes music through my JVC Arsenal car radio but now I get a "no file" when I plug in my iPhone. I can plug in my iPad (also with 6.0.1) and it plays fine, but not my phone. I have reset the car stereo and