Citrix activConsole.exe Memory errors

SQL

Member
I am sure I have seen this on here before, so appologies for the re-post. We just started an agressive CRP and users are getting memory errors when running different JDE apps at different times. We have about 30 users on each Citrix server, and each server has 2 Gigs of memory and a 4 gig swap file. Any ideas on how to resolve this? Thanks in advance.
 
And the following did not fix them:

Memory issues like yours are usually related to :

a) User overrides. Try purging xx7333.F98950 tables. These tables
contain user-defined grid formats, unfortunately users tend to love
this very unstable feature!
b) IE release. Check that your Citrix servers have IE 5.5 SP2 or higher.
c) Printers drivers are a nightmare too, some of them may even take
your server down to 'blue screen'.
d) Try using W environments. Some installations have reported enhanced
stability after using W environments on Citrix.
 
John,

Are all users connecting to the Citrix server with their own ID(i.e. not
anonymous or common profile). I have seen in the past that when the
application is published with a common connection profile, that the system
tends to muck up.


Andy

_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*.
http://join.msn.com/?page=features/featuredemail



CNC Consultant
AS/400, SQL 7/2000, TSE and Citrix
 
John,

We are experience memory violations mainly in the Sales Order program P4210. Randomly we get memory violations and related "Invalid overwrite or read" errors.
Have you contacted JDE support yet? We have, we've been trying to resolve these issues for over a year now. We were told that no other customers were experiencing our problem. I would be very interested in talking to you
Andy,
[email protected]
 
Have you looked to see if you have any User Overrides for this application
P4210? Joy
 
Andy :

That's not true! I know dozens of customer having memory violations on
P4210.
Most of it are due to :

IE incompatibility. Check that your Internet Explorer is compliant to JDE
requirements.
Old SP level. Update your SP level.
F98950 corrupted records.
Insufficient RAM or pagefile.
Buggy localizations.

Regards, Sebastian

----------------------------------------------------------------------------
Strictly Personal and Confidential.
This email may contain confidential and proprietary material for the sole
use of the intended recipient. Any review or distribution by others is
strictly prohibited. If you are not the intended recipient please contact
the sender and delete all copies.Thanks.
.
Este mensaje es confidencial.
Puede contener informacion amparada por el secreto profesional. Si usted ha
recibido este e-mail por error, por favor comuniquenoslo inmediatamente via
e-mail y tenga la amabilidad de eliminarlo de su sistema; no debera copiar
el mensaje ni divulgar su contenido a ninguna persona. Muchas gracias.
----------------------------------------------------------------------------
 
Re: RE: Citrix activConsole.exe Memory errors

We just had a Technology audit by JDE and they checked all those things. We have the latest service pack or SAR they offer and we're at the correct mdac/ IE level. We don't allow users to have overrides yet we still have 5 to 10 memory violations a day where a user entering an order with a customer gets kicked out. It is so frustrating
 
RE: RE: Citrix activConsole.exe Memory errors

Hi :

Are you using any localizations? or just USA?

Sebastian

----------------------------------------------------------------------------
Strictly Personal and Confidential.
This email may contain confidential and proprietary material for the sole
use of the intended recipient. Any review or distribution by others is
strictly prohibited. If you are not the intended recipient please contact
the sender and delete all copies.Thanks.
.
Este mensaje es confidencial.
Puede contener informacion amparada por el secreto profesional. Si usted ha
recibido este e-mail por error, por favor comuniquenoslo inmediatamente via
e-mail y tenga la amabilidad de eliminarlo de su sistema; no debera copiar
el mensaje ni divulgar su contenido a ninguna persona. Muchas gracias.
----------------------------------------------------------------------------
 
Re: RE: Citrix activConsole.exe Memory errors

Hi John

ok - first of all - you had a Technology Audit from the Software company ? Nothing wrong with the fox guarding the chickens....

Now, as for your issue - and everyone elses issue with Citrix / Terminal Server Invalid Overwrite or Read Errors - this should explain why this is happening.

First of all, OneWorld Client was designed from the beginning to be a single-user program - it was not designed to have TAM files being shared (hence why JDE is so scared over users running toolset on the Citrix Servers) - and it was only B732 when the jdecache hierachial caching system came into effect (ie use of cursors, in a similar vein to how databases work). However, a lot of issues have been assosiated with jdecache - and, as usual, the application developers often do not follow the rules that the toolset developers set down. Hence, often you see a lot of "memory leaks" because the application developer forgot to close the cache correctly.

Now, JDE uses memory like any other program, but the JDECache routines are locating memory on the client session and are requesting areas in memory so they can populate it with data etc. The same occurs with any type of JDE Variable.

However, occassionally if a user opens up many copies of the SAME APPLICATION - and if there is sufficient enough of a DELAY, then the application will mistakenly provide the same memory address to two different requesting processes inside the same session.

This happens on ALL client types - FAT or Citrix/TSE - butit is usually far more pronounced an issue with a terminal server under large load - mainly because there is a high enough utilization of memory for the terminal server to provide a higher delay between the memory request and consequent write.

Because almost all memory writes are keyed by application name - this will only happen if the user opens, for example, P4210 twice. It is possible for business functions underneath two different applications to perform the same issue - because business functions are shared between applications - but the key is to try and REDUCE the times that this might occur rather than eliminate it entirely (which would require a full rewrite of Oneworld memory foundation code).

It is my experience that the following helps :

1. Up to date code, which will usually eliminate some bad application coding to do with cache (The most common SARs are centered on cache and memory issues). Updates and Upgrades help - as do some Service Packs - I noted at a recent customer that SP20 significantly reduced the number of issues as opposed to SP19.1

2. Faster Architecture Design - using 2700DDR memory in your architecture would actually help far more than 60ns DIMM memory ! Of course, this is important only at the time that you need to renew your citrix farm. One customer I have replaced 50 Dual Xeon 550 MHz terminal servers with 1GHz PIII processor powered machines - same number - and the number of issues became significantly lower.

3. Map Master Business Functions to the server - this only helps because the Application Server architecture IS designed to be "pseudo" multi-user through its messaging layer - and also significantly less processes running in parallel on a powerful application server helps here. I've never seen this issue on a Unix box or an AS400 ! However, I understand if you do NOT map business functions - since JDE have still yet to come up with the CORRECT mapping set (ie - DEFAULT BSFN APPSVR). I would therefore NOT do this just because it "seems" to help

4. Educate users to NOT run multiple versions of the same application. If a user is still processing an EndDoc() through P4210 - starting up a second version of P4210 to enter another order is NOT going to help the stability - cache memory can easily be shared without the user knowing. This is the most important factor in reducing the error - by educating the user, you'll significantly reduce the number of issues.

Lastly, if a user gets one Invalid Overwrite or Read error - they need to close their SESSION - ie LOG OUT of Citrix and restart, since it is often the case that the error will return if that memory address is allocated again.

Hope this helps !
 
Re: RE: Citrix activConsole.exe Memory errors

Thank you very much for that information.
When we talk of memory errors and Invalid overwrite and read are we talking about the same problem?

I would like to reply to you comments in text:


1. Up to date code, which will usually eliminate some bad application coding to do with cache (The most common SARs are centered on cache and memory issues). Updates and Upgrades help - as do some Service Packs - I noted at a recent customer that SP20 significantly reduced the number of issues as opposed to SP19.1

Andy> We have SP20_J1 and we still have 8 to 10 memory errors a day. Users have entered about 1200 order lines daily.

2. Faster Architecture Design - using 2700DDR memory in your architecture would actually help far more than 60ns DIMM memory ! Of course, this is important only at the time that you need to renew your citrix farm. One customer I have replaced 50 Dual Xeon 550 MHz terminal servers with 1GHz PIII processor powered machines - same number - and the number of issues became significantly lower.

Andy>We have IBM x series dual 1.2GHz PIII, however, I do believe they use Single Data Rate dimms. 2GB per server. From your description of the problem I can see how faster memory could help

3. Map Master Business Functions to the server - this only helps because the Application Server architecture IS designed to be "pseudo" multi-user through its messaging layer - and also significantly less processes running in parallel on a powerful application server helps here. I've never seen this issue on a Unix box or an AS400 ! However, I understand if you do NOT map business functions - since JDE have still yet to come up with the CORRECT mapping set (ie - DEFAULT BSFN APPSVR). I would therefore NOT do this just because it "seems" to help

ANDY> It is so annoying that JDE recommends mapping default BSFN's to the logic server but can not tell you what still needs to be mapped locally. They can generally tell you, but it is trial and error after that. They don't have a unified document to do it, which is why many people probably map BSFN default locally on their terminal servers. We spent two weeks in the beginning of our escalated call mapping default BSFN to the logic server and fixing the fallout of that change. The number of memory errors remained the same.

4. Educate users to NOT run multiple versions of the same application. If a user is still processing an EndDoc() through P4210 - starting up a second version of P4210 to enter another order is NOT going to help the stability - cache memory can easily be shared without the user knowing. This is the most important factor in reducing the error - by educating the user, you'll significantly reduce the number of issues.

Andy> Our users do use the same application multiple times. The are entering fax orders when they get a customer call so they start a new instance of P4210. This is likely do to some orders having 80 to 100 lines so it would be tough for them to close and start over again. We are assured by JDE that we should be able to use their software in the manner that it was intended, like a regular windows program. We really need it to work as it is supposed to.

Lastly, if a user gets one Invalid Overwrite or Read error - they need to close their SESSION - ie LOG OUT of Citrix and restart, since it is often the case that the error will return if that memory address is allocated again.

Andy> thanks, we'll have to verify this with our users, it is a very good point.

Andy> Some other random things.
We have taken a jdeuser.dll from support which will eventually make it into a service pack one off that prevents a user from opening another application while a BSFN is running. For instance, they will no longer be able to open another instance of P4210 while a Find is processing on an earlier one.

Also they have found that they are using an API call in the JDEUSER.dll to allocate memory that is not thread safe. Hopefully reimplementing with an api call that is thread safe will provide us with some relief. I'm keeping my fingers crossed.



Hope this helps !
 
Re: RE: RE: Citrix activConsole.exe Memory errors

We only using english are not using double byte at this time.
 
Re: RE: Citrix activConsole.exe Memory errors

This is and contiues to be a huge problem for what seems like a number of JDE shops. We are applying SP20_N1 tonight and we think the following fixes _may_ improve the memory violation situtation:


SP20_N1
.
1)Before the fix, when the client runs multiple threads,
there was high possibility that threads waited for each
other to release lock resources while the resource was
locked by one thread. After the fix, we prevent deadlock
occurrence in JDECACHE and JDB

.
6) Various threading issues have been found at customer
sites, and from looking at logs it was determined that
many of the crashes and freezes occurred during the
Find and Delete process and while forms were starting
up and closing down. This fix attempts to reduce the
number of threading related issues, by disabling all
open applications, and not allowing new applications
to start, while a Find or Delete is in progress. It
also allows only one form at a time to go through the
destroy process.

.
9) Fixes memory leaks of user handles when opening and
closing forms. Note that after taking the fix, user
must take a new package in order for the fix to work.
This is because once the user runs the app it is
written to FDA specs. The record in FDA spces has to
be generated by OW Windows run-time in order for the
fix to work. This is done only when the app changes,
or if a new package is deployed

.
15) The problem is that when customer selects more columns
from a union than what are allowed, JDB doesn't detect
it and let it go. This causes memory violation later.
The solution is that JDB forces correct number of columns
being used from a union when above situation happens.
 
Re: RE: Citrix activConsole.exe Memory errors

I (and I am sure many others) would be very interested if you could post the results of applying this service pack.

regards
 
Back
Top