壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4933|回复: 14

form异常中断

[复制链接]
发表于 2008/10/14 22:54:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
公司目前所用的版本为11i,主要实施了财务模块,目前遇到两个问题如下:

1、form在业务高峰期老是异常中断,但session没有断,用户不用登录可以继续使用form;

2、报表在业务量较大时经常报错;

请大家知道,表示感谢!

第二个问题截图如下:
当时系统描述:网络连接正常(msn正常,ping 服务器正常),数据库负载较高;

[ 本帖最后由 luckyzb 于 2008-10-15 12:35 编辑 ]
截图.GIF

评分

参与人数 1努力值 +5 收起 理由
纵横四海 + 5 请将问题描述清楚并作截图。

查看全部评分

 楼主| 发表于 2008/10/15 12:36:32 | 显示全部楼层
麻烦大家指导一下,判断一下问题的根源在什么地方
发表于 2008/10/15 12:45:20 | 显示全部楼层
oracle from界面系统对链接的持续性要求非常高,可能是高峰期网络出现丢包的情况,
并且如果你们的情况很多的话,建议你缩短情况日志和输出清理的间隔周期。
 楼主| 发表于 2008/10/16 08:28:50 | 显示全部楼层
顶起来!!!!
 楼主| 发表于 2008/10/16 08:29:59 | 显示全部楼层
这个帖子怎么就没有人气,只有发资料才有人气?
发表于 2008/10/16 11:37:43 | 显示全部楼层
有意思,樓主加油
 楼主| 发表于 2008/10/16 11:55:15 | 显示全部楼层
再顶一下,来点人气!
 楼主| 发表于 2008/10/16 12:37:27 | 显示全部楼层
加油
!!!!!
发表于 2008/10/19 07:55:24 | 显示全部楼层

先给你贡献一篇文档

Applies to: Oracle Applications Technology Stack - Version: 11.5.9 to 11.5.10
Information in this document applies to any platform.

GoalHow To Fix The Forms Timeout Issue In Oracle Applications 11i
The goal of this Document is to find a medium between End Users and proper Server administration. In many cases the Users do not want to ever see a Timeout, but the User do not understand why Timeouts are needed. From a System Administrator point they are required to maintain System Resources and System Stability.

SolutionPlease understand that the ICX Profiles handle the Forms Session. This can be confusing since ICX in the past is known to be associated with Self Service. This is no longer the case since the release of Framework for the ICX Profiles that control the Timeout Functionality.

The Timeout functionality does not work with the Old ICXINDEX.htm, which has been replaced since the release of FND G and 11.5.9. Per the readme's and changes sections of the FND G and 11.5.9 release notes, it states to use the AppsLocalLogin.jsp as the new method of login.

The reason for this is because of the use of Framework. Since the release of Framework ICXINDEX.htm is no longer Q&A Tested against Patches and New Functionality with Tech Stack. There was a Patch released some time ago to prolong 11.5.9, that allowed users to continue using the ICXINDEX.htm until
they could migrate to AppsLocalLogin.jsp. However this patch may no longer work for 11.5.9 customer depending on there current Patch Level. Patch <3764779> (SSO Pre-Req for Application Products - Rollup F).

In addition, Note 306075.1 (How to Change 11i to use AppsLocalLogin.jsp Instead of ICXINDEX.htm) provides further information on AppsLocalLogin.jsp.

ICX: Session Timeout controls the time of inactivity of the session. If set to 30 minutes, then after no activity for 30 minutes you will get the popup window. This is for the Forms Session.

ICXimit Time controls the total time a session can be logged in. If set to 8 hours, then after 8 hours you will get the popup window regardless of what activity is being done. This is for the Forms Session.

ICX:Limit connect is a profile option determines the max number of connection requests a user can make in a single session. If a user sends more requests than the value specified by this profile option in a single session, then the session will expire. This needs to be bumped up to 2000 +, because each time Session Time is checked it adds another ICX connection. This IS NOT DETERMEND BY THE NUMBER OF USER CONNECTIONS. The more ICX checks its self the more ICX connections you are going to see for a user.

Session.timeout is set under the Apache's zone.properties. This should be set to default which is 1800000. Anything higher can result in performance and out of memory errors. Typically session.timeout and ICX:Session Timeout are set to the same value.

FORMS60_TIMEOUT = 5 Check .env for this. This is used to clean up and terminate the Forms Processes. The higher this variable is set, the longer the Forms processes will take to be cleaned up.

Heartbeat = 2 check $OA_HTML/bin/appsweb.cfg and or appsweb_<sid>_<host>.cfg. This is used to send a packet to the Server to indicate it is still active.

The following is an Example from a FRD Trace, that proves how the ICX Profiles are called for the Forms Session.
----------------
SELECT LIMIT_CONNECTS, LIMIT_TIME, FIRST_CONNECT, COUNTER, NVL(DISABLED_FLAG,'N'), LAST_CONNECT, USER_ID, NVL(:B3,RESPONSIBILITY_ID), NVL(:B2,RESPONSIBILITY_APPLICATION_ID) FROM ICX_SESSIONS WHERE SESSION_ID = :B1
END OF STMT
UPDATE ICX_SESSIONS SET LAST_CONNECT = SYSDATE WHERE SESSION_ID = :B1
---------------

SOLUTION
---------
The following are the best practice setup
1. Profile Options:
ICX: Session Timeout = 30
ICX:Limit Time = 12
ICX:Limit connect = 2000

These Profiles control the Forms Session. If a Timeout is caused by a ICX Profile you will be prompted to log back in. Please understand the higher you set the Profile ICX Session Timeout, the more of a performance hit your server will take. If set to high, the Server can randomly crash. It is recommended to
set this profile no higher then One Hour (60). If the Profile is set to One Hour (60 minutes), the Users should never encounter a Timeout unless the PC has been left unattended for a hour. Also by setting this to One Hour, this will allow the Resources being held by that Inactive session to be timed out, so that Active Users can have access to the resources.

2. Apache zone.properties:
session.timeout = 1800000
Under Apache_Top:
$ grep -i session.timeout zone.properties

session.timeout=

Session.timeout is what controls the Self Service Timeout. If this times out, you will not be prompted to log back in and will receive a JSP/WEB type error message.

3. Modify the $FORMS60_WEB_CONFIG_FILE, which points to the appsweb_host_sid.cfg file:

networkRetries=30
heartbeat =2
Under OA_HTML/bin:
$ grep -i heartbeat appsweb.cfg

heartBeat=
networkRetries=

$ grep -i heartbeat appsweb_<SID>_auohs<host>.cfg

heartBeat=
networkRetries=

4. If for 11.5.9 check for the following Patches and make sure they are applied:
Patch  <2999849> Fix for Javascript error on IE with ICX:Session Timeout Window
Patch  <3102240> New Personal Home Page opened when re-establishing ICX session
Patch  <3251742> "ICX Session Timeout and login results in forward to incorrect home page.

5. If using Forms servlets check the following:
Check formservlet.ini in Apache for FORMS60_TIMEOUT=5

To check if using servlets look for the line in jserv.conf file:
#ApJServGroup FormsGroup 1 1 /u02/oracle/visora/iAS/Apache/Jserv/etc/forms.properties
If using servlets this line will be uncommented.

Check also the appsweb.cfg under OA_HTML/bin for line:
; serverURL=/forms/formservlet

If using servlets this line will be uncommented.

$ grep -i forms60_timeout formservlet.ini
FORMS60_TIMEOUT=

6. FORMS60_TIMEOUT = 5 (check SID.env for this or echo$FORMS60_TIMEOUT)
Heartbeat = 2 (check $OA_HTML/bin/appsweb.cfg)
Note: There can be two different errors that affect the FROMS60_TIMEOUT and the heartbeat. If there are Intermittent FRM-92100 type errors it is due to the heartbeat being to high and timing out. So the heartbeat setting will need to be adjusted to suit your needs. If the FORMS60_TIMEOUT is set to a higher value you may see run away f60webmx processes. If there are run away f60webmx or f60webmx processes not terminating, then return the FORMS60_TIMEOUT to the default value of 5 and retest.

7. Bounce Forms Server.

8. Clear Apache cache $OA_HTML/_pages

9. Bounce Apache Server.

Intermittent Errors seen from different Timeouts:
--------------------
Customers often change the heartbeat around for what suits them best. If you see FRM 92100 type errors this would be related to the heartbeat. If you see FRM 92050 or 92102 type errors then the FORMS60_TIMEOUT setting would be related to this type of error. Some Customer may have a long FROMS60_TIMEOUT setting and may get caught by the heartbeat timing them out, so they will
extend the heartbeat. An example: User takes a break that and leaves their Forms Session open, heartbeat see no activity with the f60 process, so times them out and when the user attempts some activity they will see an FRM 92100 type error. Other customer prefer not to see this type of error, so they will extend the heartbeat, but what will happen in this case if the user has no activity by the time the FORMS60_TIMEOUT comes around, it will time them out resulting in a FRM 92050 or 92102 type of error. Regardless if users complain about random FRM 92050 , 92102 and 92100 errors you should be double checking your FORMS60_TIMEOUT and heartbeat settings.

AutoConfig Note:
------------

Make the above changes in AutoConfig, otherwise the next time AutoConfig is run the modifications made will be reset by the running of AutoConfig.

Autoconfig will match up the zone.properties session.timeout to the Profile ICX Seesion Timeout each time Autoconfig is run, if the two variables do not match.

Example:
In the autoconfig log, you can see the Profile ICX_SESSION_TIMEOUT is getting updated when the afwebprf.sh is being run under $OAD_TOP/admin/install/_/afwebprf.sh. The shell plainly shows what the old value of the profile was and that it replaced it with a new value in the output.

This shell calls afwebprf.sql to update the profiles. When looking at the SQL, it sets the Profile to match the value of the session.timeout in the zone.properties file under Apache. This even does the math and converts from milliseconds to minutes.

Now the rule is that the IXC Session Timeout must match the Apache zone.properties session.timeout.

AutoConfig Paramaters
---------------------
oa_var="s_sesstimeout" = session.timeout
oa_var="s_frmNetworkRetries" = networkRetries
oa_var="s_f60webcfg" = $FORMS60_WEB_CONFIG_FILE
oa_var="s_f60time" = $FORMS60_TIMEOUT

Concerning the issue with heartbeat not being in the autoconfig file, this issue is documented in Bug 4211534. The bug says it is ok to manually modify the appsweb_<sid>.cfg file until the fix is available. The Fix will be available in Patch <4489303> :TXK (FND) AUTOCONFIG TEMPLATE ROLLUP PATCH L

Performance Note:
--------------
Timeouts are meant to serve two main functions:

One to maintain the Performance of the Server.

Two minimize security risks. It is a Security Risk if the User leaves the PC unattended for extended period of time, leaving the Applications session open. This allows anyone else to enter false information. Timeout Functionality senses the inactivity while the user is away from the desk and times out, rendering the open window useless.

Timeout functionality maintains the performance on the Server. This goes into JVM Performance which will drain and cause out of memory errors in the Apache Server. At this point the JVM can run out of Memory and "SPILL" into the DB which increase the performance problems.

Customers think the quick fix is to just extend the Timeout Functionality out to many hours latter, but the longer Timeout Functionality is set, the more performance you are taking away from the system Mainly memory and CPU. Space would be a factor depending on activities and log files being written to for
those activities.

The key to the timeout value is finding a happy medium between getting rid of sessions soon enough after people have stopped using the session but not forcing people to re-authenticate too often because they have left their session alone for a 30 or 60 minutes.

Any time Performance becomes a issue on a Server, the Timeout Functionality should be the first thing checked.

Common Database Timeouts seen in Event logs:
-----------------------
ORA-02396 : exceeded max Idle Time, please connect again
Cause: A user has exceeded the maximum time allowed to remain idle.
Action: The user must reconnect to the database

This is a error generated from the Database. In this particular case, it looks like the User that reached MAX IDLE_TIME has to reconnect to unlock the DB.

Need to log into SQLPLUS as the System Manager!!

Now I have a seeded DB, so I can still use Scott as the Username to get my Profile Name.

Once you get the Profile Name, then we can check the IDLE_TIME.

SQL> select profile from sys.dba_users
2 where username = 'SCOTT';

PROFILE
------------------------------
DEFAULT

SQL> select limit from sys.dba_profiles
2 where profile = 'DEFAULT'
3 and resource_name = 'IDLE_TIME';

LIMIT
----------------------------------------
UNLIMITED

When the ORA-02396 error is seen, it is because there is a numeric value returned form the SQL above. By default, the value is "Unlimited". If you do not see Unlimited, then please update the IDLE_TIME is set to Unlimited as given above.

SQL Timeout
--------------
Check the $DB_ORACLE_HOME/network/admin/<CONTEXT>/sqlnet.ora for the SQLNET.EXPIRE_TIME. This parameter determines the time period between successive packets across a connection between client and server. This is basically the equivalent of the Applications Heartbeat.
It is recommend to keep this at the default value of 10 minutes. If for some reason you need to adjust this parameter, keep it under the ICX Session Timeout value. This will allow the Database to clean up inactive DB Sessions.
This is also known as Dead Connection Detection (DCD) for the DB.
发表于 2008/10/19 08:01:06 | 显示全部楼层

给你差问题的时候发现的又一个对你有帮助的文档

Troubleshooting FRM-92100 Issues In Oracle Applications 11i

Troubleshooting FRM-92100 Issues In Oracle Applications 11i

Check the Error Dialog Window and Details button
Client Side Hanging Issues and FRM-92100


Check the Error Dialog Window and Details button

When the Forms client crashes with a Java exception, the user often sees a Forms dialog box
that informs them that an FRM-92100 (or FRM-99999 in 11.0 / 10.7NCA) error has occurred.

The box also includes two buttons, one labeled Details and the other labeled OK:

Always select the Details button to view the Java stack:

Forms does not currently allow the contents of this window to be cut and pasted, so the details
need to be either manually recorded or copied by pressing the Alt and Print Screen keys together.
The latter method allows the image to be manipulated using an application such as MS Paint,
or pasted straight into a Word document for use in further diagnosis.

The Forms Applet does not always catch the Java exceptions and display the Error Dialog Window:

  • In some cases of complete failure, the Java stack is written silently to the Java console
    and Forms hangs.
  • On other occasions, a Java stack is silently written to the console on the failure of a
    specific action, such as screen-printing due to a security exception.  In this case the
    Forms session is still active and the user can continue working - just the action which
    generates the exception fails.

Client Side Hanging Issues and FRM-92100

The first point to understand is that FRM-92100 simply means that the Forms Java Client is unable
to communicate with the Forms Server process

FRM-92100 - Your connection to the Server was interrupted.
This may be the result of a network error, or a failure on the Server.
You will need to re-establish your session.

This is a generic error so it offers very little help for resolving the problem. Therefore, the user
should click the Details button and record the Forms error and Java stack, as described above.

Example Details:

Java Exception:

Java.io.EOFException
at Java.lang.Throwable.<init>(Compiled Code)
at Java.lang.Exception.<init>(Compiled Code)
at Java.io.IOException.<init>(IOException.Java:34)
at Java.io.EOFException.<init>(EOFException.Java:40)
at Java.io.DataInputStream.readUnsignedByte(Compiled Code)
at oracle.forms.engine.Message.readDetails(Compiled Code)
at oracle.forms.engine.Message.readDetails(Compiled Code)
at oracle.forms.net.StreamMessageReader.run(Compiled Code)

2. If using the JInitiator, always enable the Java console window if experiencing error FRM-92100,
     system hangs, or other unexpected errors.
     
      Reference:

The Forms client process may be unable to communicate with the server process for many reasons.

One possible cause could be Bug 1753215 - SESSION HANGS WHEN NETWORK ERROR
This bug is fixed in Forms 6.0.8.15 (patchset 6) and a one-off patch is provided for
Forms 6i patchset 5 environments. The issue causes the FRM-92100 error to be displayed with
HTTPS mode when the forms server process crashes or the network fails.


Possible Causes of Error FRM-92100 and FRM-99999

Some common problems are described below.

a) Connection Never Established

In this case, you will never see the sign-on form appear. Checking the Forms Server log file will either show that no connection was made at all, or that an attempt to create a connection failed. If using the Forms cartridge rather than static HTML, click File -> Tag to check the HTML generated when the applet window first appears, but before the default menu is replaced by the Form menu. If using JInitiator, select View -> Page Source in Netscape, or View -> Source in Internet Explorer.

Examples of possible problems here include:

·         Failure to create the necessary TCP/IP socket because of a firewall or other network problem.

·         HTTPS certificate validation error

·         The Forms Server either not starting at all for some reason, or failing to start both the f60srvm and f60webm processes.

·         Incorrect specification of the server port or server host in the static HTML file or Forms cartridge.

b) Network or Middle tier failure

The Java EOFException means that the network connection between the Java client applet and Forms Server process f60webm was lost unexpectedly. This is likely to mean that either the Forms Server process crashed, or there were network problems, and can usually be identified by Java stack contents as follows:

FRM-99999: A network error occurred, the client will not be able to continue.

Details...                                                                    

Java Exception                                                               
Java.io.EOFException                                                         
at Java.io.DataInputStream.readUnsignedByte(DataInputStream.Java:251)         
at oracle.forms.uiClient.v1_4.engine.Messgage.readDetails(Message.Java)      
at oracle.forms.uiClient.v1_4.engine.Messgage.readDetails(Message.Java)      
at oracle.forms.uiClient.v1_4.net.StreamMessageReader.run(StreamMessageReader

Sometimes in addition you get the ‘connection reset by peer’ message with this Java stack,
and this often indicates a network problem:

java.net.SocketException: Connection reset by peer
.at java.net.SocketInputStream.read(Compiled Code)
.at oracle.forms.net.EncryptedInputStream.fill(Compiled Code)
.at oracle.forms.net.EncryptedInputStream.readl(Compiled Code)
.at java.io.DataInputStream.readUnsignedByte(Compiled Code)

Very occasionally we see the following Java exception following a middle tier failure.  
The NullPointerException in oracle.forms.engine.Runform.onUpdateHandler has occurred
following a middle tier crash, or on one occasion after a jinitiator exception.  
In this specific case, the initial point of failure is probably not in
oracle.forms.engine.Runform.onUpdateHandler.

java.lang.NullPointerException
at oracle.forms.engine.Runform.onUpdateHandler
at oracle.forms.engine.Runform.processMessage
at oracle.forms.engine.Runform.processSet
at oracle.forms.engine.Runform.onMessageReal
at oracle.forms.engine.Runform.onMessage
at oracle.forms.engine.Runform.processEventEnd
at oracle.ewt.lwAWT.LWComponent.redispatchEvent
at oracle.ewt.lwAWT.LWComponent.processEvent
at java.awt.Component.dispatchEventImpl
at java.awt.Container.dispatchEventImpl
at java.awt.Component.dispatchEvent
at java.awt.LightweightDispatcher.retargetMouseEvent
at java.awt.LightweightDispatcher.processMouseEvent
at java.awt.LightweightDispatcher.dispatchEvent
at java.awt.Container.dispatchEventImpl
at java.awt.Window.dispatchEventImpl
at java.awt.Component.dispatchEvent
at java.awt.EventDispatchThread.run

In such cases, the first step is obtain a an FRD log file and  the Forms listener log file
to help identify the point in the code at which the process crashed. The cause could be:

·         A Forms bug.

·         An operating system bug.

·         An issue with an operating system resource such as memory, swap space, disk space, kernel parameters or a quota setting.

·         A Forms Server/Applications installation, setup or permissions problem.

·         A network problem

Forms Java Client Crashed

The Java error Details should provide more details. Possible causes include:

·         A Forms bug

·         A missing or invalid class file (or jar file)

·         A security exception

·         A client out of memory exception

·         Some other Java exception caused by code bug or OS error.

·         A Windows process crash.  This could possibly occur if system memory was low.

a)  Security exception

Make sure the correct certificate is installed for the jar files.

Example stack:

sun.applet.AppletSecurityException: checkgetprintjob
at .........
at sun.applet.Appletsecurityexception
at sun.applet.Appletsecurity.checkPrintJobAccess
at sun.awt.windows.WToolkit.getPrintJob
at oracle.ewt.print.PrinterUtils.print

Such an error usually means the Applications certificate has not been installed correctly,
so the application is not trusted. This will result in a security exception whenever
printing or launching another URL (e.g. Window -> Help). It may also occur at
startup if the Forms Server is on a different machine to the web server.

Try setting ‘network access’ to unrestricted in the jinitiator control panel and see
if that helps if this exception occurs when connecting. An untrusted applet cannot
connect to a machine other than the one form which the applet (i.e.the jar files)
were downloaded.

b) Null Pointer exception or ArrayIndexOutOfBoundsException

Example stack:

Java.lang.NullPointerException:
at oracle.forms.handler.ComponentItem.focusLost
at oracle.forms.handler.TextFieldItem.focusLost
at Java.awt.Component.processFocusEvent
at oracle.ewt.lwAWT.LWComponent.processFocusEvent
at oracle.ewt.lwAWT.lwText.LWTextComponent.processFocusEvent
at oracle.ewt.lwAWT.lwText.LWTextField.processFocusEvent
at Java.awt.Component.processEvent
at Java.awt.Container.processEvent
at oracle.ewt.lwAWT.LWComponent.processEventImpl
at oracle.ewt.lwAWT.lwText.LWTextComponent.processEventImpl
at oracle.ewt.lwAWT.lwText.LWTextField.processEventImpl
at oracle.ewt.lwAWT.LWComponent.redispatchEvent
at oracle.ewt.lwAWT.LWComponent.processEvent

Null pointer exceptions usually indicate a Forms or EWT bug, probably in the Java class files.
Examination of the stack will help to determine if the problem is in EWT/Forms,
AOL, or a custom Java Bean.

c) Out of Memory errors

Example stack:

Java.lang.OutOfMemoryError
at Java.io.ByteArrayOutputStream.toByteArray(Compiled Code)
at sun.applet.AppletResourceLoader.loadJar(Compiled Code)
at sun.applet.AppletResourceLoader.loadJar(AppletResourceLoader.Java:17)
at sun.applet.AppletPanel.loadJarFiles(Compiled Code)
at sun.applet.AppletPanel.runLoader(AppletPanel.Java:392)
at sun.applet.AppletPanel.run(Compiled Code)
at Java.lang.Thread.run(Thread.Java:466)

This means that not enough memory is available to the JVM.

d) Class Not Found exception

Example stack:

:Java.lang.ClassNotFoundException:            
oracle.forms.ui.mdi.MDIWindowMenu$Activator
at sun.applet.AppletClassLoader.loadClass(AppletClassLoader
.Java:262)..........

As the name suggests, this means that the class could not be located.
First, check that the class actually exists in the appropriate jar file, but
note that on-demand loading may cause this error to occur even when
the class file does exist.

This is related to the on-demand loading mechanism, where each jar
file has a corresponding .lis file in fndlist.jar. The .lis is a list of class
files that should be in the jar file. If the class file is not included in the
relevant .lis, or hence in fndlist.jar, the on-demand loading mechanism
will not know where to find it.

e) Crash when running with UTF8 character set on the middle tier

Example stack:
Java.io.UTFDataFormatException
at Java.lang.Throwable.<init>(Compiled Code)
at Java.lang.Exception.<init>(Compiled Code)
at Java.io.IOException.<init>(IOException.Java:34)
at Java.io.UTFDataFormatException.<init>(UTFDataFormatException.Java:39)
at Java.io.DataInputStream.readUTF(Compiled Code)
at Java.io.DataInputStream.readUTF(Compiled Code)
at oracle.forms.engine.Message.readDetails(Compiled Code)
at oracle.forms.engine.Message.readDetails(Compiled Code)
at oracle.forms.engine.Message.readDetails(Compiled Code)
at oracle.forms.net.StreamMessageReader.run(Compiled Code)

This stack has been noticed on several occasions when the middle tier character
set is UTF8, and usually indicates that a corrupt string has been passed to
the client applet. Possible causes include:

·         Corrupt data in the database following conversion to UTF8

·         Failuire to convert dataload files to UTF8 before running SQL*loader

·         Loading of corrupt message translations

·         Bugs in userexits, which return strings containing uninitialized characters
           which are subsequently sent to the client for display.

f) Jinitiator bug 1818820

Java.lang.NoSuchMethodError
at sun.awt.windows.WFontMetrics.getMFStringWidth(Compiled Code)
at sun.awt.windows.WFontMetrics.charsWidth(Compiled Code)
at sun.awt.windows.WFontMetrics.stringWidth(Compiled Code)
at oracle.ewt.lwAWT.lwText.LWTextField._calculateCanvasSize(Compiled Code)
at oracle.ewt.lwAWT.lwText.LWTextField.replaceRangeValue(Compiled Code)
at oracle.ewt.lwAWT.lwText.LWTextComponent.replaceRangeDamage(Compiled Code)
at oracle.ewt.lwAWT.lwText.LWTextComponent.setText(Compiled Code)
at oracle.forms.uiClient.v1_4.ui.TextComponentItem.setTextValue(Compiled Code)
at oracle.forms.uiClient.v1_4.ui.TextComponentItem.onUpdate(Compiled Code)
at oracle.forms.uiClient.v1_4.ui.TextFieldItem.onUpdate(Compiled Code)
at oracle.forms.uiClient.v1_4.ui.UICommon.onUpdate(Compiled Code)
at oracle.forms.uiClient.v1_4.engine.Runform.onUpdateHandler(Compiled Code)
at oracle.forms.uiClient.v1_4.engine.Runform.processMessage(Compiled Code)
at oracle.forms.uiClient.v1_4.engine.Runform.processSet(Compiled Code)
at oracle.forms.uiClient.v1_4.engine.Runform.onMessageReal(Compiled Code)
at oracle.forms.uiClient.v1_4.engine.Runform.onMessage(Compiled Code)

This is quite a common problem affecting Windows 2000 and NT with certain
language supplements installed. It is jinitiator bug 1818820 fixed in jinitiator 1.1.8.15.

Sometimes a slightly different stack is given for the same issue:

java.lang.NoSuchMethodError  
at sun.awt.windows.WGraphics.drawMFChars(Compiled Code)
at sun.awt.windows.WGraphics.drawChars(Compiled Code)   
at sun.awt.windows.WGraphics.drawString(Compiled Code)  
at oracle.ewt.lwAWT.lwText.LWTextField.paintCanvasInterior(Compiled Code)
at oracle.ewt.EwtComponent.paintInterior(Compiled Code)      
at  oracle.ewt.lwAWT.SharedPainter._paintInterior(Compiled Code)
at oracle.ewt.lwAWT.SharedPainter.paintExtents(Compiled Code)   
at oracle.ewt.lwAWT.LWComponent._paintComponent(Compiled Code)  
at  oracle.ewt.lwAWT.LWComponent.paint(Compiled Code)   
at  oracle.ewt.EwtComponent.paint(Compiled Code)  

If you get a crash in AWT class files which isn’t a known problem, it could also
possibly be an installation and configuration problem.  

A few other things which may be worth checking -

1.       Clear the Appletviewer or JInitiator cache.

2.       If this does not help, check all directories in the PATH, to make sure
          an old version of JAVAI.DLL (or any of the other Java runtime DLLs)
           is not being accessed from an unexpected directory.

3.       Make sure CLASSPATH is not set. If using Appletviewer, try hard-coding the path.

If the Windows NT Resource Kit is installed, the TLIST utility offers an alternative way
of identifying the DLLs in use by a program.

If this does not help, download Filemon from www.sysinternals.com. This utility can be used to monitor all files accessed by an executable such as Appletviewer. The output can be voluminous, but will show all access to local jar or class files. Again, you can check they are being picked up from the correct directory.
发表于 2008/10/19 08:08:59 | 显示全部楼层
Sometimes in addition you get the ‘connection reset by peer’ message with this Java stack,
and this often indicates a network problem:

java.net.SocketException: Connection reset by peer
.at java.net.SocketInputStream.read(Compiled Code)
.at oracle.forms.net.EncryptedInputStream.fill(Compiled Code)
.at oracle.forms.net.EncryptedInputStream.readl(Compiled Code)
.at java.io.DataInputStream.readUnsignedByte(Compiled Code)


根据以上的说明,几乎可以说明是网络不稳定导致的。
不过我不是DBA,只是从这些文档资料初步判断。很抱歉,我不是作这个方面的,不能给你更多的帮助。
发表于 2008/10/19 15:01:08 | 显示全部楼层
说的很好,支持!!!
 楼主| 发表于 2008/10/20 11:45:58 | 显示全部楼层
谢谢四海,你判断的基本上正确,是和网络有一定关系。顺便拍一下,你老婆比较漂亮
发表于 2008/11/10 13:09:13 | 显示全部楼层

是防火墙设置问题

一般是防火墙的端口设置问题造成客户端连接不了Oracle  server
发表于 2008/11/14 17:46:58 | 显示全部楼层
我们的ERP有时候也会出现楼主的问题。只能重新登陆
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 23:07 , Processed in 0.029990 second(s), 25 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表