URLClassLoader hangs - never returns
Hello all,
I am having a problem using the URLClassLoader. I am using the Apache 1.3.19 with the Tomcat 3.2.1 serverl/jsp engine.
I have an Applet displays a splash screen and then uses the URLClassLoader to load my jar file and start my main Applet. This works great when I use appletviewer or a web browser from the same machine that Apache and Tomcat are running on. However, when I use a browser on another machine, the Applet hangs on the ClassLoader loader = new URLClassLoader(jarFile); line. I have put debug code in there and I know for a fact that it is the URLClassLoader that is hanging the applet.
Any ideas? Here is the source code...
{ // other code.....
// Get our current URL code base
URL currentPage = getCodeBase();
// Put the jar location string together
StringBuffer strBuf = new StringBuffer(
"http://" + currentPage.getHost() + ":" + currentPage.getPort() + currentPage.getPath() + "MyJarFile.jar");
// Add the URL to the array for the ClassLoader
URL[] jarFile = new URL[1];
jarFile[0] = new URL(new String(strBuf));
// Load the jar file
// This line hangs if you are not running on the same machine as the web server
ClassLoader loader = new URLClassLoader(jarFile);
// Get our image from the jar file
splashImage = LoadImageIcon.getImage(splashFile, loader);
// Call the paint function to draw the image
paint(this.getGraphics());
// Load the main applet
Class mainClass = loader.loadClass(mainApplet);
// Get a new instance of our main applet
Component mainInstance =
(Component)mainClass.newInstance();
// Launch the main applet
this.getContentPane().add(mainInstance);
Please let me know if you have any suggestions or need any further information.
Found the problem.
My applet was throwing an AccessControlException that I was not catching. You cannot use the URLClassLoader from an applet since you do not have access to the file system.
I was able to fix this by including all of the files in one jar file, implementing AppletStub, and then using the ClassLoader and Class classes. Here is the functional code if anyone is interested...
// Get our image from the jar file using this applets class loader
splashImage = LoadImageIcon.getImage(splashFile, this.getClass().getClassLoader());
// Make sure that the splash screen get's painted right away
paint(this.getGraphics());
// Get the class for the main applet
Class appletClass = Class.forName(mainApplet);
// Create a new instance of the main applet
JApplet realApplet = (JApplet)appletClass.newInstance();
// Set this applet to be the stub of the applet
realApplet.setStub(this);
// Add the main applet to the screen
getContentPane().add(realApplet);
// Init and start the main applet
realApplet.init();
realApplet.start();
// Stop painting the splash screen
keepPainting = false;
// Remove the splash screen and show our applet
validate();
Similar Messages
-
Toolkit.getDefaultToolkit() in Java service never returns on Windows
I'm stumped by this problem. It appears to be specific to a single machine as I can reproduce it reliably there but not on other machines. I'm hoping someone has some thoughts on what could be going on.
Here's the scenario:
I have Tomcat 5 running as a service on a new installed Windows 2000 Server with up to date service packs and j2sdk1.4.2_06. The service is configure to run headless.
I have a webapp that performs simple image transformations using AWT and Java2D. Any invocation of Toolkit.getDefaultToolkit() never returns. The thread just sits there consuming no CPU and does not throw an exception. I've narrowed it further to a call to new sun.awt.windows.WToolkit() in getToolKit(). sun.awt.windows.WToolkit is the value of the system property awt.toolkit.
I can reproduce this exact behavior in a different scenario: the server is running sshd on cygwin. If I ssh to the server and run the following class, it also hangs at new sun.awt.windows.WToolkit().
public class ToolkitTester
public static void main(String[] args)
System.out.println("awt.toolkit = " + System.getProperty("awt.toolkit"));
System.out.print("Invoking: new sun.awt.windows.WToolkit()... ");
new sun.awt.windows.WToolkit();
System.out.println("done.");
}Running this same class from a shell on the server works just fine.
I have tried j2sdk1.4.2_03 and jdk1.5 with the same results. I've replicated this second scenario (logging in over ssh) on another Windows 2000 server and do not see this behavior.
Any thoughts?
AlonOkay. Here's the fix...
The 'no video card' comment was actually pretty close. The issue appears to be with DirectDraw support. We found this by watching regmon as the testing code ran. Installing a new video driver may have addressed this but so does disabling using DirectDraw as described here:
http://java.sun.com/products/java-media/2D/forDevelopers/java2dfaq.html#dither
java -Dsun.java2d.noddraw=true
Wow. Weird one.
Alon -
DAQmxResetDevice never returns. PC must be rebooted
We have a problem where our program never returns from a call to DAQmxResetDevice(). The program cannot be stopped via task manager. Trying to shutdown the PC frequently results in a blue screen of death (BSOD). Sometimes the Windows won't even shut down and we must resort to physically powering off the PC.
This is the code that gets called when the program starts and when it tries to recover from an error such as the USB cable is removed and reinserted. Is there some precondition that should be checked before calling DAQmxResetDevice? Or should it ALWAYS be safe to call it? Note that some of the args and error handling has been removed so you can see the sequence of calls.
err = DAQmxResetDevice( m_device ); <= hangs on this statement
if (err != 0)
DAQmxGetErrorString(err, errorString, 1024);
Log(errorString);
if( DAQmxCreateTask( "", &m_analogTaskHandle ) == 0)
err = DAQmxCreateAIVoltageChan( ... m_analogTaskHandle ... );
if( err == 0 )
DAQmxStartTask( m_analogTaskHandle );
Thanks for any ideas, we're getting close to product release and we don't want our customers having to reboot their PC just because of glitch in the NI code.
Hardware is a USB6008 connected to PC via an external
hub. Sometimes we have two of these systems (two hubs, two USB6008 cards)
connected to one PC. But it will happen when only one is currently conected.
Win7 64
DAQmx 9.2
MitchAdditional Info. This is the WinDbg analysis of the minidump file created when the BSOD happens during shutdown. Note that the probable cause is nipalk.sys.
0: kd> !analyze -v
* Bugcheck Analysis *
DRIVER_POWER_STATE_FAILURE (9f)
A driver is causing an inconsistent power state.
Arguments:
Arg1: 0000000000000004, The power transition timed out waiting to synchronize with the Pnp
subsystem.
Arg2: 0000000000000258, Timeout in seconds.
Arg3: fffffa8006d58680, The thread currently holding on to the Pnp lock.
Arg4: fffff80000b9c510
Debugging Details:
DRVPOWERSTATE_SUBCODE: 4
FAULTING_THREAD: fffffa8006d58680
CUSTOMER_CRASH_COUNT: 1
DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT
BUGCHECK_STR: 0x9F
PROCESS_NAME: System
CURRENT_IRQL: 2
LAST_CONTROL_TRANSFER: from fffff80002ad5992 to fffff80002ad45da
STACK_TEXT:
`00000000 : nt!KiSwapContext+0x7a
`08e5ca90 : nt!KiCommitThreadWait+0x1d2
`8002de00 : nt!KeWaitForSingleObject+0x19f
`009b2180 : nipalk+0x8e784
`00024010 : 0xfffff8a0`14132000
`03569460 : 0xfffff800`00000000
`03a3d7b5 : 0xffff0000`00020000
`03569460 : 0x8002de00
`03a78488 : 0xfffff880`009b2180
`00000000 : 0xfffff8a0`00024010
`000e0082 : 0xfffff880`03569460
`00000000 : nimxdfk+0xb7b5
`ffffffff : 0xfffff880`03569460
`00000020 : nimxdfk+0x46488
BugCheck 1000009F, {4, 258, fffffa8006d58680, fffff80000b9c510}
Unable to load image \SystemRoot\System32\drivers\nipalk.sys, Win32 error 0n2
*** WARNING: Unable to verify timestamp for nipalk.sys
*** ERROR: Module load completed but symbols could not be loaded for nipalk.sys
Unable to load image \SystemRoot\system32\DRIVERS\nimxdfk.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for nimxdfk.dll
*** ERROR: Module load completed but symbols could not be loaded for nimxdfk.dll
Probably caused by : nipalk.sys ( nipalk+8e784 )
BSODs are really unacceptable. Thanks for your help.
Mitch -
This is totally insane!! They took someone's money in a sec by 'MISTAKE' but haven't returned after 10days.
I already have chatted with two staffs about this but different from what they promised, this still has not solved yet!
My devoted time for this was totally wasted and I am still in suffering.
I think this is theft!!! What shall I do more?!I am really sorry to bring this issue to the forum but had no choice. Like I mentioned above, I already have contacted them but never returned me back. Sick of chatting with those staffs who act like answering machine and wasting my time because of their mistake. After I finally decided to post this last night, then they called me this morning that I have to wait 5days more.
Sorry again, and thanks for your reply.
J -
Hello,
I'm invoking java application from C++ exe (Win2000) and this works almost fine (except DestroyJavaVM()), but if the same piece of code that handles Java resides in DLL then JNI_CreateJavaVM() (1.4.0) NEVER returns and the process gets stuck !!!
What could be the reason ?
Thanx !Hi,
JVM can start java application from DLL if the application (that embeds java application and DLL) has message loop (or simple endless while loop, I tested).
Vitally -
Select count(Key_Field) from table_name never returns
I am doing some scalability tests and am building a db w/table that will contain 400Million records. I am trying to see how far along I am in the process, and am experiencing this problem.
The select count(ID) never returns.
Does anyone have any suggestions for me as to how i might make it perform better? I am not too familiar with such large scale implementations, so any advice would be appreciated, and you can feel free to tell me the most basic info... (I do read docs, etc, but there might be a place I have not yet searched..)
The hardware is not an issue, at least for my testing, as it is as follows, and I see the IO on the arrays is busy, but not too busy, and that is to be expected, and we are neither CPU or RAM bound.
SUN E4800
12 CPUs
48GB RAM
2 T3 Arrays (fiber cards on different IO boards)
4 internal drives (2 on each IO board), not mirrored or RAIDedThis is always a troublesome type of query.
Are you trying to count the number of all rows in a table? You can try to ANALYZE the table, then from user_tables select the NUM_ROWS
I am doing some scalability tests and am building a db w/table that will contain 400Million records. I am trying to see how far along I am in the process, and am experiencing this problem.
The select count(ID) never returns.
Does anyone have any suggestions for me as to how i might make it perform better? I am not too familiar with such large scale implementations, so any advice would be appreciated, and you can feel free to tell me the most basic info... (I do read docs, etc, but there might be a place I have not yet searched..)
The hardware is not an issue, at least for my testing, as it is as follows, and I see the IO on the arrays is busy, but not too busy, and that is to be expected, and we are neither CPU or RAM bound.
SUN E4800
12 CPUs
48GB RAM
2 T3 Arrays (fiber cards on different IO boards)
4 internal drives (2 on each IO board), not mirrored or RAIDed -
SAXParser.parse never returns!
I'm using sockets to transfer xml data. When I feed my InputSource (containing the xml document) into the SAXPaser.parse method I can see the events being fired correctly (ie: startDocument, characters, startElement,etc) apart from the endDocument event. The parse method is executing all my code but it never returns! What should cause it to return? Do I need to close the socket connection or should it recognise when it has reached the final closing element?
I couldn't find that exact implementation but I looked into the crimson version and it reads until it hits an EOF. It's a reasonable guess that the xerces version does the same. I think it has to read in the whole file becasue it cannot tell whether the document is well-formed otherwise.
-
MobileService.SyncContext.PushAsync never returns in Release build
I am currently trying to create a windows phone app with azure mobile services but somehow offline sync is not working. When I create a release build and call await SyncContext.PushAsync() it never returns back to the context.
I dont really know what is happening,
Code:
await App.MobileService.SyncContext.PushAsync();
return true;
When I run a debug build everything works fine.
I can't understand, whats happening in Release mode?
Its a very urgent. Please provide a quick solution or setup a call with me.
Thanks,
Hema
hemaThank you for the answer, I added HttpMessageHandler to check which operation was causing the problem and a IMobileServiceSyncHandler, as I mentioned earlier when there is nothing to Push the syncing work fine and the pull can be made, but when the push
needs to send data the request passes by OnPushCompleteAsync and does not get to the LoggingHandler.SendAsync or to the ExecuteTableOperationAsync and on the Output console I can see the following exceptions are thrown but the PushAsync does not fail and never
ends.
A first chance exception of type 'System.Resources.MissingManifestResourceException' occurred in mscorlib.ni.dll
A first chance exception of type 'System.Resources.MissingManifestResourceException' occurred in mscorlib.ni.dll
A first chance exception of type 'System.Resources.MissingManifestResourceException' occurred in mscorlib.ni.dll
A first chance exception of type 'System.Resources.MissingManifestResourceException' occurred in mscorlib.ni.dll
A first chance exception of type 'System.Resources.MissingManifestResourceException' occurred in mscorlib.ni.dll
A first chance exception of type 'System.Resources.MissingManifestResourceException' occurred in mscorlib.ni.dll
A first chance exception of type 'System.Resources.MissingManifestResourceException' occurred in mscorlib.ni.dll
The thread 0x1080 has exited with code 259 (0x103).
About the UI, this operation is triggered by the user (button) and is handle in an ICommand in a way that can only be triggered once and locked from other processes with a SemaphoreSlim, I add a little part of the sync code.
await this.MobileServiceClient.SyncContext.PushAsync(cancellationToken);
var query = SyncItemTable.CreateQuery().Where(syncItem => syncItem.UserId == userId);
await SyncItemTable.PullAsync("PullSyncItem", query, true, cancellationToken);
I am using the nugets WindowsAzure.MobileServices, 1.3.1 and WindowsAzure.MobileServices.SQLiteStore, 1.0.1
I appreciate a quick response this is a stopper bug for the next release of our application. -
Revision: 12007
Revision: 12007
Author: [email protected]
Date: 2009-11-19 12:45:27 -0800 (Thu, 19 Nov 2009)
Log Message:
When the Internet Explorer browser window is obscured Stage.width and Stage.height never return the proper sizes until/unless the IE window is unobscured long enough for the player to feel it needs to render initially. This was preventing our preloader from completing, since we were waiting for a non-0 Stage size. Took a slightly different approach to solving the bug for which the original logic was added to work around.
QE notes: None
Doc notes: None
Bugs: SDK-24191
Reviewer: Alex, Evtim
Tests run: Checkin
Is noteworthy for integration: No
Ticket Links:
http://bugs.adobe.com/jira/browse/non-0
http://bugs.adobe.com/jira/browse/SDK-24191
Modified Paths:
flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as
flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/Preloader.asRevision: 12007
Revision: 12007
Author: [email protected]
Date: 2009-11-19 12:45:27 -0800 (Thu, 19 Nov 2009)
Log Message:
When the Internet Explorer browser window is obscured Stage.width and Stage.height never return the proper sizes until/unless the IE window is unobscured long enough for the player to feel it needs to render initially. This was preventing our preloader from completing, since we were waiting for a non-0 Stage size. Took a slightly different approach to solving the bug for which the original logic was added to work around.
QE notes: None
Doc notes: None
Bugs: SDK-24191
Reviewer: Alex, Evtim
Tests run: Checkin
Is noteworthy for integration: No
Ticket Links:
http://bugs.adobe.com/jira/browse/non-0
http://bugs.adobe.com/jira/browse/SDK-24191
Modified Paths:
flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as
flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/Preloader.as -
4.51 new InitialContext never returns
4.51 new InitialContext never returns
When I do a "new InitialContext" in my client test program, it never
returns
when run on solaris or linux, it works fine on NT.
Another symptom of the same problem is that a LIST command of
weblogic.Admin works
on NT but never returns on Solaris or Linux.
VERSION and SHUTDOWN work on NT, Solaris and Linux.
also note that on linux with ibm 1.1.8 jdk, I completely re-loaded the
weblogic
with only the system password changed in the weblogic.properties file
(just to
make sure I did not accidently put something in the properties file to
cause
the problem)
here is the some raw data, I do relaize that some of these combinations
are not certified (none of the Solaris or Linux combinations worked).
Sun Ultra10 2.5.1 with jdk1.1.8 no service pack
Sun Ultra10 2.5.1 with jdk1.1.8 service pack 8
Sun Ultra10 2.5.1 with jdk1.1.7 service pack 8
Windows NT 4.0 service pack 6a javasoft jdk1.2.2 weblogic service pack 7
linux (redhat 6.2 with blackdown jdk1.2.2)
linux (redhat 6.2 with ibm1.1.8 jdk)
changes to weblogic.properties:
weblogic.system.password=syspword
to startup weblogic:
export PATH=$PATH:/usr/local/jdk118/bin
export JDK_HOME=/usr/local/jdk118
export
CLASSPATH=./classes:./lib/weblogicaux.jar:./myserver/serverclasses
./startWebLogic.sh
code segment from client program:
static public Context getInitialContext()
Context returnValue = null;
Properties p;
p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.TengahInitialContextFactory");
p.put(Context.PROVIDER_URL,"t3://207.112.33.206:7001");
try
System.out.println("getting initial context");
returnValue = new InitialContext(p);
System.out.println("got initial context");
catch (NamingException ex)
System.out.println("exception");
System.out.println("NamingException " +
ex.getMessage())
ex.printStackTrace();
catch (Exception ex)
System.out.println("exception");
return returnValue;
results of running the client program:
getting initial context
the client program never returns
check linux version:
[jack@linux01 test]$ uname -a
Linux linux01.delfour.com 2.2.14-5.0 #1 Tue Mar 7 20:53:41 EST 2000 i586
unknown
check weblogic version on NT:
[jack@linux01 test]$ java weblogic.Admin t3://207.112.33.203:7001
VERSION
WebLogic Build: 4.5.1 Service Pack 7 02/16/2000 15:17:50 #63218
check weblogic version on linux:
[jack@linux01 test]$ java weblogic.Admin t3://localhost:7001 VERSION
WebLogic Build: 4.5.1 09/30/1999 17:41:18 #53704
test one: linux client to linux server:
[jack@linux01 test]$ java weblogic.Admin t3://localhost:7001 PING 1 1
Sending 1 ping of 1 byte.
RTT = ~741 milliseconds, or ~741 milliseconds/packet
test two: linux client to linux server:
[jack@linux01 test]$ java weblogic.Admin t3://localhost:7001 LIST
weblogic system bogus
Setting credentials
An AuthenticationException occurred that prevented access to the given
name in the naming service. The username/password you supplied is not
authorized for thi
s operation.
test three: linux client to linux server:
[jack@linux01 test]$ java weblogic.Admin t3://localhost:7001 LIST
weblogic syste
m syspword
Setting credentials
after 5 minutes, still no response
test four: linux client to NT server:
[jack@linux01 test]$ java weblogic.Admin t3://207.112.33.203:7001 LIST
weblogic system password
Setting credentials
Contents of weblogic
fileSystem:
weblogic.jndi.toolkit.ReplicatedWLContext:weblogic.jndi.toolkit.WL
[email protected]:[7001,7001,7002,7002,-1]
NameBas
edFailOverHandler (name: weblogic.fileSystem, env:
weblogic.jndi.Environment@806
05d5
ejb:
weblogic.jndi.toolkit.ReplicatedWLContext:weblogic.jndi.toolkit.WLContext
[email protected]:[7001,7001,7002,7002,-1]
NameBasedFailO
verHandler (name: weblogic.ejb, env: weblogic.jndi.Environment@80605d5
common:
weblogic.jndi.toolkit.ReplicatedWLContext:weblogic.jndi.toolkit.WLCont
[email protected]:[7001,7001,7002,7002,-1]
NameBasedFa
ilOverHandler (name: weblogic.common, env:
weblogic.jndi.Environment@80605d5
jdbc:
weblogic.jndi.toolkit.ReplicatedWLContext:weblogic.jndi.toolkit.WLContex
[email protected]:[7001,7001,7002,7002,-1]
NameBasedFail
OverHandler (name: weblogic.jdbc, env: weblogic.jndi.Environment@80605d5
jts:
weblogic.jndi.toolkit.ReplicatedWLContext:weblogic.jndi.toolkit.WLContext
[email protected]:[7001,7001,7002,7002,-1]
NameBasedFailO
verHandler (name: weblogic.jts, env: weblogic.jndi.Environment@80605d5
server:
weblogic.jndi.toolkit.ReplicatedWLContext:weblogic.jndi.toolkit.WLCont
[email protected]:[7001,7001,7002,7002,-1]
NameBasedFa
ilOverHandler (name: weblogic.server, env:
weblogic.jndi.Environment@80605d5
rmi:
weblogic.jndi.toolkit.ReplicatedWLContext:weblogic.jndi.toolkit.WLContext
[email protected]:[7001,7001,7002,7002,-1]
NameBasedFailO
verHandler (name: weblogic.rmi, env: weblogic.jndi.Environment@80605d5
jms:
weblogic.jndi.toolkit.ReplicatedWLContext:weblogic.jndi.toolkit.WLContext
[email protected]:[7001,7001,7002,7002,-1]
NameBasedFailO
verHandler (name: weblogic.jms, env: weblogic.jndi.Environment@80605d5
jndi:
weblogic.jndi.toolkit.ReplicatedWLContext:weblogic.jndi.toolkit.WLContex
[email protected]:[7001,7001,7002,7002,-1]
NameBasedFail
OverHandler (name: weblogic.jndi, env: weblogic.jndi.Environment@80605d5
here is the end of the weblogic traces after a single LIST on linux:
Sun May 07 09:40:34 EDT 2000:<I> <WebLogicServer> Server loading from
weblogic.c
lass.path. EJB redeployment enabled.
Sun May 07 09:40:44 EDT 2000:<I> <WebLogicServer> Event handler log
started (reg
id: 1)
Sun May 07 09:40:44 EDT 2000:<I> <WebLogicServer> Invoking main-style
startup we
blogic.jdbc.common.internal.JdbcStartup
weblogic.jdbc.common.internal.JdbcStartu
p
Sun May 07 09:40:48 EDT 2000:<S> <SSLListenThread> 2 certificate(s):
fingerprint = 88dae49f1a3122e62e7a94a3dc76fbf0, not before = Tue Oct
26 15:03:
00 EDT 1999, not after = Tue Oct 24 15:03:00 EDT 2000, holder = C=US
SP=Californ
ia L=San Francisco O=WebLogic CN=weblogic.beasys.com
[email protected]
, issuer = C=US SP=California L=San Francisco O=WebLogic OU=Security
CN=Demonstr
ation Certificate Authority [email protected] , key = modulus =
65 byte
Bignum
value=00959b5668811e78a28a018631455f5bd4f51b0e3e77b79dcb7a4c67c31a8f94b0
4bce347b731121da27918dd36bce8f1f0b77cd7944ecbd3d517baa3a83dcce8b,
exponent = 3 b
yte Bignum value=010001
fingerprint = f1c530f7211410a2220c7e9d3152b496, not before = Tue Oct
26 14:18:
53 EDT 1999, not after = Wed Oct 25 14:18:53 EDT 2000, holder = C=US
SP=Californ
ia L=San Francisco O=WebLogic OU=Security CN=Demonstration Certificate
Authority
[email protected] , issuer = C=US SP=California L=San
Francisco O=WebL
ogic OU=Security CN=Demonstration Certificate Authority
[email protected]
om , key = modulus = 65 byte Bignum
value=00b6743b62ce13992324b18d8061d24457ff90
5b7e8aaceef6bef802b6f8a1e176f9791d571f14df79e9dd40f1f8e83e9e41048f05f931fe07dc06
2f19ac20fa93, exponent = 3 byte Bignum value=010001
Sun May 07 09:40:48 EDT 2000:<I> <SSLListenThread> Using exportable
strength
SSL
Sun May 07 09:40:50 EDT 2000:<I> <JMS> Beginning startup process
Sun May 07 09:40:50 EDT 2000:<I> <JMS> Init JMS Security
Sun May 07 09:40:51 EDT 2000:<I> <JMS> Startup process complete. JMS is
active
Sun May 07 09:40:51 EDT 2000:<I> <WebLogicServer> Invoking main-style
startup RM
I Registry weblogic.rmi.internal.RegistryImpl
Sun May 07 09:40:51 EDT 2000:<I> <RMI> Registry started
Sun May 07 09:40:52 EDT 2000:<I> <EJB> 0 EJBs were deployed using .ser
files.
Sun May 07 09:40:52 EDT 2000:<I> <EJB> 0 EJBs were deployed using .jar
files.
Sun May 07 09:40:53 EDT 2000:<I> <ZAC> ZAC ACLs initialized
Sun May 07 09:40:53 EDT 2000:<I> <ZAC> ZAC packages stored in local
directory ex
ports
Sun May 07 09:40:54 EDT 2000:<I> <ListenThread> Listening on port: 7001
Sun May 07 09:40:57 EDT 2000:<I> <SSLListenThread> Listening on port:
7002
Sun May 07 09:40:58 EDT 2000:<I> <WebLogicServer> WebLogic Server
started
Sun May 07 09:41:09 EDT 2000:<I> <ListenThread> Adding address:
linux01.delfour.
com/207.112.33.206 to licensed client list
Sun May 07 09:41:12 EDT 2000:<I> <RJVM> Creating connection to
localhost/127.0.0
.1 -1260680115049870327
I hope someone can shed some light on this...
- Rob (jack) LapenseeIt looks like you are modifying the object you are iterating over while you are iterating... not good. Say your gp only had one element, a LINE_TO. It will run through and call another LINE_TO in the switch, thus when it comes back to the while, there is a newly added point to interpret, so the iterator will never finish. Usually, most components throw a ConcurrentModificationException when this happens for this type of case. I'm not sure why the PathIterator doesn't.
In short, use a different reference in the loop then the one you are iterating over.
-JBoeing -
Recursive WITH (Recursive Subquery Factoring) Never Returns
11.2.0.2 database on Windows, SQL Developer Version 3.2.20.09, build MAIN-09.87 (Database and SQL Developer are on the same machine. I have also tried connecting to a Linux 11.2 database and have the same results.)
I've been doing some simple testing with recursive WITH (Recursive Subquery Factoring) and when I run this following statement in SQL*Plus it returns instantly. However when running in SQL Developer it never returns, I've let it run for quite a long time (172 seconds) and gotten nothing, I finally kill the statement. Once I ran it and even killing the job didn't come back. I can get an explain plan but if I try to run it, run as script or autotrace it never returns. I have only one plan in the plan_table for this test, and it's only 4 lines long. No errors, no messages.
WITH get_plan (query_plan, id, planlevel) as
select ' '||operation||' '||options||' '||object_name query_plan, id, 1 planlevel
from plan_table
where id = 0
union all
select lpad(' ',2*planlevel)||p.operation||' '||p.options||' '||p.object_name query_plan, p.id, planlevel+1
from get_plan g, plan_table p
where g.id = p.parent_id
SELECT QUERY_PLAN FROM GET_PLAN ORDER BY PLANLEVEL;Hi Jeff, using either give the same results. The query is "running", as is the little graphic with the bouncing gray bar is moving back and forth saying either "Query Results" or "Scriptrunner Task" as appropriate.
OK this is odd. I run a count(*) on plan_table in SQL*Plus and get 4, in SQL Developer I get 487. Hun? That makes no sense I'm connect as the same user in each. Where are all these other entries coming from and why can't I see them in SQL Plus? Does SQL Developer have it's own PLAN_TABLE?
**EDIT --- Yes that seems to be the case. The PLAN_ID I see in SQL Plus doesn't even exist in the SQL Deveropler version of the table. OK that's good to know. I assume the plan_table for SQL Developer is local to it somehow? It's not in the database as best I can see.
Edited by: Ric Van Dyke on Feb 7, 2013 5:19 PM -
Spatial 9.0.1.2 SDO_DISTANCE never returns
Query:
select sdo_geom.SDO_DISTANCE (mdsys.sdo_geometry(2001, 8307, mdsys.sdo_point_type(28,235 -26,NULL), NULL, NULL),
mdsys.sdo_geometry(2001, 8307, mdsys.sdo_point_type(28, -26,NULL), NULL, NULL),
0.005) as distance from dual
On oracle 817 returns :235
on oracle 9012 the query never return a value
Thanks
WernerWerner,
Do you mean that the distance comes back as zero ?
If that is the case, there is a known bug in distance
that is causing this problem. This is fixed in the
9.0.1.3 patch set, so applying that patch would help.
siva -
ReadLine() never returns even if SOTimeout is used
Hi,
I've run into a strange and (for me) hard to solve problem in my multi-threaded app which is IO intensive. After calling bufferedReader.readLine(), the tthread never returns from the call. I took a few thread dumps with a few seconds interval and the thread seems to be "popping around". Below are 6 dumps of the failing thread. I have socket.setSoTimeout(10000), but seems to have no effect in this situation. Any help would be much appreciated.
I'm running jdk1.4.2_05 on Windows XP
Bye,
Dag.
"runner4" prio=5 tid=0x02ddb500 nid=0xfc8 runnable [39df000..39dfd8c]
at java.nio.HeapByteBuffer.compact(Unknown Source)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
- locked <0x10666590> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
- locked <0x10666590> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(Unknown Source)
at MyClass.someMethod(MyClass.java:100)
"runner4" prio=5 tid=0x02ddb500 nid=0xfc8 runnable [39df000..39dfd8c]
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
- locked <0x10666590> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
- locked <0x10666590> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(Unknown Source)
at MyClass.someMethod(MyClass.java:100)
"runner4" prio=5 tid=0x02ddb500 nid=0xfc8 runnable [39df000..39dfd8c]
at sun.nio.cs.SingleByteDecoder.decodeArrayLoop(Unknown Source)
at sun.nio.cs.SingleByteDecoder.decodeLoop(Unknown Source)
at java.nio.charset.CharsetDecoder.decode(Unknown Source)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
- locked <0x10666590> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
- locked <0x10666590> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(Unknown Source)
at MyClass.someMethod(MyClass.java:100)
"runner4" prio=5 tid=0x02ddb500 nid=0xfc8 runnable [39df000..39dfd8c]
at java.nio.CharBuffer.<init>(Unknown Source)
at java.nio.HeapCharBuffer.<init>(Unknown Source)
at java.nio.CharBuffer.wrap(Unknown Source)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
- locked <0x10666590> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
- locked <0x10666590> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(Unknown Source)
at MyClass.someMethod(MyClass.java:100)
"runner4" prio=5 tid=0x02ddb500 nid=0xfc8 runnable [39df000..39dfd8c]
at java.nio.CharBuffer.wrap(Unknown Source)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
- locked <0x10666590> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
- locked <0x10666590> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(Unknown Source)
at MyClass.someMethod(MyClass.java:100)
"runner4" prio=5 tid=0x02ddb500 nid=0xfc8 runnable [39df000..39dfd8c]
at sun.nio.cs.StreamDecoder.read(Unknown Source)
- waiting to lock <0x10666590> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
- locked <0x10666590> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(Unknown Source)
at MyClass.someMethod(MyClass.java:100)The SoTimeout times out the connect if the connect to
the other end is lost.No it doesn't, it has no effect on the connect timeout.
This does not mean it is triggered just because you
have recieved no data.Yes it does, this is exactly what it does.
The following program works for me, i.e. it throws an InterruptedIOException:
import java.io.*;
import java.net.*;
public class SocketReadLineTest
ServerSocket ss;
public SocketReadLineTest() throws IOException
this.ss = new ServerSocket(0);
public static void main (String args[]) throws Exception
SocketReadLineTest t = new SocketReadLineTest();
Socket s = new Socket("localhost",t.ss.getLocalPort());
s.setSoTimeout(1000);
BufferedReader r = new BufferedReader(new InputStreamReader(s.getInputStream()));
String l = r.readLine();
s.close();
}It also works as expected (i.e. reads null) if the server closes the accepted socket immediately without sending anything. -
WITH vs INNER QUERY on 11g (100% CPU & Never Return vs 2-3 Seconds)
I cannot figure out why this is happening. We have an 11g database and a pipelined stored function. The following will never return. The db cpu goes up to about 100%.
FOR myRow IN (
WITH subquery AS (
SELECT ...
SELECT
FROM subqery
LOOP
PIPE ROW(...);
END LOOP;If it's formatted the following way, it behaves the same way...:
FOR myRow IN (
SELECT
FROM (
SELECT ...
LOOP
PIPE ROW(...);
END LOOP;However, using the SELECT * FROM (...) method, without the procedure, returns fine:
SELECT * FROM (
SELECT * FROM (
)But this never returns:
WITH subquery AS (
SELECT ...
SELECT
FROM subqueryI have no idea how to diagnose this. It's as if one method tries to store results one way, while the other does not. Any thoughts would be greatly appreciated!!This is the explain for the /*+materialize*/ and subquery form:
Plan hash value: 2761872157
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 130 | | 3427 (2)| 00:00:42 |
| 1 | TEMP TABLE TRANSFORMATION | | | | | | |
| 2 | LOAD AS SELECT | | | | | | |
|* 3 | HASH JOIN | | 5 | 1090 | | 3425 (2)| 00:00:42 |
| 4 | TABLE ACCESS FULL | U_MASTER | 579 | 4632 | | 5 (0)| 00:00:01 |
|* 5 | HASH JOIN RIGHT OUTER | | 83280 | 16M| 4152K| 3418 (2)| 00:00:42 |
| 6 | VIEW | | 83280 | 3171K| | 857 (2)| 00:00:11 |
|* 7 | HASH JOIN | | 83280 | 4066K| | 857 (2)| 00:00:11 |
|* 8 | TABLE ACCESS FULL | U_MASTER | 246 | 1722 | | 5 (0)| 00:00:01 |
| 9 | VIEW | | 83280 | 3497K| | 851 (2)| 00:00:11 |
|* 10 | HASH JOIN | | 83280 | 3903K| 2704K| 851 (2)| 00:00:11 |
|* 11 | TABLE ACCESS FULL | T_MASTER | 78886 | 1771K| | 377 (2)| 00:00:05 |
|* 12 | TABLE ACCESS FULL | T_CONTAINER_IN | 84469 | 2062K| | 191 (3)| 00:00:03 |
|* 13 | HASH JOIN OUTER | | 83280 | 13M| 1048K| 1634 (2)| 00:00:20 |
| 14 | TABLE ACCESS FULL | C_MASTER | 16742 | 850K| | 127 (2)| 00:00:02 |
| 15 | VIEW | | 83280 | 9678K| | 937 (2)| 00:00:12 |
|* 16 | HASH JOIN | | 83280 | 9678K| | 937 (2)| 00:00:12 |
|* 17 | TABLE ACCESS FULL | U_MASTER | 246 | 2706 | | 5 (0)| 00:00:01 |
| 18 | VIEW | | 83280 | 8783K| | 931 (2)| 00:00:12 |
|* 19 | HASH JOIN | | 83280 | 5530K| 2704K| 931 (2)| 00:00:12 |
|* 20 | TABLE ACCESS FULL| T_MASTER | 78886 | 1771K| | 377 (2)| 00:00:05 |
|* 21 | TABLE ACCESS FULL| T_CONTAINER_IN | 84469 | 3712K| | 191 (3)| 00:00:03 |
| 22 | VIEW | | 1 | 130 | | 2 (0)| 00:00:01 |
| 23 | TABLE ACCESS FULL | SYS_TEMP_0FD9D670A_23115C | 1 | 103 | | 2 (0)| 00:00:01 |
Predicate Information (identified by operation id):
3 - access("A"."PICKUP_LOC_UNIT"="B"."U_ID")
filter(("A"."STATUS"=1 OR "A"."STATUS"=2) AND "B"."FAC_ID"=161 AND
"from$_subquery$_008"."TO_UNIT_ID" IS NULL AND SYS_EXTRACT_UTC(INTERNAL_FUNCTION("A"."ORIGIN_DATETIME"))
<=SYS_EXTRACT_UTC(SYSTIMESTAMP(6)) OR "B"."FAC_ID"=161 AND "from$_subquery$_008"."PREV_T_ID" IS NULL
AND SYS_EXTRACT_UTC(INTERNAL_FUNCTION("from$_subquery$_008"."TASK_DATE_TIME"))>SYS_EXTRACT_UTC(SYSTIMEST
AMP(6)) AND SYS_EXTRACT_UTC(INTERNAL_FUNCTION("A"."ORIGIN_DATETIME"))<=SYS_EXTRACT_UTC(SYSTIMESTAMP(6))
AND "from$_subquery$_008"."TO_UNIT_ID" IS NOT NULL OR "from$_subquery$_008"."FAC_ID"=161 AND
"from$_subquery$_014"."TASK_DATE_TIME" IS NULL AND ("from$_subquery$_008"."UNIT_TYPE_ID"=2 OR
"from$_subquery$_008"."UNIT_TYPE_ID"=3) AND SYS_EXTRACT_UTC(INTERNAL_FUNCTION("from$_subquery$_008"."TAS
K_DATE_TIME"))<=SYS_EXTRACT_UTC(SYSTIMESTAMP(6)) OR "from$_subquery$_008"."FAC_ID"=161 AND
("from$_subquery$_008"."UNIT_TYPE_ID"=2 OR "from$_subquery$_008"."UNIT_TYPE_ID"=3) AND
SYS_EXTRACT_UTC(INTERNAL_FUNCTION("from$_subquery$_008"."TASK_DATE_TIME"))<=SYS_EXTRACT_UTC(SYSTIMESTAMP
(6)) AND SYS_EXTRACT_UTC(INTERNAL_FUNCTION("from$_subquery$_014"."TASK_DATE_TIME"))>SYS_EXTRACT_UTC(SYST
IMESTAMP(6)))
5 - access("from$_subquery$_008"."QCSJ_C000000000600000"="G"."PREV_T_ID"(+) AND
"from$_subquery$_008"."C_ID_IN"="G"."C_ID_IN"(+))
7 - access("H"."TO_UNIT_ID"="I"."U_ID")
8 - filter("I"."UNIT_TYPE_ID"=1 OR "I"."UNIT_TYPE_ID"=2 OR "I"."UNIT_TYPE_ID"=3)
10 - access("G"."T_ID"="H"."T_ID")
11 - filter("H"."STATUS"=1)
12 - filter("G"."REJECT"=0)
13 - access("A"."C_ID"="C"."C_ID_IN"(+))
16 - access("D"."TO_UNIT_ID"="E"."U_ID")
17 - filter("E"."UNIT_TYPE_ID"=1 OR "E"."UNIT_TYPE_ID"=2 OR "E"."UNIT_TYPE_ID"=3)
19 - access("C"."T_ID"="D"."T_ID")
20 - filter("D"."STATUS"=1)
21 - filter("C"."REJECT"=0) This is the explain for the with statement form (the one that never returns):
Plan hash value: 868902620
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 5 | 840 | | 1493 (2)| 00:00:18 |
|* 1 | FILTER | | | | | | |
| 2 | NESTED LOOPS OUTER | | 5 | 840 | | 1493 (2)| 00:00:18 |
|* 3 | HASH JOIN | | 83280 | 11M| | 1484 (2)| 00:00:18 |
| 4 | TABLE ACCESS FULL | U_MASTER | 579 | 4632 | | 5 (0)| 00:00:01 |
|* 5 | HASH JOIN OUTER | | 83280 | 10M| 1048K| 1477 (2)| 00:00:18 |
| 6 | TABLE ACCESS FULL | C_MASTER | 16742 | 850K| | 127 (2)| 00:00:02 |
| 7 | VIEW | | 83280 | 6424K| | 937 (2)| 00:00:12 |
|* 8 | HASH JOIN | | 83280 | 6424K| | 937 (2)| 00:00:12 |
|* 9 | TABLE ACCESS FULL | U_MASTER | 246 | 2706 | | 5 (0)| 00:00:01 |
|* 10 | HASH JOIN | | 83280 | 5530K| 2704K| 931 (2)| 00:00:12 |
|* 11 | TABLE ACCESS FULL | T_MASTER | 78886 | 1771K| | 377 (2)| 00:00:05 |
|* 12 | TABLE ACCESS FULL | T_CONTAINER_IN | 84469 | 3712K| | 191 (3)| 00:00:03 |
|* 13 | VIEW PUSHED PREDICATE | | 1 | 29 | | 0 (0)| 00:00:01 |
|* 14 | HASH JOIN | | 845 | 46475 | | 384 (2)| 00:00:05 |
|* 15 | TABLE ACCESS FULL | U_MASTER | 246 | 1722 | | 5 (0)| 00:00:01 |
| 16 | NESTED LOOPS | | | | | | |
| 17 | NESTED LOOPS | | 845 | 40560 | | 378 (2)| 00:00:05 |
|* 18 | TABLE ACCESS FULL | T_MASTER | 78886 | 1771K| | 377 (2)| 00:00:05 |
|* 19 | INDEX RANGE SCAN | IDX_T_CONTAINER_IN_PREV_T_ID | 1 | | | 0 (0)| 00:00:01 |
|* 20 | TABLE ACCESS BY INDEX ROWID| T_CONTAINER_IN | 1 | 25 | | 0 (0)| 00:00:01 |
Predicate Information (identified by operation id):
1 - filter(("A"."STATUS"=1 OR "A"."STATUS"=2) AND "B"."FAC_ID"=161 AND "from$_subquery$_008"."TO_UNIT_ID" IS
NULL AND SYS_EXTRACT_UTC(INTERNAL_FUNCTION("A"."ORIGIN_DATETIME"))<=SYS_EXTRACT_UTC(SYSTIMESTAMP(6)) OR
"B"."FAC_ID"=161 AND "from$_subquery$_008"."PREV_T_ID" IS NULL AND
SYS_EXTRACT_UTC(INTERNAL_FUNCTION("from$_subquery$_008"."TASK_DATE_TIME"))>SYS_EXTRACT_UTC(SYSTIMESTAMP(6)) AND
SYS_EXTRACT_UTC(INTERNAL_FUNCTION("A"."ORIGIN_DATETIME"))<=SYS_EXTRACT_UTC(SYSTIMESTAMP(6)) AND
"from$_subquery$_008"."TO_UNIT_ID" IS NOT NULL OR "from$_subquery$_008"."FAC_ID"=161 AND
"from$_subquery$_014"."TASK_DATE_TIME" IS NULL AND ("from$_subquery$_008"."UNIT_TYPE_ID"=2 OR
"from$_subquery$_008"."UNIT_TYPE_ID"=3) AND SYS_EXTRACT_UTC(INTERNAL_FUNCTION("from$_subquery$_008"."TASK_DATE_TI
ME"))<=SYS_EXTRACT_UTC(SYSTIMESTAMP(6)) OR "from$_subquery$_008"."FAC_ID"=161 AND
("from$_subquery$_008"."UNIT_TYPE_ID"=2 OR "from$_subquery$_008"."UNIT_TYPE_ID"=3) AND
SYS_EXTRACT_UTC(INTERNAL_FUNCTION("from$_subquery$_008"."TASK_DATE_TIME"))<=SYS_EXTRACT_UTC(SYSTIMESTAMP(6)) AND
SYS_EXTRACT_UTC(INTERNAL_FUNCTION("from$_subquery$_014"."TASK_DATE_TIME"))>SYS_EXTRACT_UTC(SYSTIMESTAMP(6)))
3 - access("A"."PICKUP_LOC_UNIT"="B"."U_ID")
5 - access("A"."C_ID"="C"."C_ID_IN"(+))
8 - access("D"."TO_UNIT_ID"="E"."U_ID")
9 - filter("E"."UNIT_TYPE_ID"=1 OR "E"."UNIT_TYPE_ID"=2 OR "E"."UNIT_TYPE_ID"=3)
10 - access("C"."T_ID"="D"."T_ID")
11 - filter("D"."STATUS"=1)
12 - filter("C"."REJECT"=0)
13 - filter("from$_subquery$_008"."C_ID_IN"="G"."C_ID_IN"(+))
14 - access("H"."TO_UNIT_ID"="I"."U_ID")
15 - filter("I"."UNIT_TYPE_ID"=1 OR "I"."UNIT_TYPE_ID"=2 OR "I"."UNIT_TYPE_ID"=3)
18 - filter("H"."STATUS"=1)
19 - access("G"."PREV_T_ID"="from$_subquery$_008"."QCSJ_C000000000600000")
20 - filter("G"."REJECT"=0 AND "G"."T_ID"="H"."T_ID")Just wanted to say thanks again for any additional help you can provide!
Edited by: asmallgrin on Feb 3, 2010 7:28 AM -
Iscsiadm never returns after upgrading to Solaris10 U4
After upgrading to Solaris10 U4, iscsiadm stopped working.
Even calling iscsiadm without any parameter, the help message is displayed but the command never returns.
I cannot list my discovery address, neither add new ones.
I tried to reinstall SUNWiscsir and SUNWiscsiu without changes.
Does anybody else experienced this problem?
Thanks
MarcoWe had the same problem but in X86 server with Solaris 10 Update 3. Sun support provided a library file libima.so.1 and replaced the old library with the one that Sun provided and everything went fine.
If you have support contract from Sun you could ask for a copy of it.
Maybe you are looking for
-
Error during creation of transfer orders for material
Hi, We are doing a transfer of stock from one storage with WM to a storage without WM. But system does not finish the process automatically displaing the following error message: "Error during creation of transfer orders for material document
-
Create Attachment in workflow through ABAP Class in ECC 5.0
Hi, Wr are using SAP ECC 5.0 and i am trying to create attachment through ABAP class. Here in ECC 5.0, macro INCLUDE cntn01_swc is not available. I am getting an error in declaration of SOFM object, because again SWC0_OBJECT is not available. I've tr
-
How can I limit workspace in 2D array graphic representation?
Hello, I have an 2D array and I would like to visualize it as a 2D grayscale map. What function would be suitable for that? Also, I would like to give user to ability to limit the workspace by encircling the desired area with a mouse and removing the
-
When trying to use my banking apps I get the error "Network Required This application requires an active Internet Connection. Please try again". This happens with two different apps from two different banks. One of them works occasionally and hav
-
Creating two or more procedures from ODBC
Hi. I'm trying to create several standalone procedures in an Oracle 8.1.7 server, using ODBC pass-thru. I'm trying to create these procedures: CREATE OR REPLACE PROCEDURE EMSetContext(compid CHAR) AS BEGIN dbms_session.set_context('EMCTX','compid',RP