Help tracking down a file descriptor leak under java 6

I have a large application I work on that runs fine under java5 (apart from possibly the latest update) but running under java 6 results in file descriptors used for TCP sockets being leaked.
I'm testing this under FreeBSD 6 (both i386 and amd64) using diablo JDK and a port build jdk-1.6.0.3p3 but I have had reports from other users of exactly the same issue under various linux distributions. There are some reports that going back as far as 1.6.0b5 will resolve the issue but no later version works and a few reports that the latest 1.5 updates have the same issue.
This application is using standard IO so Socket/ServerSocket and occasionally SSLSocket, no NIO is involved. Under the problem JDKs it will run for a while before available FDs are exhausted and then fall over with a "too many open files" exception. So far I have been unable to recreate the situation in a simple testcase and the fact it works fine under earlier JDKs is really causing me issues with deciding where to look for the issue.
Using lsof to watch the FDs that are leaked I see a steadily increasing number shown in the following state:
java 23438 djb 54u IPv4 0xffffff0091ad02f8 0t0 TCP *:* (CLOSED)
java 23438 djb 55u IPv4 0xffffff0105aa45f0 0t0 TCP *:* (CLOSED)
java 23438 djb 56u IPv4 0xffffff01260c15f0 0t0 TCP *:* (CLOSED)
java 23438 djb 57u IPv4 0xffffff012a2ae8e8 0t0 TCP *:* (CLOSED)
If these were showing as say (CLOSE_WAIT) then I would understand where they are coming from but as far as I understand the above means the socket has been fully closed but the FD simply hasn't been released. I'm not an expert on the TCP protocol however so I may be wrong here.
I did try making the application set SoLinger(0,true) on all sockets which of course made all connecting clients think the connection was aborted rather than gracefully closed but even with this setting the FD leak persisted.
I've gone as far as looking at what I think are the relevant parts of the src for both JDK versions I am using but there are very few changes and nothing that obviously looks linked.
I'm fully prepared to spend a lot of time looking into this and I'm sure I'd eventually find the cause but if anyone here already knows what the answer may be or can simply give me a nudge in the best direction to look I would be very grateful.

After weeks of dancing around the issue for weeks, we narrowed it down to garbage collection. If we put System.gc() to run periodically , file descriptors get garbage collected properly . I've tried playing with the settings by using XX:+UseConcMarkSweepGC which seems to help a great deal while system is under stress. However when there is light activity.. the file descriptors grow again and eventually bring everything down.
Any clues ? is there any way to make gc to perform full collection more often ?
pls whelp !!!

Similar Messages

  • File descriptor leak in socket programming

    We have a complex socket programming client package in java using java.nio (Selectors, Selectable channel).
    We use the package to connect to a server.
    Whenever the server is down, it tries to reconnect to the server again at regular intervals.
    In that case, the number of open file descriptors build up with each try. I am able to cofirm this using "pfile <pid>" command.
    But, it looks like we are closing the channels, selectors and the sockets properly when it fails to connect to the server.
    So we are unable to find the coding that causes the issue.
    We run this program in solaris.
    Is there a tool to track down the code that leaks the file descriptor.
    Thanks.

    Don't close the selector. There is a selector leak. Just close the socket channel. As this is a client you should then also call selector.selctNow() to have the close take final effect. Otherwise there is also a socket leak.

  • Tracking down .log file creators?

    I have had disk space getting eaten up and discovered using "WhatSize" a number of files in the private/var folder set (see discussion on similar in Nov 2008) The response to the query then was to track down what was writing the files in the first place.
    I can locate the files - a series called swapfile which build exponentially to a size of 1 GB, but there is no indication of what app is creating the file.
    I have found a similar set with suffix .asl which ostensibly are created by Adobe Photoshop CS3 - great, except I don't have that installed on my iBook. I do have Photoshop CS, but the recent creation dates (last week) of the files don't match up with my last use of Photoshop (two months ago).
    Has anyone any suggestions?

    Hmm, Niel may have some ideas, but several things strike me as being odd with what is happening on your machine. First, those swap files should have been cleared out with a simple restart, you should not have had to remove them by hand. In fact, from what I've read you really aren't supposed to.
    Second, if you are running 10.5.7 and have Activity Monitor set to show all processes, you really ought to see aslmanager at some point--it is supposed to run "as needed" when called by syslogd. For more information about it, see this note at MacFixIt:
    http://www.macfixit.com/article.php?story=20090122213555897
    And if everything is running along normally, I don't think kernel_task should be using too much of your system resources. At the moment, with only two programs running of my own, it is using 1.2% of the CPUs and 71MBs of RAM. If kernel-task is hogging your resources I would think something is wrong, perhaps a bad driver or other system level extension of something.
    If you haven't done so, you might try launching Console from your Utilities folder, make sure the Log List is showing (there's an icon in the top left corner to hide and show it), expand the Log Database Queries at the top, and select All Messages. You'll see a lot of messages about what your computer did to get started, then other messages will start to appear, they'll all be time-stamped, see if you start to get a lot messages about something that isn't working (which would account for the too large log files), or else you might see that the kernel is working very hard at something or other, and what it might be (which would tell you why the kernel-task is using a lot of resources).
    Francine
    Francine
    Schwieder

  • Tracking down culprit file

    I have a problem, already posted in the GB and SL forums here, concerning a missing Glossary in GB '11 in the Admin account on my iMac.
    The Glossary is available, though, in a new User account I created specifically as part of my troubleshooting.
    I'm on a mission now to track down the cause of the problem in the Admin account. I'm making the assumption that ~/Library/Preferences is a good place to start looking.
    I have a list of the files in the User Preferences folder, and am comparing it with the one in the Admin Preferences folder.
    My intention is to remove, one at a time, any files that are in the Admin Prefs folder but are not in the User Prefs folder in order to check and catch the offender. I also intend to put back any removed files that don't seem to be causing the problem.
    Do I have to do anything in particular, such as quitting GB, restarting or logging out and back in, before reopening GB?
    I've run AppleJack and DiskWarrior (both up to date versions) on the iMac and still have the problem.
    I'm prepared for the long haul.

    Starting with a list of what's working in the new account, you log into the old account, move everything to the desktop folder, log out and back in. Launch GB and see if the Glossary's available. If not, then there's no sense proceeding because something else is amiss. In that case, you might want to try the second way:
    While logged into the newly created admin account, backup the bad account's folder, delete the bad account, selecting the save data option (which is stored in /Users/Deleted Users/ as a disk image), recreate the bad account using the same username/password combo, log out and back into the recreated original account. If the problem's solved, open the saved data dmg file in /Users/Deleted Users/, open the /Library/Preferences/ folder from the saved data, open the current /Users/restored account/Library/Preferences/ folder, and slowly copy plist files from the saved data folder to the current one that don't exist in it. Log out and back in to ensure there's no conflict and things still work correctly. Resolving conflicts or identifying corrupt plist files is a laborious process. Good luck.

  • Where is the file descriptor leak in this code?

    The following "appendStringToFile" method is used to append a String to a file. My java app calls this method a few times per minute, and then crashes after running for about 12 hours. The exception is "Too many open files". The code that calls it does so from a synchronized block, so concurrency is not the problem, and it would seem that only one file descriptor should be used at a time.
    Can anyone find the problem?
         public static void createParentDirectoryIfNeeded(String path) {
              String dirPath = path.substring(0, path.lastIndexOf('/'));
              File dir = new File(dirPath);
              if (!dir.exists()) {
                   dir.mkdirs();
         public static void appendStringToFile(String s, String path) {
              FileWriter fileWriter = null;
              try {
                   createParentDirectoryIfNeeded(path);
                   // create file if it doesn't already exist
                   File file = new File(path);
                   file.createNewFile();
                   if (s != null) {
                        fileWriter = new FileWriter(file, true);
                        fileWriter.write(s.toCharArray());
              } catch (IOException ioe) {
                   ErrorHandler.handleError(ioe, LOG);
              } finally {
                   if (fileWriter != null) {
                        try {
                             fileWriter.close();
                        } catch (IOException ioe) {
                             ErrorHandler.handleError(ioe, LOG);
         }Edited by: mikewertheim on Sep 26, 2008 11:54 AM
    Edited by: mikewertheim on Sep 26, 2008 11:54 AM
    Edited by: mikewertheim on Sep 26, 2008 11:55 AM
    Edited by: mikewertheim on Sep 26, 2008 11:56 AM

    I don't know what is causing your problem but I can suggest several improvements.
    1) Given a file 'f' then one can create the parent directory using   f.getParentFile().mkdirs();so that one does not need to useString dirPath = path.substring(0, path.lastIndexOf('/'));          2) There is not need to test if the directory exists before creating it. If it exists then   f.getParentFile().mkdirs(); will just do nothing.
    3) There is no need to usefile.createNewFile();because if the file does not exist then fileWriter = new FileWriter(file, true);will create it.

  • Help tracking down unauthorized ARD activity?

    Hi,
    I recently installed Little Snitch 2.0, and almost right away I saw some pretty bizarre activity: ARDAgent connecting to some random sites. I checked and low and behold ARD was on and its ports were open, when I'm almost positive I had 'em off. I disabled it right away.
    I looked through the logs but wasn't able to find any activity related to ARD. Can anyone suggest where I'd look to find out 1) when / how it was turned on and 2) and logins or other usage?
    And 3) what should I do now (short of a complete reinstall) to verify my system is secure? Where do I look to see if ARD accounts have been created? Anything else I should do?
    I really appreciate any help,
    thanks
    Lucas

    Search the ARD forum or post your query there: http://discussions.apple.com/forum.jspa?forumID=1007

  • Help needed to track down Problem in tiger with Pioneer DVR-110D

    ok as i stated in another topic i own a Beige G3 AIO that is running OS 9.2.2 and OS X 10.4.8 and i have done allot to this system to get it to run faster and to run properly.
    part of this setup has a Pioneer DVR-110D it there and when i bought it i was running OS 9.2.2 only. at first i could not burn anything with it cause it wasn't supported and when i went to put the system to sleep it would freeze when i would wake it up it never did this before i installed the drive so i knew what was causing it.
    i turned off HDD sleep and the problem was fixed. but i didn't like the ideal of having the hdd running all the time when idle. me and a friend was talking about optical drive issues and he said he found this driver replacement for the apple cd/dvd driver called intech speed tool's 6.0 for OS 9.2.2 and that i should give it a try cause it fixed a few problems for him.
    i downloaded the demo of it and installed it and i turned on hdd sleep and put the system to sleep and woke it back up and the system was running great. so now the wake up freeze problem was cured. but still no burn support. so after a few weeks of posting on here about the problem some one came by and said he knew what the problem was and sent me a modded PioneerCDR authoring support extension. i installed it and rebooted and opened iTunes and iTunes showed Pioneer DVR-110D as the devise to burn to. so i tryed it and behold it burned a audio cd with no problems.
    later i bought a western digital SE 120gb hdd and installed it and partitioned it 3 times a 8gb first partition for OS X a second partition 10gb for OS 9.2.2 and the 3rd partition was the rest of the drives size for shared data and storage. the hdd worked great with no issues so it was time to try OS X on this system cause i was waiting to get a large HDD to do so.
    i figured that the Pioneer drive would not boot the OS X jaguar cd and is a known problem with non apple cd rom drives. so i took out the Pioneer and reinstalled the apple 24x stock cd rom drive. and the jag install cd booted without a hitch. Jag installed and was running so i updated to 10.2.8 and found out the internal screen kept going out and locking the system up. so i searched this forum for the onboard video blackout and came across the terminal work around to get the system to behave itself with having more than 192mb ram installed. i rebooted and all went fine afterward.
    i reinstalled the Pioneer drive and went to testing it all was fine everything mounted on the desktop that i put in the drive. but i lacked the ability to burn with the drive cause still the drive wasn't supported be the system so i searched the forum and came across the program called patchburn. i downloaded it and ran it and patched the driver to support iApps burning with this drive. so i put in a blank cd and went to burn in iTunes it burned flawlessly so i tryed a dvd-r with the finder it to burned flawlessly.
    o loved playing a game planeshift and then they stopped supporting 10.2.8 so i went to buy the tiger install cd's. i already knew the Beige G3 was not a supported version of Os X on this system and you had to use xpostfacto 4 to install tiger on this system. so i did what i had to do to install tiger on the system and selected use old NDRV and selected to install tiger. which installed some files to boot tiger and rebooted yet again the Pionner drive refused to boot the install cd's . i got mad and held down the command option power key's for about 10 seconds and let off. the tiger installer booted and got to where it started to copy the files to the hdd and stalled out and the drive spun down never to spin back up or show signs of life so i powered down the system and removed the pioneer drive and put the stock 24x cdrom in and installed tiger.
    after tiger was installed i shut down the system and installed the pioneer drive. and powered back on and it was in verbose mode showing what was going on one part showed that the Pioneer drive was detected but had no kernel dependencies and continued to boot. i went to repair the permitions when the onboard video went blank and the system locked up. i rembered that 10.2.8 did the same thing so i tried the 10.2.8 screen blackout fix in 10.4 and rebooted. the onboard video didnt come on but since i had a ATI Radeon 7000 i could work around in tiger to update to 10.4.7 at the time. i first repaired permitions and then ran software update and updated everything and rebooted. the onboard video came back on allong with the ATI Radeon 7000 which being used as boot video device and shown the gray apple logo with the spinning pin wheel at the bottom.
    so far tiger was running great so i put a disk in the drive and nothing it didn't mount anything so i ejected it with the button on front of the drive and tryed a dvd movie and got the same nothing as with the cd. so i rebooted with the dvd in the drive al behold tiger mounted the dvd but as soon as i would try to do anything with it the drive would stop and i would have to reboot the system to gain the drive back so i can repair permissions. and never tryed to use the drive again
    10.4.8 update came out i updated to it using software update and rebooted. the update went flawless so i thought to myself what if the pioneer drive worked now. so i put a cd in the drive and it mounted the disk. then i ejected it with amazement and put a dvd in and it to mounted. so i tryed to play the dvd and it played the dvd to the end of the movie. i took out the dvd and rebooted. i tryed to put the dvd back in but it didnt mount. which ****** me off as to why it was just working and now its not.
    i rebooted and the dvd mounted as soon as the desktop showed up so i tried to play it but this time it only played for about 10-13 minutes before the drive stopped spinning which made dvd player stop responding which made me have to force quit the dvd player and try to restart which gave me a kernel panic. so i forced restarted (got a forum to send to apple to report the KP so i did) and the dvd mounted once again as soon as the desktop showed so i ejected the dvd and put a audio cd in and it mounted and i played the hole cd. so i ejected that and put a blank cd in and treed to burn and it got to 30% and then the drive spun down and made the disk utility stop responding. so i forced quit disk utility and rebooted. once it rebooted nothing popped up so i pressed the eject button on the drive and the cd r came out.
    the OS X 10.4.8 update made the drive more stable but still wont burn anything. some times it will still not mount anything, some time it will not play anything, and still fails to copy files over to the hdd. so now im left to believe its a driver issue some where since this drive worked so flawlessly in jaguar and OS 9 but fails to work properly in tiger.
    i looked in the extensions in ASP in 10.4.8 and there is a few extensions showing errors. i made a list of them to show
    PatchedAppleNVRAM:
    Version: 3.0
    Last Modified: 8/9/05 6:07 PM
    Location: /System/Library/Extensions/PatchedAppleNVRAM.kext
    kext Version: 3.0
    Load Address: 0x4db000
    Valid: Yes
    Authentic: Yes
    Dependencies: Incomplete
    Dependency Errors:
    com.macsales.iokit.OpenOldWorldNVRAM: No valid version of this dependency can be found
    Integrity: Unknown
    OpenPMUNVRAMController:
    Version: 2.0
    Last Modified: 8/9/05 6:08 PM
    Location: /System/Library/Extensions/OpenPMUNVRAMController.kext
    kext Version: 2.0
    Load Address: 0x63a000
    Valid: Yes
    Authentic: Yes
    Dependencies: Incomplete
    Dependency Errors:
    com.macsales.iokit.OpenOldWorldNVRAM: No valid version of this dependency can be found
    Integrity: Unknown
    GossamerDeviceTreeUpdater:
    Version: 3.0
    Last Modified: 8/9/05 6:07 PM
    Location: /System/Library/Extensions/GossamerDeviceTreeUpdater.kext
    kext Version: 3.0
    Load Address: 0x63d000
    Valid: Yes
    Authentic: Yes
    Dependencies: Incomplete
    Dependency Errors:
    com.macsales.iokit.OpenPMUNVRAMController: No valid version of this dependency can be found
    Integrity: Unknown
    that is the list of extensions that are reporting some sort of errors. at first i was figuring it was a problem with the driver for the Pioneer drive but my friend brought over his digital audio G4 which was also running 10.4.8. and we decided to try the drive in his Mac to see if there was any problems. it mounted everything we threw in it. it played dvd's great and played audio cd's great, it copied files over to the hdd without fail. it even burned a flawless cd. ok now the ideal of the driver for the drive was thrown out the window. so it has to be something else causing the problem. either a driver for a part on the motherboard or what i have no clue.
    im just wondering what driver it would be causing a problem not allowing the Pioneer drive to work properly. cause its not the drive being bad cause it worked flawlessly in OS 9.2.2 and jaguar and in tiger in my friends digital audio G4
    im just wondering if anyone might know what could be done to fix this problem cause i know it can be fixed but i don't know where to begin or how. so i ask you how could i begin to fix this
    thank you all for baring with me and reading all this. i know i wrote allot but i had to explain what was going on before i could ask for help so you could better understand what was going on. i have already updated the firmware to the latest with no change the firmware use to be the old 1.11

    yea i have along time ago and also made a update to xlr8's drive database. cause i fixed the problems with the drive in OS 9.2.2 (AKA no burn support with the built in burning app or iTunes, now have full support for burning with the finder burn and iTunes thanks to a edited PioneerCDR authoring support extension that someone edited for me. found out that the Apple CD/DVD driver extension was at fault for the locking up on wake up with hdd sleep enabled that started when i installed the Pioneer drive. fixed with intech CD/DVD speedtools 6.0).
    When i did the first report on the drive database on xlr8yourmac i reported what problems i was having in OS 9.2.2 and i think i reported that i had no problems in jaguar, and was trying to obtain a driver or something to try to get it to work. but to no avail at first. after i fixed the problems i did a update report
    in jaguar the drive had no problems but no burn support. installed patchburn and the drive worked 100% in jag no problems what so ever. im thinking it has somthing to do with one or all of the extensions with errors but i can be wrong.
    i just wonder where ryan has been on the forums in OWC's site. cause i would like to submit my crash log panic log and the extensions with errors so he could help track down the problems to see if it cant be fixed. but ive tried emailing him but no replay's. and his last reply on the OWC forums was back in desember 2005 a few day's over a year
    i know it isnt the drive cause it worked flawlessly in tiger 10.4.8 on my friends Digital Audio but i know why it worked fine cause it has the proper files for the DA to work cause its a supported system. i would like to try to help to get xpostfacto to work better on the Beige G3 system
    in tiger if it is something to do with xpostfacto

  • How to determine which file descriptor opened my driver?

    Suppose a user process opens my driver twice. How does open() determine which file descriptor opened the device? In Linux, the kernel will pass a pointer to a structure which represents the open file descriptor. However, Solaris only passes the device number to open(), so I can only determine my device was opened, but not which file. I need this information because my driver needs to keep track of all file descriptors opened for the device.
    Thanks!
    -Darren

    I'm still at a loss why you need to know the file descriptor value (unless the app is sufficiently spaghettied that it has to query the driver to figure out what it opened with what). It's like asking what filename was used to open the device (which you can't get either). Since Solaris is based on a Streams framework, it would be bad to have drivers to even think it has a direct mapping into user space. It would be the same in asking (using /bin/sh):
    prog3 4>&1 3>&1 2>&1 | prog2 | prog1
    and you want to know from prog1 what descriptor prog3 wrote to. I don't see how linux even does this properly, since any given file open can have multiple file descriptors (via dup).

  • Sudden increase in open file descriptors

    Our system is live since an year and half and for the first time I encountered the following exception
    "java.net.SocketException: Too many open files"
    When our internet application stopped responding I immediately checked the number of open file descriptors on my Solaris machine by using the "lsof" command and found that it was an abnormal 600 value and as I continued monitoring it reached 1024 in matter of minutes and WebLogic gave the above exception. The current setting for file descriptors is 1024. But all these days the average number of open file descriptors was well below 220.
    I also took thread dumps and found that most of the threads were stuck at the following location
    ""ExecuteThread: '3' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x00883a90 nid=0x10 runnable [6d080000..6d0819c0]
         at java.net.SocketInputStream.socketRead0(Native Method)
         at java.net.SocketInputStream.read(SocketInputStream.java:129)
         at com.sybase.jdbc2.timedio.RawDbio.reallyRead(RawDbio.java:202)
         at com.sybase.jdbc2.timedio.Dbio.doRead(Dbio.java:243)
         at com.sybase.jdbc2.timedio.InStreamMgr.readIfOwner(InStreamMgr.java:512)
         at com.sybase.jdbc2.timedio.InStreamMgr.doRead(InStreamMgr.java:273)
         at com.sybase.jdbc2.tds.TdsProtocolContext.getChunk(TdsProtocolContext.java:561)
         at com.sybase.jdbc2.tds.PduInputFormatter.readPacket(PduInputFormatter.java:229)
         at com.sybase.jdbc2.tds.PduInputFormatter.read(PduInputFormatter.java:62)
         at com.sybase.jdbc2.tds.TdsInputStream.read(TdsInputStream.java:81)
         at com.sybase.jdbc2.tds.TdsInputStream.readUnsignedByte(TdsInputStream.java:114)
         at com.sybase.jdbc2.tds.Tds.nextResult(Tds.java:1850)
         at com.sybase.jdbc2.jdbc.ResultGetter.nextResult(ResultGetter.java:69)"
    There is no file descriptor leak in the application. My question is since all the threads are hung at JDBC and socket level, does it mean that a faulty query would have triggered this problem(may be the database was too busy executing a faulty query).
    I suspect this because I recieved a database exception soon after the problem appeared. One of my database insert transaction had timed out after 300 seconds. Also this was the first time I recieved this kind of an exception
    java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 299 seconds
    Xid=BEA1-11FE69525362E51BFA16(6404670),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=299,seconds left=60,activeThread=Thread[ExecuteThread: '22' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=started,assigned=none),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@a68c0),SCInfo[Mizuho-RWS+myserver]=(state=active),properties=({weblogic.jdbc=t3://10.104.8.81:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myserver+10.104.8.81:7001+Mizuho-RWS+t3+, XAResources={},NonXAResources={})],CoordinatorURL=myserver+10.104.8.81:7001+Mizuho-RWS+t3+)]'. No further JDBC access is allowed within this transaction.
         at weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.java:118)
         at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:127)
    Any inputs regarding this problem?

    Raghu S wrote:
    Hi,
    I am using WebLogic 8.1 SP2 on a Solaris machine.Ok, good enough. Once WebLogic times out a transaction, it rolls it back on the
    connection. That Sybase driver's rollback doesn't unfortunately affect it's
    own running statements. For 81sp3 we added code to explicitly cancel any ongoing
    statement during a rollback. This may be what you need to free up those
    threads and the socekts the driver may be keeping open. If you can upgrade
    to a newer version of 8.1, this code will free you up. Alternately, you can
    try either upgrading to Sybase'e latest driver or to our BEA driver for Sybase.
    Ask support for the latest BEA driver package for 8.1.
    Joe
    >
    Stacktrace of one of the threads at the time I took the thread dump....All the threads at the time of taking the thread dump are stuck in a similar fashion.
    ExecuteThread: '3' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x00883a90 nid=0x10 runnable [6d080000..6d0819c0]
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at com.sybase.jdbc2.timedio.RawDbio.reallyRead(RawDbio.java:202)
    at com.sybase.jdbc2.timedio.Dbio.doRead(Dbio.java:243)
    at com.sybase.jdbc2.timedio.InStreamMgr.readIfOwner(InStreamMgr.java:512)
    at com.sybase.jdbc2.timedio.InStreamMgr.doRead(InStreamMgr.java:273)
    at com.sybase.jdbc2.tds.TdsProtocolContext.getChunk(TdsProtocolContext.java:561)
    at com.sybase.jdbc2.tds.PduInputFormatter.readPacket(PduInputFormatter.java:229)
    at com.sybase.jdbc2.tds.PduInputFormatter.read(PduInputFormatter.java:62)
    at com.sybase.jdbc2.tds.TdsInputStream.read(TdsInputStream.java:81)
    at com.sybase.jdbc2.tds.TdsInputStream.readUnsignedByte(TdsInputStream.java:114)
    at com.sybase.jdbc2.tds.Tds.nextResult(Tds.java:1850)
    at com.sybase.jdbc2.jdbc.ResultGetter.nextResult(ResultGetter.java:69)
    at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:204)
    at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:187)
    at com.sybase.jdbc2.jdbc.SybStatement.executeLoop(SybStatement.java:1698)
    at com.sybase.jdbc2.jdbc.SybStatement.execute(SybStatement.java:1690)
    at com.sybase.jdbc2.jdbc.SybCallableStatement.execute(SybCallableStatement.java:129)
    at weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:68)
    at com.mizuho.rws.report.business.dao.FIReportsDAO.getReportList(FIReportsDAO.java:3463)
    at com.mizuho.rws.report.business.businessObject.FIReports.getReportList(FIReports.java:98)
    at com.mizuho.rws.report.business.ejb.FIReportsBean.getReportList(FIReportsBean.java:96)
    at com.mizuho.rws.report.business.ejb.FIReports_4f92ds_EOImpl.getReportList(FIReports_4f92ds_EOImpl.java:270)
    at com.mizuho.rws.report.client.delegates.FIReportsBusinessDelegates.getReportList(FIReportsBusinessDelegates.java:173)
    at com.mizuho.rws.report.client.web.FIReportsAction.handleFIReportsBean(FIReportsAction.java:1759)
    at com.mizuho.rws.report.client.web.FIReportsAction.performAction(FIReportsAction.java:349)
    at com.mizuho.foundation.presentation.AppBaseAction.perform(AppBaseAction.java:143)
    at com.mizuho.foundation.presentation.AppActionServlet.processActionPerform(AppActionServlet.java:518)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1586)
    at com.mizuho.foundation.presentation.AppActionServlet.doPost(AppActionServlet.java:562)
    at com.mizuho.foundation.presentation.AppActionServlet.doGet(AppActionServlet.java:544)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    And the stack trace of the exception I recieved.
    java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 299 seconds
    Xid=BEA1-11FE69525362E51BFA16(6404670),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=299,seconds left=60,activeThread=Thread[ExecuteThread: '22' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=started,assigned=none),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@a68c0),SCInfo[Mizuho-RWS+myserver]=(state=active
    ),properties=({weblogic.jdbc=t3://10.104.8.81:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myserver+10.104.8.81:7001+Mizuho-RWS+t3+, XAResources={},NonXAResources={})],CoordinatorURL=myserver+10.104.8.81:7001+Mizuho-RWS+t3+)]'. No further JDBC access is allowed within this transaction.
    at weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.java:118)
    at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:127)
    at weblogic.jdbc.wrapper.Statement.checkStatement(Statement.java:222)
    at weblogic.jdbc.wrapper.PreparedStatement.setString(PreparedStatement.java:414)
    at com.mizuho.rws.services.mail.business.dao.FIReportMailDAO.insertMailClientDetails(FIReportMailDAO.java:2790)
    at com.mizuho.rws.services.mail.business.businessObject.FIReportMail.sendMail(FIReportMail.java:645)
    at com.mizuho.rws.services.mail.business.ejb.MailerBean.sendFIReportMail(MailerBean.java:87)
    at com.mizuho.rws.services.mail.business.ejb.Mailer_fyyt2g_EOImpl.sendFIReportMail(Mailer_fyyt2g_EOImpl.java:662)
    at com.mizuho.rws.services.mail.client.delegates.MailerBeanBusinessDelegates.sendFIReportMail(MailerBeanBusinessDelegates.java:153)
    at com.mizuho.rws.services.mail.business.businessObject.SendMailHandler.sendFIReportMail(SendMailHandler.java:181)
    at com.mizuho.rws.services.mail.business.businessObject.SendMailHandler.resolveMail(SendMailHandler.java:429)
    at com.mizuho.rws.services.mail.business.businessObject.SendMailHandler.notify(SendMailHandler.java:651)
    at com.mizuho.foundation.utils.AppNotificationListener.handleNotification(AppNotificationListener.java:66)
    at weblogic.time.common.internal.TimerListener$1.run(TimerListener.java:48)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at weblogic.time.common.internal.TimerListener.deliverNotification(TimerListener.java:44)
    at weblogic.management.timer.Timer.deliverNotifications(Timer.java:578)
    at weblogic.time.common.internal.TimerNotification$1.run(TimerNotification.java:118)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    Regards
    Raghu

  • Extracting the native file descriptor of a Socket .. HOW?

    Hello all,
    I'm trying to use JNI to make the unix system call getsockopt(), but I don't know how can I get the C socket file descriptor from a Java Socket object. I have to pass this file descriptor, an integer, to the getsockopt() function.
    Any suggestions?
    Fernando

    use reflect for assessing the priv var impl and after that , the priv member fd of the class SocketImpl.

  • Tracking leaking file descriptors in java 6

    We migrated to java 6 .11 and immediately started noticing leaking file descriptors of TCP type (sockets) in Linux environment. We don't have this behavior with java 5 therefore i'm assuming something is wrong with java.
    Can you suggest how we can track this down ? The profilers seem to indicate the growing number of java.net.sockets , but not where they are originate. Upgrading to java6 rel 12 doesn't seem to help.
    We're seeing this behaviour with one of our web services which is deployed in Jboss app server.
    Appreciate your help
    -Stan

    stanleyG wrote:
    After weeks of dancing around the issue for weeks, we narrowed it down to garbage collection. If we put System.gc() to run periodically , file descriptors get garbage collected properly . I've tried playing with the settings by using XX:+UseConcMarkSweepGC which seems to help a great deal while system is under stress. However when there is light activity.. the file descriptors grow again and eventually bring everything down.
    Any clues ? is there any way to make gc to perform full collection more often ?
    pls whelp !!!Simple. Your application is written incorrectly.
    You should not be using/relying on GC to do anything but manage memory. Your code must explicitly manage all other resources. Other such resources would include sockets, files and various other OS specific resources such as pipes, handles, memory mapped objects and even regular memory that is allocated in JNI.
    And the only reason it worked in 1.5 is because the rate and/or depth varied versus 1.6 - your app was wrong in 1.5 too.
    Increasing the rate and depth that GC collects would make your problem invisible but it would not alter the fact that your application is written incorrectly.

  • HT1766 I have an I pad Mini. Since i down loaded the new update ISO 7, my I Pad is not running certain media files either from Chrome or Safari browser. I called technical support but they failed to provide any help stating the media files may not be comp

    I have an I pad Mini. Since i down loaded the new update ISO 7, my I Pad is not running certain media files either from Chrome or Safari browser. I called technical support but they failed to provide any help stating the media files may not be compctable with new soft ware. I do bnot agree with their finding because i have I phone with ISO 7 updated soft ware and same files run on my I phone but not on I Pad. This was working fine before updating new software. This device is useless for me if i can not watch the program that i bought this for. I want device to replaced or taken back by the company. Thank you

    Here are the iPad Mini specifications:
    iPad mini - Technical SpecificationsNov 1, 2012
    The specifications explain exactly what types of files are supported under "TV and Video".

  • Tracking down a memory leak in LV8.2 when you can't use the profiler

    I am working with this large application. I have satisfied myself that it does have a memory leak by watching the Window's Task Manager while using the app.
    My first preference is to use the Profiler. However when I press 'Start' on the profiler, it instantly crashes LV. It does not do this for all VIs. I have tried to find the offending VI as narrowly as possible, but a VI that crashes profiler on one machine doesn't on another, so I gave that path up.
    If someone knows of a thread about the profiler crashing, please point me that way.
    Failing that, what kind of tips are there for tracking this leak down?
    Thanks!

    Hiya,
    Don't know of anything that will crash the profiler right off-hand, but it never struck me as the most... ah, robust bit of code in LV.
    As far as pre-existing tools, you could try the memmon.llb that lives in the National Instruments/<labview>/examples folder.  It should show the memory load of each vi in memory, though it may require a little retooling to get things into a view that you like.
    If you're on Windows, there are a number of tricks you can play with the SysInternals (now Microsoft) tools.  This usually boils down to watching lower level accesses to the operating system for patterns that look suspicious.  Not a high yield path, but occasionally it works.
    For methods, I like divide and conquer.  The more portions you can eliminate as NOT having the problem, the fewer portions of your code you have left to look for problems in.
    Tracking down memory leaks can be very difficult, but most show up in the end.
    Good bug hunting!
    Joe Z.

  • Track down where item was purchased from? urgent, please help.

    i noticed about 200 dollars worth of mysterious purchases on my account... i'm working on getting refunded, and i do have the purchase number, but can i track down where they were purchased from using the order number? thank you.

    please help?!? i am very fed up right now and when i call apple they seem to just redirect me to automated machines.

  • I recently lost and tracked down my iPhone (4s) w/find my iPhone. It was awesome! When I recovered it, my touch screen didn't work at all! What's going on? I'm very frustrated! Please help:(

    I recently lost and tracked down my iPhone (4s) w/find my iPhone. It was awesome! When I recovered it, my touch screen didn't work at all! What's going on? I'm very frustrated! Please help:(

    imanfromsweden wrote:
    Please apple support do you people have a convincing answer for us? Is there a solution? My phone is only 2 years old and was (2 hours ago), in top condition!!
    Please help....
    On belhalf of my fellow volunteers, the answer is, "We'll try our best." 
    My advice is to try not to treat this like it is a paid service provided by compensated professionals.  Ask nicely and one of the nice folks here might take some time out of their weekend to offer advice.

Maybe you are looking for

  • Solution Manager - Logical Component for SAP Netweaver EHP2

    Hello, I installed the newest SAP Netweaver Ehp2 (with usage type AS ABAP only) for a future integrating with BI_CONT (SAP BI requirement). So... what I want to know is... I want to do an update of support packages to the latest Stack (SPS) and in th

  • Problem in writing Hindi Font in properties file at run time.!

    hi, We are using Language translator for our project. We are able to convert the language in hindi and chinese language. Im also creating properties file respective to each page in hindi,english and chinese language. At run time while CREATING proper

  • Photos not placing in correct size?

    I've just started playing around with this, so please excuse my ignorance.  I've made a cover photo in Photoshop.  It's 768 x 1024 at 72 ppi.  Saved as a Jpeg image.  When I place that photo in InDesign, it does not fill the page which is also 768 x

  • How can i connect Forms 6i via OCA,

    Hi all, I have an application that need to connect in one process via ODBC to oracle lite, but i can't connect forms 6i to odbc, in sqlplus i put username/password@odbc:database and i connect, but when i try to connect forms or reports in these way i

  • How to download Oracle Siebel?

    Hi, We are oracle partner, belongs to Pakistan. We need to prepare a practice server for oracle Siebel. Kindly mention from where and how we can download the oracle Siebel? Regards Kaleem