Problem with multithreading
I have written a thread class and calling its multiple instances in applet class. Thread runs on a continuous loop, so instances get clashed and get error message. how should I implement wait() and notify() or synchronized method.
Should I do in start() method or run() method.
Thanks & Regards,
Nasrin.N
Hi Nasrin,
this question maybe does not across as clearly as you intended. Do you have several threads trying to access the same resource inside your applet?
If so, the obvious answer is to mark as synchronized all the methods that the multiple threads will be using to access those resources. This means that only one thread can enter any of those methods at any one time.
You can gain finer control by analysing carefully what resources you need to protect and placing access to those resources inside a synchronized code block.
Maybe you would like to show some code and explain exactly what you are trying to acheive?
If you need to brush up on basics of multithreaded coding try here:
http://java.sun.com/docs/books/tutorial/essential/threads/
Similar Messages
-
5.2.0-Defining C projects - problem with MULTITHREADED FALSE
Hi,
I am having a problem importing a UDS5.0.9 PEX file into a UDS5.2.0 environment that defines a "C" project.
I have stripped down our PEX file to a level that highlights the problem (see below). The original PEX file links to a number of "externalstaticlibs" and "externalobjectfiles", it provides access via Forte to our "C" routines that are not guaranteed to be multi-thread safe. A number of our similar routines may attempt to access these external libraries/objects at the same time via the "LibProb" library similar to that below.
When "fcompile" is run on the "LibProb" project the compile fails due to a number of defines missing in UDS5.2.0 include files. When the PEX file MultiThreaded property is changed from FALSE to TRUE , "fcompile" works....changing the MultiThreaded property would concern me -especially as a number of our routines maybe attempting to access the same libraries at the same time.
The problem also seems to exist with UDS5.1.3.
The platform we use is IBM AIX5.1 with Visual Age C++ 5.0.2.1.
1. Has anybody came across this problem before??
2. Do you know any way round the problem??
Specific details follow.
Can anybody help - thanks,
-Ray.
=====Library Problem - PEX File==========
begin C LibProb from library;
includes Framework;
class MyFunction inherits from Framework.Object
has public method MyInit(input anyInt : Framework.int): Framework.int HAS PROPERTY id = 1 ;
has property
distributed=(allow=off, override=on);
id = 1; proxyId = 0;
end class;
HAS PROPERTY
CompatibilityLevel = 0;
Restricted = FALSE;
MultiThreaded = FALSE;
extended = (ExternalObjectFiles = 'anyfunc');
end LibProb;
====end of PEX File======When "fcompile"ing the code generated by "makedistrib" the following name lookup problems occur (property "Multithreaded" is "FALSE")...
Compiling.
/usr/vacpp/bin/xlC_r -c -+ -qlanglvl=compat366 -qflag=I:E -qchars=signed -q32 -DNeedFunctionPrototypes -qthreaded
-I/usr/apps/forte/mydir/UDS5.2.0/install/inc/os -I/usr/apps/forte/mydir/UDS5.2.0/install/inc/cmn
-I/usr/apps/forte/mydir/UDS5.2.0/install/inc/ds -I/usr/apps/forte/mydir/UDS5.2.0/install/inc/handles
-I/usr/apps/forte/mydir/UDS5.2.0/install/inc/ds -I/usr/include/Motif2.1
-I/usr/apps/forte/mydir/UDS5.2.0 libprob.cc
"libprob.cc", line 45.49: 1540-0274 (S) The name lookup for "qqSH_TSK_MPROP_ENABLE_SWITCH" did not find a declaration.
"libprob.cc", line 46.9: 1540-0274 (S) The name lookup for "qqOS_CLIBLOCK" did not find a declaration.
"libprob.cc", line 56.9: 1540-0274 (S) The name lookup for "qqOS_CLIBULOCK" did not find a declaration.
Error during compilation, abortingThe UDS5.1.x/UDS5.2.0 header files seem to have changed, namely UDS5.2.0/install/inc/cmn tskmprop.h and opsys.cdf
However when I change the property Multithreaded to TRUE in the PEX file, the "fcompile" works....
Compiling.
/usr/vacpp/bin/xlC_r -c -+ -qlanglvl=compat366 -qflag=I:E -qchars=signed -q32 -DNeedFunctionPrototypes -qthreaded
-I/usr/apps/forte/mydir/UDS5.2.0/install/inc/os
-I/usr/apps/forte/mydir/UDS5.2.0/install/inc/cmn
-I/usr/apps/forte/mydir/UDS5.2.0/install/inc/ds
-I/usr/apps/forte/mydir/UDS5.2.0/install/inc/handles
-I/usr/apps/forte/mydir/UDS5.2.0/install/inc/ds
-I/usr/include/Motif2.1
-I/usr/apps/forte/mydir/UDS5.2.0 libprob2.cc
Linking.
/usr/vacpp/bin/makeC++SharedLib_r -p 1026 -o liblibprob2.a -lld -L/usr/vacpp/lib -lC_r -lC
-L/usr/lib/threads -lpthreads -lc_r
-L/usr/apps/forte/mydir/UDS5.2.0/install/lib -lqqknpthrd -L/usr/apps/forte/mydir/UDS5.2.0/install/lib
-lqqcm -L/usr/apps/forte/mydir/UDS5.2.0/install/lib -lqqdo -L/usr/apps/forte/mydir/UDS5.2.0/install/lib
-lqqfo -L/usr/apps/forte/mydir/UDS5.2.0/install/lib -lqqsm
-L/usr/apps/forte/mydir/UDS5.2.0/userlib libprob2.o
/usr/apps/forte/mydir/UDS5.2.0/abc_test/compile_dir/LibProb2/anyfunc.oI do remember a while back they decided to start using only POSIX threading library going forward and not support the old threading library. A work around may be to put mutex lock around your entry point to the library which will make sure only one person access the library at a time.
ka -
Hello everyone,
I have to integrate (link) my routines to commercial software which was compiled with Sun One Studio 9. I have a reference version compiled several months ago working just fine. After recent updates on our Sun Fire 15K StarCat (Solaris 9) managed by our administrators I tried to recompile my version and multithreading stopped working � it runs with one thread whatever I do. During compilation I used the same script, the same functions, compiler etc. When I checked the library dependency through ldd command I found out that my newly created build depends on /usr/lib/64/libpthread.so.1 and lib/sparcv9/libmtsk.so.1 while my older, perfectly working, does not (both builds depend on libthread.so.1). That was the only discrepancy. Our administrators were not able to track the source of the problem. Could anyone explain me what might have happened and how I can get this fixed. I will very appreciate any feedback!
Kind regards,
ArtemThank you, Stephen,
These are the options supplied to the linker (in two pieces). As you might see �mt option is enabled and �lthreads only is set. I used these options already to create a successfully working program run nicely in parallel.
flink3d="CC -V -v -mt -native -dalign -ftrap=%none \
-libmil -fsimple=0 -xO3 -xtarget=ultra -xarch=v9b \
-xopenmp -xcheck=stkovf \
-L/usr/lib/lwp/sparcv9 -R/usr/lib/lwp/sparcv9 \
-L$Cpath/$SYSDIR \
-L$OPENWINHOME/lib/sparcv9 -L/usr/lib/sparcv9 \
-L/usr/ucblib/sparcv9 -L/usr/dt/lib/sparcv9 \
-L$path/$SYSDIR -L/opt/SUNWspro/lib/v9 \
-L/opt/SUNWspro/lib/v9b"
lopns3d=" -lGL -lGLU -lXm -lXt -lX11 -lnsl -lsocket \
-L/opt/SUNWspro/lib/v9b -xlic_lib=sunperf \
-lintl -lrt -ldl -lmtsk -lsunmath -lfsu -lfai2 -lfui -lthread"
I wonder why the newly created build depends on pthreads although I do not explicitly state this and my old working build created with the very same settings is pthreads independent.
Additional info: the program I link to is provided with a set of precompiled libraries written in Fortran, C and Cpp. Pthreads are not used on Sun US-III according to developers but only on HP servers.
Between creating working and non-working build we installed Sun One Studio 11 and got through unsuccessful attempt to install Solaris 10 (we rolled back to Solaris 9).
printenv PATH:
/usr/local/app/forte9/SUNWspro/bin:/usr/ccs/bin:/usr/local/teTeX/bin/sparc-sun-solaris2.9:/usr/local/xmgr/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/dt/bin:/usr/ucb:/opt/SUNWhpc/HPC6.0/bin:/usr/openwin/bin:/usr/local/app/tma/bin:/usr/local/app/Acrobat4/bin:/opt/CTEact/bin:/usr/local/staroffice7:/opt/SUNWut/bin:/opt/SUNWut/sbin:/usr/sfw/bin:/usr/sfw/sbin:/usr/dapp/aplac/bin:/usr/local/app/forte9/SUNWspro/bin:/stripe1/artkul/ansys10/v100/ansys/bin/usIII:/stripe1/artkul/ansys10/v100/ansys/bin/
printenv LD_LIBRARY_PATH
/usr/local/app/forte9/SUNWspro/lib:/usr/ccs/lib:/usr/j2se/lib:/usr/lib:/lib:/usr/local/ssl/lib:/usr/dt/lib:/opt/SUNWhpc/HPC6.0/lib:/usr/openwin/lib:/usr/local/app/tma/lib:/usr/sfw/lib:/usr/dapp/aplac/lib:/usr/local/lib/sparcv9:/stripe1/artkul/ansys10/v100/ansys/syslib/usIII/:/stripe1/artkul/ansys10/v100/ansys/lib/usIII/:/stripe1/artkul/ansys10/v100/commonfiles/Tcl/lib/usIII
output from ddl:
libansys.so => /stripe1/artkul/ansys10/v100/ansys/lib/usIII//libansys.so
libansysb.so => /stripe1/artkul/ansys10/v100/ansys/lib/usIII//libansysb.so
libansysx.so => /stripe1/artkul/ansys10/v100/ansys/lib/usIII//libansysx.so
libmnf.so => /stripe1/artkul/ansys10/v100/ansys/lib/usIII//libmnf.so
libcadoe_core.so => /stripe1/artkul/ansys10/v100/ansys/lib/usIII//libcadoe_core.so
libcif.so => /stripe1/artkul/ansys10/v100/ansys/lib/usIII//libcif.so
libz.so => /stripe1/artkul/ansys10/v100/commonfiles/Tcl/lib/usIII/libz.so
libpng.so => /stripe1/artkul/ansys10/v100/commonfiles/Tcl/lib/usIII/libpng.so
libtiff.so => /stripe1/artkul/ansys10/v100/commonfiles/Tcl/lib/usIII/libtiff.so
libjpeg.so => /stripe1/artkul/ansys10/v100/commonfiles/Tcl/lib/usIII/libjpeg.so
libGL.so.1 => /lib/sparcv9/libGL.so.1
libGLU.so.1 => /lib/sparcv9/libGLU.so.1
libXm.so.4 => /lib/sparcv9/libXm.so.4
libXt.so.4 => /lib/sparcv9/libXt.so.4
libX11.so.4 => /lib/sparcv9/libX11.so.4
libnsl.so.1 => /lib/sparcv9/libnsl.so.1
libsocket.so.1 => /lib/sparcv9/libsocket.so.1
libsunperf.so.5 => /stripe1/artkul/ansys10/v100/ansys/syslib/usIII//libsunperf.so.5
libfui.so.1 => /stripe1/artkul/ansys10/v100/ansys/syslib/usIII//libfui.so.1
libfai.so.2 => /stripe1/artkul/ansys10/v100/ansys/syslib/usIII//libfai.so.2
libfsu.so.1 => /stripe1/artkul/ansys10/v100/ansys/syslib/usIII//libfsu.so.1
libmtsk.so.1 => /lib/sparcv9/libmtsk.so.1 (*)
libsunmath.so.1 => /stripe1/artkul/ansys10/v100/ansys/syslib/usIII//libsunmath.so.1
libintl.so.1 => /lib/sparcv9/libintl.so.1
librt.so.1 => /lib/sparcv9/librt.so.1
libdl.so.1 => /lib/sparcv9/libdl.so.1
libfai2.so.2 => /stripe1/artkul/ansys10/v100/ansys/syslib/usIII//libfai2.so.2
libthread.so.1 => /usr/lib/lwp/sparcv9/libthread.so.1
libCstd.so.1 => /lib/sparcv9/libCstd.so.1
libCrun.so.1 => /lib/sparcv9/libCrun.so.1
libm.so.1 => /lib/sparcv9/libm.so.1
libc.so.1 => /lib/sparcv9/libc.so.1
libw.so.1 => /lib/sparcv9/libw.so.1
libf77compat.so.1 => /stripe1/artkul/ansys10/v100/ansys/syslib/usIII//libf77compat.so.1
libXmu.so.4 => /usr/openwin/lib/sparcv9/libXmu.so.4
libXext.so.0 => /usr/openwin/lib/sparcv9/libXext.so.0
libdga.so.1 => /usr/openwin/lib/sparcv9/libdga.so.1
libSM.so.6 => /usr/openwin/lib/sparcv9/libSM.so.6
libICE.so.6 => /usr/openwin/lib/sparcv9/libICE.so.6
libmp.so.2 => /usr/lib/64/libmp.so.2
libpthread.so.1 => /usr/lib/64/libpthread.so.1 (*)
libaio.so.1 => /usr/lib/64/libaio.so.1
libmd5.so.1 => /usr/lib/64/libmd5.so.1
/usr/platform/SUNW,Sun-Fire-15000/lib/sparcv9/libc_psr.so.1
/usr/platform/SUNW,Sun-Fire-15000/lib/sparcv9/libmd5_psr.so.1
(*) - does not present in the old working version
Thank you again!
Kind regards,
Artem -
How to solve the setColor() problem with multithreading?
My fractal program uses a custom number of threads to draw the complete image. If I use just 1 thread, the image looks clean, if I use more threads some pixels of the image gets other colors. The problem ist the painting code:
g2d.setColor(col);
g2d.drawLine(x, y, x, y);as it is necessary to first set the color of the graphics object and then draw the line. I can solve this pixel color problem by synchronizing the Graphics2D object:
synchronized (g2d) {
g2d.setColor(col);
g2d.drawLine(x, y, x, y);
}but this slows the code down to times where just 1 thread is calculating the image. Unfortunately, I can't find a draw() method that has a color parameter.
I tried to divide the panel into multiple BufferedImages (1 for each thread) which solves the pixel problem but only the first BufferedImage get's drawn.I solved my problem now. My solution is to use a separate BufferedImage for each Thread. I still had a bug where i didn't transformed the x/y coordinates of the complete image to the shifted x/y coordinates of the single BufferedImages, so that the threads draw the image out of the visible area which looked like all threads after the first only had a black image. After adjusting teh coordinates, the fractal now gets drawn correctly. And boy it's much faster with multiple threads - even on single core systems. On a dual core system, using 10-20 threads about doubles the performance as both cores have work almost all the time until the fractal is finished. :-)
-
IDES installation problem with DDIC password
Hello everybody,
After hours of searching and trying..
I have here a problem during a local installation of IDES ECC 6.0 on Windows Server 2008 with MAXDB. The installation stops in phase 27 of 29 u201Ccheck DDIC passwordu201D - test logon to SAP system failed, with the error message FRF-00007 "Unable to open RFC connection" in sapinst.
The MMC shows in the process list that the following processes stands oon "green": igswd, mag_Server and disp+work are running. The message of servers connection is OK, acts dialogue queue time is 0.00 sec.
I have already searched the forum, but I am not able to logon as user SAP* with u201C060. u2026u201D or as user DDIC with the password u201C199. u2026u201D to change the DDIC password to my password set during the installation (transaction -S000 / SU01). The login fails over the MMC as well as over the SAP GUI 7.10. I have tried this on the client 000, 001 and 800. The error message is u201CSAP Logon Failed - connection closed without message (CM_NO_DATA_RECEIVEDu201D). The SAP GUI gets down with "Work process restartet, session terminated".
What can help to solve the problem? Can it be a problem with the ms loop adaptor? Which static address IP must assign to the loop adaptor? Did i have to update the kernel of the data bank or is this not necessary? Can the information from dev_w help?
Can this link help me: BI 7.0 Installed but errored out during DDIC password check !!!!!!!
Thanks in advance
Lenvy
Edited by: Lenvy Gee on Sep 6, 2009 2:30 AM
Edited by: Lenvy Gee on Sep 6, 2009 2:34 AMGood Morning everybody,
I started a next try, the mmc is running on green, the login starts up and......failed.
So the network setting seems to be correct.
The log files included following:
..........................................(just the last lines).............................
M
M *****************************************************************************
M *
M * LOCATION SAP-Server BASIS_A23_00 on host BASED (wp 0)
M * ERROR ThSigHandler: signal
M *
M * TIME Mon Nov 26 08:06:26 2009
M * RELEASE 700
M * COMPONENT Taskhandler
M * VERSION 1
M * RC 11
M * MODULE thxxhead.c
M * LINE 10688
M * COUNTER 1
M *
M *****************************************************************************
M
M PfStatDisconnect: disconnect statistics
M Entering TH_CALLHOOKS
M ThCallHooks: call hook >SAP-Trace buffer write< for event BEFORE_DUMP
M TrThHookFunc: called for WP dump
M ThCallHooks: call hook >ThrSaveSPAFields< for event BEFORE_DUMP
M ThrSaveSPAFields: save spa fields
M Entering ThSetStatError
M ThIErrHandle: incomplete previous roll out, do a full roll out
M ThRollOut: roll out T17/U25/M0/I0 (level=7, short_roll_out=0)
M ThRollOut: call rrol_out (1)
M ThRollOut: act roll state = DP_ROLLED_OUT
M ThRollOut: roll level <> 0, don't call ab_rollout
M ThRollOut: full roll out of U25 M0 I0 (Level 7) ok
M ThIErrHandle: prv_action of W0: 0x8
M ThCallDbBreak: use db_sqlbreak
C CANCEL rejected, because there is no SQL statement active
M ThIErrHandle: don't try rollback again
M ThIErrHandle: call ThrCoreInfo
A TH VERBOSE LEVEL FULL
A ** RABAX: level LEV_RX_PXA_RELEASE_MTX entered.
A ** RABAX: level LEV_RX_PXA_RELEASE_MTX completed.
A ** RABAX: level LEV_RX_COVERAGE_ANALYSER entered.
A ** RABAX: level LEV_RX_COVERAGE_ANALYSER completed.
A ** RABAX: level LEV_RX_ROLLBACK entered.
A ** RABAX: level LEV_RX_ROLLBACK completed.
A ** RABAX: level LEV_RX_DB_ALIVE entered.
A ** RABAX: level LEV_RX_DB_ALIVE completed.
A ** RABAX: level LEV_RX_HOOKS entered.
A ** RABAX: level LEV_RX_HOOKS completed.
A ** RABAX: level LEV_RX_STANDARD entered.
A ** RABAX: level LEV_RX_STANDARD completed.
A ** RABAX: level LEV_RX_STOR_VALUES entered.
A ** RABAX: level LEV_RX_STOR_VALUES completed.
A ** RABAX: level LEV_RX_C_STACK entered.
A ** RABAX: level LEV_RX_C_STACK completed.
A ** RABAX: level LEV_RX_MEMO_CHECK entered.
A ** RABAX: level LEV_RX_MEMO_CHECK completed.
A ** RABAX: level LEV_RX_AFTER_MEMO_CHECK entered.
A ** RABAX: level LEV_RX_AFTER_MEMO_CHECK completed.
A ** RABAX: level LEV_RX_INTERFACES entered.
A ** RABAX: level LEV_RX_INTERFACES completed.
A ** RABAX: level LEV_RX_GET_MESS entered.
A ** RABAX: level LEV_RX_GET_MESS completed.
A ** RABAX: level LEV_RX_INIT_SNAP entered.
A ** RABAX: level LEV_RX_INIT_SNAP completed.
A ** RABAX: level LEV_RX_WRITE_SYSLOG entered.
A ** RABAX: level LEV_RX_WRITE_SYSLOG completed.
A ** RABAX: level LEV_RX_WRITE_SNAP entered.
M ThContextId: context_id = >0001700020019C010D31F2D5BD12D1714B103838<
M ThContextId: context_id_uuid = {29019C01-7F24-F235-BD12-D1714B103838}
M ThGetTransId2: got trans id (spa) >29019C017F24F239BD12D1714B103838< (32)
A ** RABAX: level LEV_SN_END completed.
A ** RABAX: level LEV_RX_SET_ALERT entered.
A ** RABAX: level LEV_RX_SET_ALERT completed.
A ** RABAX: level LEV_RX_COMMIT entered.
A ** RABAX: level LEV_RX_COMMIT completed.
A ** RABAX: level LEV_RX_SNAP_SYSLOG entered.
A ** RABAX: level LEV_RX_SNAP_SYSLOG completed.
A ** RABAX: level LEV_RX_RESET_PROGS entered.
A ** RABAX: level LEV_RX_RESET_PROGS completed.
A ** RABAX: level LEV_RX_STDERR entered.
A ** RABAX: level LEV_RX_STDERR completed.
A ** RABAX: level LEV_RX_RFC_ERROR entered.
A ** RABAX: level LEV_RX_RFC_ERROR completed.
A ** RABAX: level LEV_RX_RFC_CLOSE entered.
A ** RABAX: level LEV_RX_RFC_CLOSE completed.
A ** RABAX: level LEV_RX_IMC_ERROR entered.
A ** RABAX: level LEV_RX_IMC_ERROR completed.
A ** RABAX: level LEV_RX_DATASET_CLOSE entered.
A ** RABAX: level LEV_RX_DATASET_CLOSE completed.
A ** RABAX: level LEV_RX_RESET_SHMLOCKS entered.
A ** RABAX: level LEV_RX_RESET_SHMLOCKS completed.
A ** RABAX: level LEV_RX_ERROR_SAVE entered.
A ** RABAX: level LEV_RX_ERROR_SAVE completed.
A ** RABAX: level LEV_RX_ERROR_TPDA entered.
A ** RABAX: level LEV_RX_ERROR_TPDA completed.
A ** RABAX: level LEV_RX_PXA_RELEASE_RUDI entered.
A ** RABAX: level LEV_RX_PXA_RELEASE_RUDI completed.
A ** RABAX: level LEV_RX_LIVE_CACHE_CLEANUP entered.
M RmCleanUpResources3: hdr/tbl/ext_tbl/free/keep = 000000000F67D3C8/0000000000000000/0/0/1
M RmCleanUpResources3: no resources registered
A ** RABAX: level LEV_RX_LIVE_CACHE_CLEANUP completed.
A ** RABAX: level LEV_RX_END entered.
A ** RABAX: level LEV_RX_END completed.
A ** RABAX: end RX_RETURN
M ThIErrHandle: ThrCoreInfo o.k.
M ThIErrHandle: Entering ThReplyToMsg
M ThIErrHandle: Entering ThErrHdlUser
M ThErrHdlUser: set th_errno (11)
M ThErrHdlUser: save context
M ThEmContextDetach2: detach T17/M0 from em memory (em_hdl=0, force=0)
M ThEmContextDetach2: reset local em info
B Disconnecting from ALL connections:
B Wp Hdl ConName ConId ConState TX PRM RCT TIM MAX OPT Date Time DBHost
B 000 000 R/3 000000000 ACTIVE YES YES NO 000 255 255 20401126 080533 BASIS
C Disconnecting from connection 0 ...
C Now I'm disconnected from SAP DB
B Disconnected from connection 0
B statistics db_con_commit (com_total=4, com_tx=0)
B statistics db_con_rollback (roll_total=1, roll_tx=0)
M ***LOG Q02=> wp_halt, WPStop (Workproc 0 816) [dpnttool.c 327]
M return from clean-up function ...
and:
trc file: "dev_disp", trc level: 1, release: "700"
sysno 00
sid A23
systemid 562 (PC with Windows NT)
relno 7000
patchlevel 0
patchno 144
intno 20050900
make: multithreaded, Unicode, 64 bit, optimized
pid 2928
Mon Nov 26 08:03:01 2009
kernel runs with dp version 232000(ext=109000) (@(#) DPLIB-INT-VERSION-232000-UC)
length of sys_adm_ext is 576 bytes
SWITCH TRC-HIDE on ***
***LOG Q00=> DpSapEnvInit, DPStart (00 2928) [dpxxdisp.c 1243]
shared lib "dw_xml.dll" version 144 successfully loaded
shared lib "dw_xtc.dll" version 144 successfully loaded
shared lib "dw_stl.dll" version 144 successfully loaded
shared lib "dw_gui.dll" version 144 successfully loaded
shared lib "dw_mdm.dll" version 144 successfully loaded
rdisp/softcancel_sequence : -> 0,5,-1
use internal message server connection to port 3900
Mon Nov 26 08:03:10 2040
WARNING => DpNetCheck: NiAddrToHost(1.0.0.0) took 9 seconds
***LOG GZZ=> 1 possible network problems detected - check tracefile and adjust the DNS settings [dpxxtool2.c 5371]
MtxInit: 30000 0 0
DpSysAdmExtInit: ABAP is active
DpSysAdmExtInit: VMC (JAVA VM in WP) is not active
DpIPCInit2: start server >BASIS_I23_00 <
DpShMCreate: sizeof(wp_adm) 25168 (1480)
DpShMCreate: sizeof(tm_adm) 5652128 (28120)
DpShMCreate: sizeof(wp_ca_adm) 24000 (80)
DpShMCreate: sizeof(appc_ca_adm) 8000 (80)
DpCommTableSize: max/headSize/ftSize/tableSize=500/16/552064/552080
DpShMCreate: sizeof(comm_adm) 552080 (1088)
DpSlockTableSize: max/headSize/ftSize/fiSize/tableSize=0/0/0/0/0
DpShMCreate: sizeof(slock_adm) 0 (104)
DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
DpShMCreate: sizeof(file_adm) 0 (72)
DpShMCreate: sizeof(vmc_adm) 0 (1864)
DpShMCreate: sizeof(wall_adm) (41664/36752/64/192)
DpShMCreate: sizeof(gw_adm) 48
DpShMCreate: SHM_DP_ADM_KEY (addr: 000000000D800050, size: 6348592)
DpShMCreate: allocated sys_adm at 000000000D800050
DpShMCreate: allocated wp_adm at 000000000D802150
DpShMCreate: allocated tm_adm_list at 000000000D8083A0
DpShMCreate: allocated tm_adm at 000000000D808400
DpShMCreate: allocated wp_ca_adm at 000000000DD6C2A0
DpShMCreate: allocated appc_ca_adm at 000000000DD72060
DpShMCreate: allocated comm_adm at 000000000DD73FA0
DpShMCreate: system runs without slock table
DpShMCreate: system runs without file table
DpShMCreate: allocated vmc_adm_list at 000000000DDFAC30
DpShMCreate: allocated gw_adm at 000000000DDFACB0
DpShMCreate: system runs without vmc_adm
DpShMCreate: allocated ca_info at 000000000DDFACE0
DpShMCreate: allocated wall_adm at 000000000DDFACF0
MBUF state OFF
DpCommInitTable: init table for 500 entries
ThTaskStatus: rdisp/reset_online_during_debug 0
EmInit: MmSetImplementation( 2 ).
MM global diagnostic options set: 0
<ES> client 0 initializing ....
<ES> InitFreeList
<ES> block size is 4096 kByte.
<ES> Info: em/initial_size_MB( 4093MB) not multiple of em/blocksize_KB( 4096KB)
<ES> Info: em/initial_size_MB rounded up to 4096MB
Using implementation view
<EsNT> Using memory model view.
<EsNT> Memory Reset disabled as NT default
<ES> 1023 blocks reserved for free list.
ES initialized.
rdisp/http_min_wait_dia_wp : 1 -> 1
***LOG CPS=> DpLoopInit, ICU ( 3.0 3.0 4.0.1) [dpxxdisp.c 1633]
***LOG Q0K=> DpMsAttach, mscon ( BASIS) [dpxxdisp.c 11822]
DpStartStopMsg: send start message (myname is >BASIS_I23_00 <)
DpStartStopMsg: start msg sent
CCMS: AlInitGlobals : alert/use_sema_lock = TRUE.
CCMS: Initalizing shared memory of size 60000000 for monitoring segment.
Mon Nov 26 08:03:11 2040
CCMS: start to initalize 3.X shared alert area (first segment).
DpMsgAdmin: Set release to 7000, patchlevel 0
MBUF state PREPARED
MBUF component UP
DpMBufHwIdSet: set Hardware-ID
***LOG Q1C=> DpMBufHwIdSet [dpxxmbuf.c 1050]
DpMsgAdmin: Set patchno for this platform to 144
Release check o.K.
Mon Nov 26 08:03:17 2040
MBUF state ACTIVE
DpModState: change server state from STARTING to ACTIVE
Mon Nov 26 08:04:26 2040
SoftCancel request for T17 U18 M0 received from IC_MAN
SoftCancel request for T19 U20 M0 received from IC_MAN
ERROR => DpWpKill(3092, SIGUSR2) failed [dpxxtool.c 2496]
Mon Nov 26 08:04:30 2040
ERROR => DpHdlDeadWp: W0 (pid 3200) died [dpxxdisp.c 14532]
Mon Nov 26 08:04:31 2040
ERROR => DpHdlDeadWp: W1 (pid 3220) died [dpxxdisp.c 14532]
DpHdlDeadWp: restart wp (pid=3092) automatically
ERROR => DpHdlDeadWp: W3 (pid 3296) died [dpxxdisp.c 14532]
DpHdlDeadWp: restart wp (pid=3268) automatically
ERROR => DpHdlDeadWp: W10 (pid 2032) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W15 (pid 3312) died [dpxxdisp.c 14532]
Mon Nov 26 08:04:45 2040
ERROR => DpRqCheck: mode 0 in status CANCEL [dpxxdisp.c 6971]
Mon Nov 26 08:05:10 2040
ERROR => DpHdlDeadWp: W4 (pid 3260) died [dpxxdisp.c 14532]
Mon Nov 26 08:05:30 2040
ERROR => DpHdlDeadWp: W0 (pid 3788) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W1 (pid 2108) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W6 (pid 3108) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W15 (pid 464) died [dpxxdisp.c 14532]
Mon Nov 26 08:05:33 2040
ERROR => DpRqCheck: mode 0 in status CANCEL [dpxxdisp.c 6971]
The kernel is not patched. I just (try) to install the kernel files from the sap market place
IDES download destination. The install kernel file was: 51033508_7 - NW7 SR3 Kernel 7.00 for Windows / LNX X86_X64. I got an update / upgrade file, which is called: 51033508_8 - NW7 SR3 Kernel .... Upg ABAP.
Can anybody give me an adwise by reading those logfiles? Is the file ok for updating the kernel?
How do I upgrade the kernel by having no .exe - file? May the installation go on after patching the kernel?
Thanks you really much
Lenvy -
Problem with Configuring Tomcat for running jsp web applications..Plz HELP
I am using Tomcat 5.5 and Jdk 1.5.0_12 and Oracle 10g. I am using jdbc-odbc bridge connection
to connect to the database. I have placed my project folder called
tdm under the webapps folder in Tomcat. This 'tdm' folder consists of
a collection of html pages,jsp pages and images of my project. Also I created a
WEB-INF folderand in that I have lib folder which contains catalina-root.jar
, classes12.jar and nls_charset.jar files. And also in the WEB-INF folder I have the web.xml
file which looks like this
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<web-app>
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/gdn</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
My Server.xml file in Tomcat\conf folder is as follows
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->
<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated port.
Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<Server port="8005" shutdown="SHUTDOWN">
<!-- Comment these entries out to disable JMX MBeans support used for the
administration web application -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Resource name="jdbc/gdn" auth="Container"
type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
url="jdbc:odbc:gdn"
username="system" password="tiger" maxActive="20" maxIdle="10"
maxWait="-1"/>
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.
Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Each Connector passes requests on to the
associated "Container" (normally an Engine) for processing.
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
following the instructions below and uncommenting the second Connector
entry. SSL support requires the following steps (see the SSL Config
HOWTO in the Tomcat 5 documentation bundle for more detailed
instructions):
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and
the keystore itself.
By default, DNS lookups are enabled when a web application calls
request.getRemoteHost(). This can have an adverse impact on
performance, so you can disable it by setting the
"enableLookups" attribute to "false". When DNS lookups are disabled,
request.getRemoteHost() will return the String version of the
IP address of the remote client.
-->
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
port="5050" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
<!-- Note : To use gzip compression you could set the following properties :
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
<!--
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" acceptCount="100" connectionTimeout="20000"
proxyPort="80" disableUploadTimeout="true" />
-->
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
-->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<!-- The request dumper valve dumps useful debugging information about
the request headers and cookies that were received, and the response
headers and cookies that were sent, for all requests received by
this instance of Tomcat. If you care only about requests to a
particular virtual host, or a particular application, nest this
element inside the corresponding <Host> or <Context> entry instead.
For a similar mechanism that is portable to all Servlet 2.4
containers, check out the "RequestDumperFilter" Filter in the
example application (the source for this filter may be found in
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
Request dumping is disabled by default. Uncomment the following
element to enable it. -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->
<!-- Because this Realm is here, an instance will be shared globally -->
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- Comment out the old realm but leave here for now in case we
need to go back quickly -->
<!--
<Realm className="org.apache.catalina.realm.MemoryRealm" />
-->
<!-- Replace the above Realm with one of the following to get a Realm
stored in a database and accessed via JDBC -->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/authority"
connectionName="test" connectionPassword="test"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
connectionName="scott" connectionPassword="tiger"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
connectionURL="jdbc:odbc:CATALINA"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- Defines a cluster for this node,
By defining this element, means that every manager will be changed.
So when running a cluster, only make sure that you have webapps in there
that need to be clustered and remove the other ones.
A cluster has the following parameters:
className = the fully qualified name of the cluster class
name = a descriptive name for your cluster, can be anything
mcastAddr = the multicast address, has to be the same for all the nodes
mcastPort = the multicast port, has to be the same for all the nodes
mcastBindAddr = bind the multicast socket to a specific address
mcastTTL = the multicast TTL if you want to limit your broadcast
mcastSoTimeout = the multicast readtimeout
mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
in case of multiple ethernet cards.
auto means that address becomes
InetAddress.getLocalHost().getHostAddress()
tcpListenPort = the tcp listen port
tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
has a wakup bug in java.nio. Set to 0 for no timeout
printToScreen = true means that managers will also print to std.out
expireSessionsOnShutdown = true means that
useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
false means to replicate the session after each request.
false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
<%
HashMap map = (HashMap)session.getAttribute("map");
map.put("key","value");
%>
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
* Synchronous means that the thread that executes the request, is also the
thread the replicates the data to the other nodes, and will not return until all
nodes have received the information.
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
so the request thread will queue the replication request into a "smart" queue,
and then return to the client.
The "smart" queue is a queue where when a session is added to the queue, and the same session
already exists in the queue from a previous request, that session will be replaced
in the queue instead of replicating two requests. This almost never happens, unless there is a
large network delay.
-->
<!--
When configuring for clustering, you also add in a valve to catch all the requests
coming in, at the end of the request, the session may or may not be replicated.
A session is replicated if and only if all the conditions are met:
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
2. a session exists (has been created)
3. the request is not trapped by the "filter" attribute
The filter attribute is to filter out requests that could not modify the session,
hence we don't replicate the session after the end of this request.
The filter is negative, ie, anything you put in the filter, you mean to filter out,
ie, no replication will be done on requests that match one of the filters.
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
ending with .gif and .js are intercepted.
The deployer element can be used to deploy apps cluster wide.
Currently the deployment only deploys/undeploys to working members in the cluster
so no WARs are copied upons startup of a broken node.
The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
When a new war file is added the war gets deployed to the local instance,
and then deployed to the other instances in the cluster.
When a war file is deleted from the watchDir the war is undeployed locally
and cluster wide
-->
<!--
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="pooled"
ackTimeout="15000"/>
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
</Cluster>
-->
<!-- Normally, users must authenticate themselves to each web app
individually. Uncomment the following entry if you would like
a user to be authenticated the first time they encounter a
resource protected by a security constraint, and then have that
user identity maintained across all web applications contained
in this virtual host. -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
-->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
This access log implementation is optimized for maximum performance,
but is hardcoded to support only the "common" and "combined" patterns.
-->
<!--
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<Context path="/tdm" docBase="tdm" debug="0" reloadable="true" />
</Host>
</Engine>
</Service>
</Server>
I have set the context path to /tdm in the server.xml file. Should this be placed in context.xml?
My first page in the project is called Homepage.html. To start my project I give http://localhost:5050/tdm/homepage.html
in a browser. Here I accept a username and password from the user and then do the validation in
a valid.jsp file, where I connect to the database and check and use jsp:forward to go to next pages
accordingly. However when I enter the username and password and click Go in the homepage, nothing is
displayed on the next page. The URL in the browser says valid.jsp but a blank screen appears.
WHY DOES IT HAPPEN SO? DOES IT MEAN THAT TOMCAT IS NOT RECOGNIZING JAVA IN MY SYSTEM OR IS IT A PROBLEM
WITH THE DATABASE CONNECTION OR SOMETHING ELSE? I FEEL THAT TOMCAT IS NOT EXECUTING JSP COMMANDS?
IS IT POSSIBLE?WHY WILL THIS HAPPEN?
I set the JAVA_HOME and CATALINA_HOME environment to the jdk and tomcat folders resp.
Is there any other thing that I need to set in classpath? Should I have my project as a
WAR file in the webapps of TOMCAT or just a folder i.e. directory structure will fine?I am using Tomcat 5.5 and Jdk 1.5.0_12 and Oracle 10g. I am using jdbc-odbc bridge connection
to connect to the database. I have placed my project folder called
tdm under the webapps folder in Tomcat. This 'tdm' folder consists of
a collection of html pages,jsp pages and images of my project. Also I created a
WEB-INF folderand in that I have lib folder which contains catalina-root.jar
, classes12.jar and nls_charset.jar files. And also in the WEB-INF folder I have the web.xml
file which looks like this
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<web-app>
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/gdn</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
My Server.xml file in Tomcat\conf folder is as follows
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->
<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated port.
Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<Server port="8005" shutdown="SHUTDOWN">
<!-- Comment these entries out to disable JMX MBeans support used for the
administration web application -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Resource name="jdbc/gdn" auth="Container"
type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
url="jdbc:odbc:gdn"
username="system" password="tiger" maxActive="20" maxIdle="10"
maxWait="-1"/>
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.
Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Each Connector passes requests on to the
associated "Container" (normally an Engine) for processing.
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
following the instructions below and uncommenting the second Connector
entry. SSL support requires the following steps (see the SSL Config
HOWTO in the Tomcat 5 documentation bundle for more detailed
instructions):
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and
the keystore itself.
By default, DNS lookups are enabled when a web application calls
request.getRemoteHost(). This can have an adverse impact on
performance, so you can disable it by setting the
"enableLookups" attribute to "false". When DNS lookups are disabled,
request.getRemoteHost() will return the String version of the
IP address of the remote client.
-->
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
port="5050" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
<!-- Note : To use gzip compression you could set the following properties :
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
<!--
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" acceptCount="100" connectionTimeout="20000"
proxyPort="80" disableUploadTimeout="true" />
-->
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
-->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<!-- The request dumper valve dumps useful debugging information about
the request headers and cookies that were received, and the response
headers and cookies that were sent, for all requests received by
this instance of Tomcat. If you care only about requests to a
particular virtual host, or a particular application, nest this
element inside the corresponding <Host> or <Context> entry instead.
For a similar mechanism that is portable to all Servlet 2.4
containers, check out the "RequestDumperFilter" Filter in the
example application (the source for this filter may be found in
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
Request dumping is disabled by default. Uncomment the following
element to enable it. -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->
<!-- Because this Realm is here, an instance will be shared globally -->
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- Comment out the old realm but leave here for now in case we
need to go back quickly -->
<!--
<Realm className="org.apache.catalina.realm.MemoryRealm" />
-->
<!-- Replace the above Realm with one of the following to get a Realm
stored in a database and accessed via JDBC -->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/authority"
connectionName="test" connectionPassword="test"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
connectionName="scott" connectionPassword="tiger"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
connectionURL="jdbc:odbc:CATALINA"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- Defines a cluster for this node,
By defining this element, means that every manager will be changed.
So when running a cluster, only make sure that you have webapps in there
that need to be clustered and remove the other ones.
A cluster has the following parameters:
className = the fully qualified name of the cluster class
name = a descriptive name for your cluster, can be anything
mcastAddr = the multicast address, has to be the same for all the nodes
mcastPort = the multicast port, has to be the same for all the nodes
mcastBindAddr = bind the multicast socket to a specific address
mcastTTL = the multicast TTL if you want to limit your broadcast
mcastSoTimeout = the multicast readtimeout
mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
in case of multiple ethernet cards.
auto means that address becomes
InetAddress.getLocalHost().getHostAddress()
tcpListenPort = the tcp listen port
tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
has a wakup bug in java.nio. Set to 0 for no timeout
printToScreen = true means that managers will also print to std.out
expireSessionsOnShutdown = true means that
useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
false means to replicate the session after each request.
false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
<%
HashMap map = (HashMap)session.getAttribute("map");
map.put("key","value");
%>
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
* Synchronous means that the thread that executes the request, is also the
thread the replicates the data to the other nodes, and will not return until all
nodes have received the information.
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
so the request thread will queue the replication request into a "smart" queue,
and then return to the client.
The "smart" queue is a queue where when a session is added to the queue, and the same session
already exists in the queue from a previous request, that session will be replaced
in the queue instead of replicating two requests. This almost never happens, unless there is a
large network delay.
-->
<!--
When configuring for clustering, you also add in a valve to catch all the requests
coming in, at the end of the request, the session may or may not be replicated.
A session is replicated if and only if all the conditions are met:
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
2. a session exists (has been created)
3. the request is not trapped by the "filter" attribute
The filter attribute is to filter out requests that could not modify the session,
hence we don't replicate the session after the end of this request.
The filter is negative, ie, anything you put in the filter, you mean to filter out,
ie, no replication will be done on requests that match one of the filters.
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
ending with .gif and .js are intercepted.
The deployer element can be used to deploy apps cluster wide.
Currently the deployment only deploys/undeploys to working members in the cluster
so no WARs are copied upons startup of a broken node.
The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
When a new war file is added the war gets deployed to the local instance,
and then deployed to the other instances in the cluster.
When a war file is deleted from the watchDir the war is undeployed locally
and cluster wide
-->
<!--
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="pooled"
ackTimeout="15000"/>
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
</Cluster>
-->
<!-- Normally, users must authenticate themselves to each web app
individually. Uncomment the following entry if you would like
a user to be authenticated the first time they encounter a
resource protected by a security constraint, and then have that
user identity maintained across all web applications contained
in this virtual host. -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
-->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
This access log implementation is optimized for maximum performance,
but is hardcoded to support only the "common" and "combined" patterns.
-->
<!--
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<Context path="/tdm" docBase="tdm" debug="0" reloadable="true" />
</Host>
</Engine>
</Service>
</Server>
I have set the context path to /tdm in the server.xml file. Should this be placed in context.xml?
My first page in the project is called Homepage.html. To start my project I give http://localhost:5050/tdm/homepage.html
in a browser. Here I accept a username and password from the user and then do the validation in
a valid.jsp file, where I connect to the database and check and use jsp:forward to go to next pages
accordingly. However when I enter the username and password and click Go in the homepage, nothing is
displayed on the next page. The URL in the browser says valid.jsp but a blank screen appears.
WHY DOES IT HAPPEN SO? DOES IT MEAN THAT TOMCAT IS NOT RECOGNIZING JAVA IN MY SYSTEM OR IS IT A PROBLEM
WITH THE DATABASE CONNECTION OR SOMETHING ELSE? I FEEL THAT TOMCAT IS NOT EXECUTING JSP COMMANDS?
IS IT POSSIBLE?WHY WILL THIS HAPPEN?
I set the JAVA_HOME and CATALINA_HOME environment to the jdk and tomcat folders resp.
Is there any other thing that I need to set in classpath? Should I have my project as a
WAR file in the webapps of TOMCAT or just a folder i.e. directory structure will fine? -
Problem with Java Stack- dev_w2 log mentioned.
Hi everyone, I have a problem with Java Stack, I could not connect to XI home page,
I am unable to login to j2ee engine using visual Administrator.
Please go through the log below. And help me out to resolve this issue and let me know what could be the problem.
trc file: "dev_w2", trc level: 1, release: "640"
ACTIVE TRACE LEVEL 1
ACTIVE TRACE COMPONENTS all, M
B
B create_con (con_name=R/3)
B Loading DB library 'C:\usr\sap\SXI\SYS\exe\run\dboraslib.dll' ...
B Library 'C:\usr\sap\SXI\SYS\exe\run\dboraslib.dll' loaded
B Version of 'C:\usr\sap\SXI\SYS\exe\run\dboraslib.dll' is "640.00", patchlevel (0.39)
B New connection 0 created
M systemid 560 (PC with Windows NT)
M relno 6400
M patchlevel 0
M patchno 43
M intno 20020600
M make: multithreaded, Unicode
M pid 4140
M
M ***LOG Q0Q=> tskh_init, WPStart (Workproc 2 4140) [dpxxdisp.c 1160]
I MtxInit: -2 0 0
M DpSysAdmExtCreate: ABAP is active
M DpSysAdmExtCreate: JAVA is not active
M DpShMCreate: sizeof(wp_adm) 13160 (1316)
M DpShMCreate: sizeof(tm_adm) 2780232 (13832)
M DpShMCreate: sizeof(wp_ca_adm) 24000 (80)
M DpShMCreate: sizeof(appc_ca_adm) 8000 (80)
M DpShMCreate: sizeof(comm_adm) 290000 (580)
M DpShMCreate: sizeof(vmc_adm) 0 (372)
M DpShMCreate: sizeof(wall_adm) (38456/34360/64/184)
M DpShMCreate: SHM_DP_ADM_KEY (addr: 060A0040, size: 3195320)
M DpShMCreate: allocated sys_adm at 060A0040
M DpShMCreate: allocated wp_adm at 060A1B58
M DpShMCreate: allocated tm_adm_list at 060A4EC0
M DpShMCreate: allocated tm_adm at 060A4EE8
M DpShMCreate: allocated wp_ca_adm at 0634BB30
M DpShMCreate: allocated appc_ca_adm at 063518F0
M DpShMCreate: allocated comm_adm_list at 06353830
M DpShMCreate: allocated comm_adm at 06353848
M DpShMCreate: allocated vmc_adm_list at 0639A518
M DpShMCreate: system runs without vmc_adm
M DpShMCreate: allocated ca_info at 0639A540
M DpShMCreate: allocated wall_adm at 0639A548
X EmInit: MmSetImplementation( 2 ).
X <ES> client 2 initializing ....
X <ES> InitFreeList
X Using implementation flat
M <EsNT> Memory Reset disabled as NT default
X ES initialized.
M
M calling db_connect ...
C Got ORACLE_HOME=c:\oracle\ora92 from environment
C Client NLS settings: AMERICAN_AMERICA.UTF8
C Logon as OPS$-user to get SAPSXI's password
C Connecting as /@SXI on connection 0 ...
C Attaching to DB Server SXI (con_hdl=0,svchp=04494404,svrhp=04495074)
C
C Starting user session (con_hdl=0,svchp=04494404,srvhp=04495074,usrhp=0449D8AC)
C
C Now I'm connected to ORACLE
C Got SAPSXI's password from OPS$-user
C Disconnecting from connection 0 ...
C Closing user session (con_hdl=0,svchp=04494404,usrhp=0449D8AC)
C Now I'm disconnected from ORACLE
C Connecting as SAPSXI/<pwd>@SXI on connection 0 ...
C Starting user session (con_hdl=0,svchp=04494404,srvhp=04495074,usrhp=0449D8AC)
C Now I'm connected to ORACLE
C Database NLS settings: AMERICAN_AMERICA.UTF8
C Database instance sxi is running on STARXI with ORACLE version 9.2.0.5.0 since 20081020
B Connection 0 opened
B Wp Hdl ConName ConId ConState TX PRM RCT TIM MAX OPT Date Time DBHost
B 000 000 R/3 000000000 ACTIVE NO YES NO 000 255 255 20081020 123752 STARXI
M db_connect o.k.
I MtxInit: 2 0 0
M SHM_PRES_BUF (addr: 08230040, size: 4400128)
M SHM_ROLL_AREA (addr: 62E40040, size: 77594624)
M SHM_PAGING_AREA (addr: 08670040, size: 39845888)
M SHM_ROLL_ADM (addr: 0AC80040, size: 775412)
M SHM_PAGING_ADM (addr: 0AD40040, size: 525344)
M ThCreateNoBuffer allocated 540152 bytes for 1000 entries at 0ADD0040
M ThCreateNoBuffer index size: 3000 elems
M ThCreateVBAdm allocated 12160 bytes (50 server) at 0AE60040
X EmInit: MmSetImplementation( 2 ).
X <ES> client 2 initializing ....
X Using implementation flat
X ES initialized.
B
B db_con_shm_ini: WP_ID = 2, WP_CNT = 10
B dbtbxbuf: Buffer TABL (addr: 103D00C8, size: 30000128, end: 1206C4C8)
B dbtbxbuf: Profile: max_objects = 5000, displace = 1, reorg = 1
B dbtbxbuf: request_unit = 2000, sync_reload = 5, inval_reload = 5
B dbtbxbuf: protect_shm = 0, force_checks = 0
B dbtbxbuf: tsize_retry = 14302848
B ***LOG BB0=> buffer TABL started with length 30000128 bytes [dbtbxbuf#7 @ 15714] [dbtbxbuf1571 4]
B dbtbxbuf: Buffer TABLP (addr: 0E4000C8, size: 10240000, end: 0EDC40C8)
B dbtbxbuf: Profile: max_objects = 500, displace = 1, reorg = 1
B dbtbxbuf: request_unit = 2000, sync_reload = 5, inval_reload = 5
B dbtbxbuf: protect_shm = 0, force_checks = 0
B dbtbxbuf: tsize_retry = 5046656
B ***LOG BB0=> buffer TABLP started with length 10240000 bytes [dbtbxbuf#7 @ 15714] [dbtbxbuf1571 4]
B dbtbxbuf: Reading TBX statistics:
B dbtbxbuf: 41 object entries precreated
B Layout of EIBUF buffer shared memory:
B 0: 1 * 4 = 4
B 1: 1 * 344 = 344
B 2: 10 * 20 = 200
B 3: 4001 * 48 = 192048
B 4: 2000 * 232 = 464000
B 5: 4001 * 4 = 16004
B 6: 1 * 200 = 200
B 7: 65 * 4 = 260
B 8: 13754 * 256 = 3521024
B Tracing = 0, Shm Protection = 0, Force checks = 0
B dbexpbuf: Buffer EIBUF (addr: 0EDE00D0, size: 4194304, end: 0F1E00D0)
B ***LOG BB0=> buffer EIBUF started with length 4096k bytes [dbexpbuf#5 @ 2322] [dbexpbuf2322 ]
B Layout of ESM buffer shared memory:
B 0: 1 * 4 = 4
B 1: 1 * 344 = 344
B 2: 10 * 20 = 200
B 3: 4001 * 48 = 192048
B 4: 2000 * 232 = 464000
B 5: 4001 * 4 = 16004
B 6: 1 * 200 = 200
B 7: 65 * 4 = 260
B 8: 13754 * 256 = 3521024
B Tracing = 0, Shm Protection = 0, Force checks = 0
B dbexpbuf: Buffer ESM (addr: 0F1F00D0, size: 4194304, end: 0F5F00D0)
B ***LOG BB0=> buffer ESM started with length 4096k bytes [dbexpbuf#5 @ 2322] [dbexpbuf2322 ]
B Layout of CUA buffer shared memory:
B 0: 1 * 4 = 4
B 1: 1 * 344 = 344
B 2: 10 * 20 = 200
B 3: 3001 * 48 = 144048
B 4: 1500 * 232 = 348000
B 5: 3001 * 4 = 12004
B 6: 1 * 200 = 200
B 7: 193 * 4 = 772
B 8: 5012 * 512 = 2566144
B Tracing = 0, Shm Protection = 0, Force checks = 0
B dbexpbuf: Buffer CUA (addr: 0F6000D0, size: 3072000, end: 0F8EE0D0)
B ***LOG BB0=> buffer CUA started with length 3000k bytes [dbexpbuf#5 @ 2322] [dbexpbuf2322 ]
B Layout of OTR buffer shared memory:
B 0: 1 * 4 = 4
B 1: 1 * 344 = 344
B 2: 10 * 20 = 200
B 3: 4001 * 48 = 192048
B 4: 2000 * 232 = 464000
B 5: 4001 * 4 = 16004
B 6: 1 * 200 = 200
B 7: 81 * 4 = 324
B 8: 13754 * 256 = 3521024
B Tracing = 0, Shm Protection = 0, Force checks = 0
B dbexpbuf: Buffer OTR (addr: 0F8F00D0, size: 4194304, end: 0FCF00D0)
B ***LOG BB0=> buffer OTR started with length 4096k bytes [dbexpbuf#5 @ 2322] [dbexpbuf2322 ]
B ***LOG BB0=> buffer CALE started with length 500000 bytes [dbcalbuf#1 @ 2206] [dbcalbuf2206 ]
B dbtran INFO (init_connection '<DEFAULT>' [ORACLE:640.00]):
B max_blocking_factor = 15, max_in_blocking_factor = 5,
B min_blocking_factor = 10, min_in_blocking_factor = 5,
B prefer_union_all = 0, prefer_union_for_select_all = 0,
B prefer_fix_blocking = 0, prefer_in_itab_opt = 1,
B convert AVG = 0, alias table FUPD = 0,
B escape_as_literal = 1, opt GE LE to BETWEEN = 0,
B select * =0x0f, character encoding = STD / <none>:-,
B use_hints = abap->1, dbif->0x1, upto->2147483647, rule_in->0,
B rule_fae->0, concat_fae->0, concat_fae_or->0
M
M PfHIndInitialize: memory=<0AEEC488>, header=<0AEEC488>, records=<0AEEC4D0>
M SecAudit(init_sel_info): init of SCSA completed: 02 slots used
M ***LOG AV6=> 02& [rsauwr1.c 1619]
M SsfSapSecin: automatic application server initialization for SAPSECULIB
N SsfSapSecin: Looking for PSE in database
N SsfPseLoad: started...(path=C:\usr\sap\SXI\DVEBMGS00\sec, AS=starxi, instanceid=00)
N
N SsfPseLoad: Downloading file C:\usr\sap\SXI\DVEBMGS00\sec\SAPSYS.pse (client: , key: SYSPSE, len: 1078)
N SsfPseLoad: ended (1 of 1 sucessfully loaded, 1 checked...
N MskiCreateLogonTicketCache: Logon Ticket cache created in shared memory.
N MskiCreateLogonTicketCache: Logon Ticket cache pointer registered in shared memory.
M rdisp/reinitialize_code_page -> 0
M icm/accept_remote_trace_level -> 0
M rdisp/no_hooks_for_sqlbreak -> 0
S
S *** init spool environment
S initialize debug system
T Stack direction is downwards.
T debug control: prepare exclude for printer trace
T new memory block 121963B0
S spool kernel/ddic check: Ok
S using table TSP02FX for frontend printing
S 1 spool work process(es) found
S frontend print via spool service enabled
S printer list size is 150
S printer type list size is 50
S queue size (profile) = 300
S hostspool list size = 3000
S option list size is 30
S intervals: query=50, rescan=1800, global=300 info=120
S processing queue enabled
S creating spool memory service RSPO-RCLOCKS at 0FEB00A8
S doing lock recovery
S setting server cache root
S using server cache size 100 (prof=100)
S creating spool memory service RSPO-SERVERCACHE at 0FEB0370
S using messages for server info
S size of spec char cache entry: 297028 bytes (timeout 100 sec)
S size of open spool request entry: 2132 bytes
S immediate print option for implicitely closed spool requests is disabled
A
A
A -PXA--
A PXA INITIALIZATION
A PXA: Fragment Size too small: 73 MB, reducing # of fragments
A System page size: 4kb, admin_size: 5032kb.
A PXA allocated (address 67850040, size 150000K)
A System name
A ORACLE...........................SXI........20081004121019.....................................
A is used for RFC security.
A Sharedbuffer token: 41534050...33 (len: 111)====== 2b61c190857e36a8681ef39a...
A abap/pxa = shared protect gen_remote
A PXA INITIALIZATION FINISHED
A -PXA--
A
A ABAP ShmAdm initialized (addr=579F4000 leng=20955136 end=58DF0000)
A >> Shm MMADM area (addr=57E69DF0 leng=126176 end=57E88AD0)
A >> Shm MMDAT area (addr=57E89000 leng=16150528 end=58DF0000)
A RFC rfc/signon_error_log = -1
A RFC rfc/dump_connection_info = 0
A RFC rfc/dump_client_info = 0
A RFC rfc/cp_convert/ignore_error = 1
A RFC rfc/cp_convert/conversion_char = 23
A RFC rfc/wan_compress/threshold = 251
A RFC rfc/recorder_pcs not set, use defaule value: 2
A RFC rfc/delta_trc_level not set, use default value: 0
A RFC rfc/no_uuid_check not set, use default value: 0
A RFC Method> initialize RemObjDriver for ABAP Objects
A Hotpackage version: 9
M ThrCreateShObjects allocated 10568 bytes at 0FFD0040
M ThVBStartUp: restart pending update requests
M
M ThVBAutoStart: update-auto-delete
N SsfSapSecin: putenv(SECUDIR=C:\usr\sap\SXI\DVEBMGS00\sec): ok
N SsfSapSecin: PSE C:\usr\sap\SXI\DVEBMGS00\sec\SAPSYS.pse found!
N
N =================================================
N === SSF INITIALIZATION:
N ===...SSF Security Toolkit name SAPSECULIB .
N ===...SSF trace level is 0 .
N ===...SSF library is C:\usr\sap\SXI\SYS\exe\run\sapsecu.dll .
N ===...SSF hash algorithm is SHA1 .
N ===...SSF symmetric encryption algorithm is DES-CBC .
N ===...sucessfully completed.
N =================================================
N MskiInitLogonTicketCacheHandle: Logon Ticket cache pointer retrieved from shared memory.
N MskiInitLogonTicketCacheHandle: Workprocess runs with Logon Ticket cache.
W =================================================
W === ipl_Init() called
W ITS Plugin: Path dw_gui
W ITS Plugin: Description ITS Plugin - ITS rendering DLL
W ITS Plugin: sizeof(SAP_UC) 2
W ITS Plugin: Release: 640, [6400.0.43.20020600]
W ITS Plugin: Int.version, [31]
W ITS Plugin: Feature set: [3]
W ===... Calling itsp_Init in external dll ===>
W === ipl_Init() returns 0, ITSPE_OK: OK
W =================================================
M MBUF info for hooks: MS component UP
M ThSetEnqName: set enqname by profile
M ThISetEnqname: enq name = >starxi_SXI_00 <
E
E *************** EnqId_EN_ActionAtMsUpHook ***************
E Hook on upcoming Ms (with EnqSrv), get auth EnqId and check it locally
E Enqueue Info: enque/disable_replication = 2
E Enqueue Info: replication disabled
E
E
E *************** ObjShMem_CheckAuthoritativeEnqId ***************
E Checking authoritative EnqId from EnqSrv into ObjShMem
E ObjShMem_CheckAuthoritativeEnqId: ObjShMem ...
E EnqId.EnqTabCreaTime = -999
E EnqId.RandomNumber = -999
E ReqOrd.TimeInSecs = -999
E ReqOrd.ReqNumberThisSec = -999
E ObjShMem_CheckAuthoritativeEnqId: ObjShMem ...
E EnqId.EnqTabCreaTime = -999
E EnqId.RandomNumber = -999
E ReqOrd.TimeInSecs = -999
E ReqOrd.ReqNumberThisSec = -999
E ObjShMem_CheckAuthoritativeEnqId: EnqId is initial in ShMem
E ObjShMem_CheckAuthoritativeEnqId: Overwrite incoming auth EnqId, continue
E EnqId inscribed into initial ObjShMem: (ObjShMem_CheckAuthoritativeEnqId)
E -SHMEM--
E EnqId: EnqTabCreaTime/RandomNumber = 20.10.2008 12:38:10 1224486490 / 4140
E ReqOrd at Srv: TimeInSecs/ReqNumberThisSec = 20.10.2008 12:38:11 1224486491 / 1
E ReqOrd at Cli: TimeInSecs/ReqNumberThisSec = 20.10.2008 12:38:11 1224486491 / 1
E Status: STATUS_OK
E -
M ThActivateServer: state = STARTING
L Begin of BtcSysStartRaise
L Raise event SAP_SYSTEM_START with parameter <starxi_SXI_00 >
L End of BtcSysStartRaise
I
I MPI<c>9#3 Peak buffer usage: 5 (@ 64 KB)
M
M *** WARNING => ThCheckReqInfo: req_info & DP_CANT_HANDLE_REQ
M return number range rc 12
M *** WARNING => ThNoGet: get from object (cli/obj/subobj/range = 000/ALAUTOUID / /01) returned rc 12
S
S server @>SSRV:starxi_SXI_00@< appears or changes (state 1)
B table logging switched off for all clients
S
S server @>SSRV:starxi_SXI_00@< appears or changes (state 1)
M
M hostaddrlist return 0
M
M hostaddrlist return 0
M
M hostaddrlist return 0
M hostaddrlist return 0
M hostaddrlist return 0
Regards,
Varun.You probably made the same mistake as I did and added the tables manually to the "sample" database instead of the "sun-appserv-samples" database.
marc -
Problem with tpinit: TPEPERM
Hello,
I'm having a problem with tpinit: it fails with the error 8 (TPEPERM, bad permissions)
when i try to connect to a Tuxedo environment.
The Tuxedo-server is UNIX, SECURITY is set to NONE.
The Client is windows.
The strange thing is: when i write a simple client, connection succeeds.
With my client, i'm using the same parameters in the tpinfo-structure,
but it fails with TPEPERM... It seems that my client provokes this error,
because the other one is connecting wel...
Is anyone aware of other (client-)things that can provoke a TPEPERM-error?
How can I see what is actually wrong?
Thanks,
Joeri.Thanks for the reply!
We're not using a multi-threading client in this case, so I don't think
this is the solution to our problem.
Anyway, we can try the patch, and see if it helps.
Thanks,
Joeri.
"Winfried Scheulderman" <[email protected]> wrote:
>
Could be an issue with multithreaded workstation clients, in which case
you need
a rolling patch.
See:
http://support.bea.com/application?namespace=askbea&origin=ask_bea_answer.jsp&event=link.view_answer_page_clfydoc&answerpage=solution&page=tux%2FS-08025.htm
Winfried
"Joeri" <[email protected]> wrote:
I forgot to mention that we're using Tuxedo 7.1...
"Joeri" <[email protected]> wrote:
Hello,
I'm having a problem with tpinit: it fails with the error 8 (TPEPERM,
bad permissions)
when i try to connect to a Tuxedo environment.
The Tuxedo-server is UNIX, SECURITY is set to NONE.
The Client is windows.
The strange thing is: when i write a simple client, connection succeeds.
With my client, i'm using the same parameters in the tpinfo-structure,
but it fails with TPEPERM... It seems that my client provokes thiserror,
because the other one is connecting wel...
Is anyone aware of other (client-)things that can provoke a TPEPERM-error?
How can I see what is actually wrong?
Thanks,
Joeri. -
Hi, All
I have a problem with system, I restart the instance and on dispatcher is yellow with this messeger:
Running, Message Server connection ok, Dialog Queue time: 0.00 sec, J2EE: Some processes running
And in the Develop Trace there is this information:
trc file: "dev_disp", trc level: 1, release: "700"
sysno 02
sid BTL
systemid 560 (PC with Windows NT)
relno 7000
patchlevel 0
patchno 133
intno 20050900
make: multithreaded, Unicode, optimized
pid 2820
Thu Oct 09 17:30:31 2008
kernel runs with dp version 232000(ext=109000) (@(#) DPLIB-INT-VERSION-232000-UC)
length of sys_adm_ext is 576 bytes
SWITCH TRC-HIDE on ***
Thu Oct 09 17:30:32 2008
***LOG Q00=> DpSapEnvInit, DPStart (02 2820) [dpxxdisp.c 1239]
shared lib "dw_xml.dll" version 133 successfully loaded
shared lib "dw_xtc.dll" version 133 successfully loaded
shared lib "dw_stl.dll" version 133 successfully loaded
shared lib "dw_gui.dll" version 133 successfully loaded
shared lib "dw_mdm.dll" version 133 successfully loaded
rdisp/softcancel_sequence : -> 0,5,-1
use internal message server connection to port 3902
Thu Oct 09 17:30:36 2008
WARNING => DpNetCheck: NiAddrToHost(1.0.0.0) took 4 seconds
***LOG GZZ=> 1 possible network problems detected - check tracefile and adjust the DNS settings [dpxxtool2.c 5371]
MtxInit: 30000 0 0
DpSysAdmExtInit: ABAP is active
DpSysAdmExtInit: VMC (JAVA VM in WP) is not active
DpIPCInit2: start server >penitustr3_BTL_02 <
DpShMCreate: sizeof(wp_adm) 18672 (1436)
DpShMCreate: sizeof(tm_adm) 4270848 (21248)
DpShMCreate: sizeof(wp_ca_adm) 24000 (80)
DpShMCreate: sizeof(appc_ca_adm) 8000 (80)
DpCommTableSize: max/headSize/ftSize/tableSize=500/8/528056/528064
DpShMCreate: sizeof(comm_adm) 528064 (1048)
DpSlockTableSize: max/headSize/ftSize/fiSize/tableSize=0/0/0/0/0
DpShMCreate: sizeof(slock_adm) 0 (96)
DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
DpShMCreate: sizeof(file_adm) 0 (72)
DpShMCreate: sizeof(vmc_adm) 0 (1544)
DpShMCreate: sizeof(wall_adm) (38456/34360/64/184)
DpShMCreate: sizeof(gw_adm) 48
DpShMCreate: SHM_DP_ADM_KEY (addr: 05EB0040, size: 4930904)
DpShMCreate: allocated sys_adm at 05EB0040
DpShMCreate: allocated wp_adm at 05EB2090
DpShMCreate: allocated tm_adm_list at 05EB6980
DpShMCreate: allocated tm_adm at 05EB69B0
DpShMCreate: allocated wp_ca_adm at 062C94B0
DpShMCreate: allocated appc_ca_adm at 062CF270
DpShMCreate: allocated comm_adm at 062D11B0
DpShMCreate: system runs without slock table
DpShMCreate: system runs without file table
DpShMCreate: allocated vmc_adm_list at 06352070
DpShMCreate: allocated gw_adm at 063520B0
DpShMCreate: system runs without vmc_adm
DpShMCreate: allocated ca_info at 063520E0
DpShMCreate: allocated wall_adm at 063520E8
Thu Oct 09 17:30:37 2008
MBUF state OFF
DpCommInitTable: init table for 500 entries
ThTaskStatus: rdisp/reset_online_during_debug 0
EmInit: MmSetImplementation( 2 ).
MM global diagnostic options set: 0
<ES> client 0 initializing ....
<ES> InitFreeList
<ES> block size is 1024 kByte.
Using implementation view
<EsNT> Using memory model view.
<EsNT> Memory Reset disabled as NT default
<ES> 511 blocks reserved for free list.
ES initialized.
Thu Oct 09 17:30:38 2008
J2EE server info
start = TRUE
state = STARTED
pid = 3184
argv[0] = D:\usr\sap\BTL\DVEBMGS02\exe\jcontrol.EXE
argv[1] = D:\usr\sap\BTL\DVEBMGS02\exe\jcontrol.EXE
argv[2] = pf=D:\usr\sap\BTL\SYS\profile\BTL_DVEBMGS02_penitustr3
argv[3] = -DSAPSTART=1
argv[4] = -DCONNECT_PORT=65000
argv[5] = -DSAPSYSTEM=02
argv[6] = -DSAPSYSTEMNAME=BTL
argv[7] = -DSAPMYNAME=penitustr3_BTL_02
argv[8] = -DSAPPROFILE=D:\usr\sap\BTL\SYS\profile\BTL_DVEBMGS02_penitustr3
argv[9] = -DFRFC_FALLBACK=ON
argv[10] = -DFRFC_FALLBACK_HOST=localhost
start_lazy = 0
start_control = SAP J2EE startup framework
DpJ2eeStart: j2ee state = STARTED
rdisp/http_min_wait_dia_wp : 1 -> 1
***LOG CPS=> DpLoopInit, ICU ( 3.0 3.0 4.0.1) [dpxxdisp.c 1629]
***LOG Q0K=> DpMsAttach, mscon ( penitustr3) [dpxxdisp.c 11799]
DpStartStopMsg: send start message (myname is >penitustr3_BTL_02 <)
DpStartStopMsg: start msg sent
CCMS: AlInitGlobals : alert/use_sema_lock = TRUE.
CCMS: Initalizing shared memory of size 60000000 for monitoring segment.
Thu Oct 09 17:30:39 2008
CCMS: start to initalize 3.X shared alert area (first segment).
DpMsgAdmin: Set release to 7000, patchlevel 0
MBUF state PREPARED
MBUF component UP
DpMBufHwIdSet: set Hardware-ID
***LOG Q1C=> DpMBufHwIdSet [dpxxmbuf.c 1050]
DpMsgAdmin: Set patchno for this platform to 133
Release check o.K.
Thu Oct 09 17:30:40 2008
DpJ2eeLogin: j2ee state = CONNECTED
Thu Oct 09 17:31:18 2008
MBUF state ACTIVE
DpModState: change server state from STARTING to ACTIVE
Thu Oct 09 17:31:21 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:22 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:23 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:24 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:25 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:26 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:27 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:28 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:33 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:34 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:35 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:36 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:37 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:38 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:39 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:41 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:42 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:43 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:44 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:45 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:46 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:47 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:48 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:49 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:50 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:51 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:52 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:53 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:54 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:55 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:57 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:58 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:31:59 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:32:00 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:32:01 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:32:02 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:32:03 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:32:04 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:32:05 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:32:06 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:32:07 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:32:08 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thu Oct 09 17:32:09 2008
WARNING => DpRqServiceQueue: timeout of HIGH PRIO msg, return DP_CANT_HANDLE_REQ
Thanks for ypu help
Regards
DSHI chrs
I had problem when I upgrade the service stack and I reviewed the Java Virtual Machine`s parameters please check the parameter of VM using note 723909. you may use configtool to do it. Please then try to restart the whole engine
In parameter UME: ume.persistence.data_source_configuration = dataSourceConfiguartion_database_only.xml
I hope this helps
Regards
Danny -
Debugger Problems with both 2.4 and 3.0
I've been developing a Cocoa app for Tiger using 2.4.x for the last year or so and have frequently been having problems with the debugger. Breakpoints are triggered correctly but the debugger will hang, for 10-20 seconds when stepping through the code, complaining of time-outs.
Thankfully, this didn't happen during every debug run and I chalked it up to Xcode's debugger being slightly flakey. It was irritating, but I would simply restart the debugger and most times I could then debug far enough before the debugger started hanging to get the information I needed.
In addition, variable display was frequently blatantly incorrect, often showing "out of scope" for variables which are guaranteed to be valid and in scope.
I upgraded to Leopard last week and immediately installed Xcode 3.
Debugger reliability has gone from bad to worse. Inline "in-Editor" debugging doesn't work at all. Never. It seems to be completely broken. The current position indicator never moves from the line with the triggered breakpoint.
I have had more success with the traditional debugger set-up, but the reliability is much, much worse than with 2.4 under Tiger. It's so bad that I am faced with going back to 2.4 to do any serious debugging, which is something I really don't want to have to do...
The behavior under 3.0 is as follows: The breakpoints trigger reliably, but single-stepping sometimes doesn't work at all. Instead of stepping into/over method calls, I just land in the assembly for the symbol:
asm dyldstub_objcmsgSend
Stepping in, over or out does nothing. The debugger never gets onto/into the line/method I want to step to. Debugging seems to be fine in certain modules/files, and refuses to work at all in others. All breakpoints are in application code (i.e. not in frameworks or dynamic libraries).
The variables view is also frequently plagued by incorrect "out of scope" or "invalid" values.
This is driving me absolutely nuts. A reliable debugger is the absolute minimum I need to get anything done and Xcode 3's debugger has proven to be hugely frustrating so far.
Here's some more information about my development environment:
1) I'm running Xcode 3 general release on a GM Leopard installation. I did a clean Leopard install. I am running on a 2GHz Core Duo MacBook Pro.
2) My Xcode project was originally created by 2.4 and 3.0 was able to open it OK.
3) I am building a Cocoa app which is dependent on 4 custom Objective C frameworks. The 4 framework projects are part of the application's Xcode project.
4) The xcodeproj files are 2.4 format allowing me to develop/debug under Tiger with 2.4 if necessary. I am targeting the 10.4u SDK.
5) The application is heavily multi-threaded
Any thanks in getting the Xcode 3 debugger working would be vastly appreciated.
Thanks,
Simon
Message was edited by: siwisiwi wrote:
There goes that idea. Your configuration is almost identical to mine. I think we may be the only people using Objective-C++.
If the behavior I am seeing is just 'par for the course' with GDB then I should be able to verify this by using GDB directly. Does anyone have any pointers on debugging a Cocoa app with GDB (without the Xcode front-end)?
You can always display the Console and type GDB commands in by hand.
If this is indeed a GDB issue (and therefore is endemic to Xcode) then I would be very surprised/disappointed. How could anybody do any serious development on Linux/OS X with this stuff?
You indicated that you are familiar with Visual Studio. That must mean you are used to development on a PC. MacOS X is still (and now, officially) in the UNIX camp. Yes, GDB is a joke compared to Visual Studio or Codewarrior (RIP). But it isn't that bad for a free UNIX debugger. The Sun Forte debugger is a little better, but not a great deal. You can debug with it (GDB) but you'll have to get used to it. But on UNIX, developers just don't rely on debuggers as much as PC developers. It is a different culture. They also almost never use anything but C and never write multithreaded code. If you stick to single threaded C code, you'll find that Xcode and GDB work just fine. On a PC, I'm more apt to go right to the debugger. On UNIX, I'll see if I can fix it with printf/NSLog first. The debugger is more of a last resort.
Plus, this is Xcode 3.0, note the ".0". I've only played with it for a few minutes now, but I can tell it still needs some work. I'm sure Apple knows that too. We have to get used to it too. It seems quite a bit different.
If anyone from Apple's tools division/group is reading this thread then I would really appreciate some guidance on this...
They aren't. You might try one of the developer mailing lists. I have gotten good information from the mailing lists and had people send me vicious e-mails because I didn't agree with them. Your mileage may vary. -
Problems with interface runnable
Hi everyone !!,
I have been developing an application with JDK 1.5.0_06 and applications server Apache Tomcat 1.4.31. It is a multithreaded application which uses a class that implements a runnable interface.
At the moment, this application must be compiled and executed in another machine with JDK 1.5.0_05. The problem is that when an instance of the interface Runnable is called and its method .start() executed , the instance isnt created and the method run doesn't start.
I hope you understand what I mean. If you dont , please, ask me.
Any idea? Any help? I have no idea why this is happening? any problem with the JDK? the applications server?
Thanks in advance, Mar�aproblem is that when an instance of the interface
Runnable is called and its method .start() executed ,
the instance isnt created and the method run doesn't
start.
I hope you understand what I mean. If you dont ,
please, ask me.
I don't understand.
Runnable does not have a start() method.
What do you mean "the instance isn't created"? If you create an instance of something, it's created. If you don't, it's not.
If you call a Thread's start() method, that Thread's Runnable's run() method will be executed in a new thread of execution. If you don't, it won't. -
I am trying to implement some kind of a server listening for requests. The listener part of the app, is a daemon thread that listens for connections and instantiates a handling daemon thread once it gets some. However, my problem is that i must be able to kill the listening thread at the user's will (say via a sto button). I have done this via the Sun's proposed way, by testing a boolean flag in the loop, which is set to false when i wish to kill the thread. The problem with this thing is the following...
Once the thread starts excecuting, it will test the flag, find it true and enter the loop. At some point it will LOCK on the server socket waiting for connection. Unless some client actually connects, it will keep on listening indefinatelly whithought ever bothering to check for the flag again (no matter how many times you set the damn thing to false).
My question is this: Is there any real, non-theoretical, applied way to stop thread in java safely?
Thank you in advance,
LeftyThis was one solution from the socket programming forum, have you tried this??
public Thread MyThread extends Thread{
boolean active = true;
public void run(){
ss.setSoTimeout(90);
while (active){
try{
serverSocket = ss.accept();
catch (SocketTimeoutException ste){
// do nothing
// interrupt thread
public void deactivate(){
active = false;
// you gotta sleep for a time longer than the
// accept() timeout to make sure that timeout is finished.
try{
sleep(91);
}catch (InterruptedException ie){
interrupt();
} -
Problem with Threads and a static variable
I have a problem with the code below. I am yet to make sure that I understand the problem. Correct me if I am wrong please.
Code functionality:
A timer calls SetState every second. It sets the state and sets boolean variable "changed" to true. Then notifies a main process thread to check if the state changed to send a message.
The problem as far I understand is:
Assume the timer Thread calls SetState twice before the main process Thread runs. As a result, "changed" is set to true twice. However, since the main process is blocked twice during the two calls to SetState, when it runs it would have the two SetState timer threads blocked on its synchronized body. It will pass the first one, send the message and set "changed" to false since it was true. Now, it will pass the second thread, but here is the problem, "changed" is already set to false. As a result, it won't send the message even though it is supposed to.
Would you please let me know if my understanding is correct? If so, what would you propose to resolve the problem? Should I call wait some other or should I notify in a different way?
Thanks,
B.D.
Code:
private static volatile boolean bChanged = false;
private static Thread objMainProcess;
protected static void Init(){
objMainProcess = new Thread() {
public void run() {
while( objMainProcess == Thread.currentThread() ) {
GetState();
objMainProcess.setDaemon( true );
objMainProcess.start();
public static void initStatusTimer(){
if(objTimer == null)
objTimer = new javax.swing.Timer( 1000, new java.awt.event.ActionListener(){
public void actionPerformed( java.awt.event.ActionEvent evt){
SetState();
private static void SetState(){
if( objMainProcess == null ) return;
synchronized( objMainProcess ) {
bChanged = true;
try{
objMainProcess.notify();
}catch( IllegalMonitorStateException e ) {}
private static boolean GetState() {
if( objMainProcess == null ) return false;
synchronized( objMainProcess ) {
if( bChanged) {
SendMessage();
bChanged = false;
return true;
try {
objMainProcess.wait();
}catch( InterruptedException e ) {}
return false;
}Thanks DrClap for your reply. Everything you said is right. It is not easy to make them alternate since SetState() could be called from different places where the state could be anything else but a status message. Like a GREETING message for example. It is a handshaking message but not a status message.
Again as you said, There is a reason I can't call sendMessage() inside setState().
The only way I was able to do it is by having a counter of the number of notifies that have been called. Every time notify() is called a counter is incremented. Now instead of just checking if "changed" flag is true, I also check if notify counter is greater than zero. If both true, I send the message. If "changed" flag is false, I check again if the notify counter is greater than zero, I send the message. This way it works, but it is kind of a patch than a good design fix. I am yet to find a good solution.
Thanks,
B.D. -
Problem with threads running javaw
Hi,
Having a problem with multi thread programming using client server sockets. The program works find when starting the the application in a console using java muti.java , but when using javaw multi.java the program doesnt die and have to kill it in the task manager. The program doesnt display any of my gui error messages either when the server disconnect the client. all works find in a console. any advice on this as I havent been able to understand why this is happening? any comment would be appreciated.
troy.troy,
Try and post a minimum code sample of your app which
does not work.
When using javaw, make sure you redirect the standard
error and standard output streams to file.
Graeme.Hi Graeme,
I dont understand what you mean by redirection to file? some of my code below.
The code works fine under a console, code is supposed to exit when the client (the other server )disconnects. the problem is that but the clientworker side of the code still works. which under console it doesnt.
public class Server{
ServerSocket aServerSocket;
Socket dianosticsSocket;
Socket nPortExpress;
ClientListener aClientListener;
LinkedList queue = new LinkedList();
int port = 0;
int clientPort = 0;
String clientName = null;
boolean serverAlive = true;
* Server constructor generates a server
* Socket and then starts a client threads.
* @param aPort socket port of local machine.
public Server(int aPort, String aClientName, int aClientPort){
port = aPort;
clientName = aClientName;
clientPort = aClientPort;
try{
// create a new thread
aServerSocket = new ServerSocket(port) ;
// connect to the nPortExpress
aClientListener = new ClientListener(InetAddress.getByName(clientName), clientPort, queue,this);
// aClientListener.setDaemon(true);
aClientListener.start();
// start a dianostic port
DiagnosticsServer aDiagnosticsServer = new DiagnosticsServer(port,queue,aClientListener);
// System.out.println("Server is running on port " + port + "...");
// System.out.println("Connect to nPort");
catch(Exception e)
// System.out.println("ERROR: Server port " + port + " not available");
JOptionPane.showMessageDialog(null, (e.toString()),"ERROR: Server port " + port + " not available", JOptionPane.ERROR_MESSAGE);
serverAlive = false;
System.exit(1);
while(serverAlive&&aClientListener.hostSocket.isConnected()){
try{
// connect the client
Socket aClient = aServerSocket.accept();
//System.out.println("open client connection");
//System.out.println("client local: "+ aClient.getLocalAddress().toString());
// System.out.println("client localport: "+ aClient.getLocalPort());
// System.out.println("client : "+ aClient.getInetAddress().toString());
// System.out.println("client port: "+ aClient.getLocalPort());
// make a new client thread
ClientWorker clientThread = new ClientWorker(aClient, queue, aClientListener, false);
// start thread
clientThread.start();
catch(Exception e)
//System.out.println("ERROR: Client connection failure");
JOptionPane.showMessageDialog(null, (e.toString()),"ERROR: Client connection failure", JOptionPane.ERROR_MESSAGE);
}// end while
} // end constructor Server
void serverExit(){
JOptionPane.showMessageDialog(null, "Server ","ERROR: nPort Failure", JOptionPane.ERROR_MESSAGE);
System.exit(1);
}// end class Server
*** connect to another server
public class ClientListener extends Thread{
InetAddress hostName;
int hostPort;
Socket hostSocket;
BufferedReader in;
PrintWriter out;
boolean loggedIn;
LinkedList queue; // reference to Server queue
Server serverRef; // reference to main server
* ClientListener connects to the host server.
* @param aHostName is the name of the host eg server name or IP address.
* @param aHostPort is a port number of the host.
* @param aLoginName is the users login name.
public ClientListener(InetAddress aHostName, int aHostPort,LinkedList aQueue,Server aServer) // reference to Server queue)
hostName = aHostName;
hostPort = aHostPort;
queue = aQueue;
serverRef = aServer;
// connect to the server
try{
hostSocket = new Socket(hostName, hostPort);
catch(IOException e){
//System.out.println("ERROR: Connection Host Failed");
JOptionPane.showMessageDialog(null, (e.toString()),"ERROR: Connection to nPort Failed", JOptionPane.ERROR_MESSAGE);
System.exit(0);
} // end constructor ClientListener
** multi client connection server
ClientWorker(Socket aSocket,LinkedList aQueue, ClientListener aClientListener, boolean diagnostics){
queue = aQueue;
addToQueue(this);
client = aSocket;
clientRef = aClientListener;
aDiagnostic = diagnostics;
} // end constructor ClientWorker
* run method is the main loop of the server program
* in change of handle new client connection as well
* as handle all messages and errors.
public void run(){
boolean alive = true;
String aSubString = "";
in = null;
out = null;
loginName = "";
loggedIn = false;
while (alive && client.isConnected()&& clientRef.hostSocket.isConnected()){
try{
in = new BufferedReader(new InputStreamReader(client.getInputStream()));
out = new PrintWriter(new OutputStreamWriter(client.getOutputStream()));
if(aDiagnostic){
out.println("WELCOME to diagnostics");
broadCastDia("Connect : diagnostics "+client.getInetAddress().toString());
out.flush();
else {
out.println("WELCOME to Troy's Server");
broadCastDia("Connect : client "+client.getInetAddress().toString());
out.flush();
String line;
while(((line = in.readLine())!= null)){
StringTokenizer aStringToken = new StringTokenizer(line, " ");
if(!aDiagnostic){
broadCastDia(line);
clientRef.sendMessage(line); // send mesage out to netExpress
out.println(line);
out.flush();
else{
if(line.equals("GETIPS"))
getIPs();
else{
clientRef.sendMessage(line); // send mesage out to netExpress
out.println(line);
out.flush();
} // end while
catch(Exception e){
// System.out.println("ERROR:Client Connection reset");
JOptionPane.showMessageDialog(null, (e.toString()),"ERROR:Client Connection reset", JOptionPane.ERROR_MESSAGE);
try{
if(aDiagnostic){
broadCastDia("Disconnect : diagnostics "+client.getInetAddress().toString());
out.flush();
else {
broadCastDia("Disconnect : client "+client.getInetAddress().toString());
out.flush();
// close the buffers and connection;
in.close();
out.close();
client.close();
// System.out.println("out");
// remove from list
removeThreadQueue(this);
alive = false;
catch(Exception e){
// System.out.println("ERROR: Client Connection reset failure");
JOptionPane.showMessageDialog(null, (e.toString()),"ERROR: Client Connection reset failure", JOptionPane.ERROR_MESSAGE);
}// end while
} // end method run
* method run - Generates io stream for communicating with the server and
* starts the client gui. Run also parses the input commands from the server.
public void run(){
boolean alive = true;
try{
// begin to life the gui
// aGuiClient = new ClientGui(hostName.getHostName(), hostPort, loginName, this);
// aGuiClient.show();
in = new BufferedReader(new InputStreamReader(hostSocket.getInputStream()));
out = new PrintWriter(new OutputStreamWriter(hostSocket.getOutputStream()));
while (alive && hostSocket.isConnected()){
String line;
while(((line = in.readLine())!= null)){
System.out.println(line);
broadCast(line);
} // end while
} // end while
catch(Exception e){
// System.out.println("ERRORa Connection to host reset");
JOptionPane.showMessageDialog(null, (e.toString()),"ERROR: Connection to nPort reset", JOptionPane.ERROR_MESSAGE);
try{
hostSocket.close();
}catch(Exception a){
JOptionPane.showMessageDialog(null, (a.toString()),"ERROR: Exception", JOptionPane.ERROR_MESSAGE);
alive = false;
System.exit(1);
} // end method run -
Problem with threads and camera.
Hi everybody!
I've a problem with taking snapshot.
I would like to display a loading screen after it take snapshot ( sometimes i
have to wait few seconds after i took snapshot. Propably photo is being taken in time where i have to wait).
I was trying to use threads but i didn't succeed.
I made this code:
display.setCurrent(perform);
new Thread(new Runnable(){
public void run() {
while((!performing.isShown()) && (backgroundCamera.isShown())){
Thread.yield();
notifyAll();
}).start();
new Thread(new Runnable(){
public void run() {
try {
this.wait();
} catch(Exception e) {
exceptionHandler(e);
photo = camera.snapshot();
display.setCurrent(displayPhoto);
}).start();This code is sometimes showing performing screen but sometimes no.
I don't know why. In my opinion performing.isShown() method isn't working correctly.
Does anyone have some idea how to use threads here?Hi,
I've finally managed to work this fine.
The code:
Object o = new Object();
display.setCurrent(perform);
new Thread(new Runnable(){
public void run() {
while(!performing.isShown()){
Thread.yield();
synchronized(o) {
o.notify();
}).start();
new Thread(new Runnable(){
public void run() {
try {
synchronized(o) {
o.wait(1);
} catch(Exception e) {
exceptionHandler(e);
photo = camera.snapshot();
display.setCurrent(displayPhoto);
}).start();
Maybe you are looking for
-
Why can't I open upgraded Firefox?
I downloaded on my iMac the recent upgrade to Firefox. Now on my desktop, I have a rectangular icon that says "Firefox" underneath it. As instructed, I have dropped it into the Applications folder, which now contains both the rectangular icon and the
-
i dont normally rush into updated things but i did and after having updated my itunes and itouch, films dont synch onto my itouch from my pc? any ideas? thanks ade
-
Using float for a picture: no proper margin with ul and ol ?
When inserting a picture in a div, and assigning it to float left, I noticed that text with <ol> or <ul> does not shift sufficiently to the right. The bullets or numbers even show partly inside the picture. When using large enough margins (more the 3
-
Loosing internet connection after Mountain Lion update
Hi, I'm working with a MBP 2012 model. After the update to Mountain Lion, the MBP is loosing the internet connection now and then. I've did a PRAM reset, but the issue is still present. Are there any tips oder way to solve the issue? Thank so far
-
I just wanted to share this sheet with new users to Lion who are confused and/or frusttrated. I printed this sheet out and had it on my desk for a few days until I got the hang of it. Now Im absolutrely loving this Lion upgrade, it's amazing to use,