Is-it normal to face situation where the "Reference Handler" is blocked?

Hi all,
I would like to know if it can be a normal behavior to have the "Reference Handler" thread from the class java.lang.ref.Reference in BLOCKED state in my thread dump (generated from visualvm) as you can see below.
"http-0.0.0.0-8080-56" - Thread t@578
   java.lang.Thread.State: RUNNABLE
at org.apache.lucene.index.TermBuffer.toTerm(TermBuffer.java:122)
at org.apache.lucene.index.SegmentTermEnum.term(SegmentTermEnum.java:167)
at org.apache.lucene.index.SegmentMergeInfo.next(SegmentMergeInfo.java:66)
at org.apache.lucene.index.MultiSegmentReader$MultiTermEnum.next(MultiSegmentReader.java:494)
at org.apache.lucene.index.SegmentMergeInfo.next(SegmentMergeInfo.java:65)
at org.apache.lucene.index.MultiSegmentReader$MultiTermEnum.next(MultiSegmentReader.java:494)
at org.apache.lucene.search.FilteredTermEnum.next(FilteredTermEnum.java:67)
at org.apache.lucene.search.FilteredTermEnum.setEnum(FilteredTermEnum.java:49)
at org.apache.lucene.search.FuzzyTermEnum.<init>(FuzzyTermEnum.java:127)
at org.apache.lucene.search.FuzzyQuery.getEnum(FuzzyQuery.java:100)
at org.apache.lucene.search.FuzzyQuery.rewrite(FuzzyQuery.java:104)
at org.apache.lucene.search.BooleanQuery.rewrite(BooleanQuery.java:383)
at org.apache.lucene.search.BooleanQuery.rewrite(BooleanQuery.java:368)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.services.security.web.SetCurrentIdentityFilter.doFilter(SetCurrentIdentityFilter.java:90)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.portal.application.localization.LocalizationFilter.doFilter(LocalizationFilter.java:179)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.web.login.ClusteredSSOFilter.doFilter(ClusteredSSOFilter.java:62)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.container.web.PortalContainerFilter.doFilter(PortalContainerFilter.java:69)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:402)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
at java.lang.Thread.run(Thread.java:662)
   JNI locked monitors:
- locked <5258ed3e> (a java.lang.ref.Reference$Lock)
   Locked ownable synchronizers:
- None
"Reference Handler" - Thread t@2
   java.lang.Thread.State: BLOCKED
at java.lang.Object.wait(Native Method)
- waiting on <5258ed3e> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
   Locked ownable synchronizers:
- NoneAs you can see in my thread dump the object "java.lang.ref.Reference$Lock" is locked by a common thread which has for consequences to annoy a lot the GC and to freeze the whole application. Regarding the code (http://kickjava.com/src/java/lang/ref/Reference.java.htm) since the class java.lang.ref.Reference$Lock is private and the field "lock" is also (static) private, I was wondering if it is normal that this field can be locked by a common thread and if so can you tell me why and how (by reflection I assume like my example below)? Can it be a JVM Bug?
This issue makes me realized that any Java application without a Security Manager installed can be easily frozen thanks to this simple code:
      // The thread that will steal the lock to the "Reference Handler" to block the GC and then the whole application
      new Thread("Reference$Lock Holder Thread")
         public void run()
            try
               // Get the lock field by reflection
               Field fieldLock = Reference.class.getDeclaredField("lock");
               // Make it accessible
               fieldLock.setAccessible(true);
               // Get the static lock object
               Object o = fieldLock.get(null);
               Object mutex = new Object();
               // Lock the lock object
               synchronized (o)
                  // Wait forever
                  synchronized (mutex)
                     mutex.wait();
            catch (Exception e)
               e.printStackTrace();
      }.start();
      // This is a simple code used to simulate normal object creation until the GC call
      for (int i = 1;;i++)
         new Object();
         if ((i % 1000) == 0)
            System.out.println(i);
      }NB: This issue has been occured on RHEL 5.3 et JVM Sun 1.6 u26 (64 bit)
Thanks for helping,
BR,
Nicolas

essobedo wrote:
I did not understand that from the javadoc by "javadoc on that field" you mean this :
/* Object used to synchronize with the garbage collector. The collector
* must acquire this lock at the beginning of each collection cycle. It is
* therefore critical that any code holding this lock complete as quickly
* as possible, allocate no new objects, and avoid calling user code.
So for you it is normal that the normal thread "http-0.0.0.0-8080-56" holds the lock expected by the "Reference Handler" and 20 other normal threads? If so do you have any idea why it works like this? Is-it how the GC works internally?if those threads are doing garbage collection work, then yes, they will be holding that lock (which is exactly what the javadoc says).

Similar Messages

  • I have a situation where the administrator password is rejected when attempting a software update. I think this happened because of syncing a iPad to the iMac.  How can I reset the Software Update back to the administrator password?

    I have a situation where the administrator password is rejected when attempting a software update. I think this happened because of syncing an iPad to the iMac.  How can I reset the Software Update back to the administrator password?

    You can reset the password with the install disk.

  • How does the filesystem handle bad blocks?

    Let's suppose your hard drive develops a bad sector on it. What happens?
    I remember early products where the OS would constantly try to store new files right on top of the bad block, find the file couldn't be written/verified, then would write it elsehere... then the next time it would do the same thing again, expecting the block to "heal" I guess
    What happens on MacOS (extended, journaled) if it's writing a file and finds a bad block in freespace? Does the OS know how to "cocoon off" or tag the bad block as bad and not use it?
    Now what happens if the bad block develops underneath an active file? What's the recovery pattern? Or is there none - does it just leave the block bad permanently? Is there any way to fix that?

    Boot your computer from the DVD that came with it, and use Disk Utility to check the status of the disk. Select the disk and look at the S.M.A.R.T. status at the bottom. If it displays anything other than Verified, then the disk isn't going to last much longer.
    Modern hard disks don't develop "bad sectors" that the OS needs to handle. The disk drive itself automatically remaps bad sectors to spare unused sectors in a way that is transparent to the OS. When too many of those bad sectors are remapped, the S.M.A.R.T. status will report an error.
    What you're describing is a failing disk. It's more than likely the early stages of a total failure, rather than just a bunch of bad sectors. Same thing happened to my MacBook a few months ago. After about two hours, it failed completely. I picked up a new drive on the way home, and restored it from Time Machine overnight. The only data that I lost was an iTunes purchase that I made that morning (iTunes Support let me download it again). You have a backup, right?
    It's also possible that you've either run out of free space on the startup disk, or you have a process running that's consuming too much CPU and/or RAM resources. If that's the case, a reboot will clear it (until whatever caused it happens again).

  • How do I completely disable initial "Checking Compatibility of Add-ons" pop-up for all users on a Citrix server where the FireFox was upgraded to 29.0.1

    I have a set of Citrix servers, we need to upgrade the FireFox on them to 29.0.1
    When I have done this, and a user runs FireFox, now the users are being presented with a pop-up "Checking Compatibility of Add-ons" which delays the start of FireFox.
    I need to prevent this so users just see FireFox start up without any delays.
    I have installed the add-on that re-enables extensions.checkCompatibility and tried various ways of implementing it like pref("extensions.checkCompatibility", false);
    However we seem to have a situation where the add-on that enables the setting is not loaded yet so the setting is not implemented.
    How do I solve this for all users?

    You can try to set the browser.startup.homepage_override.mstone pref to ignore on the about:config
    *http://kb.mozillazine.org/browser.startup.homepage_override.mstone
    You can use a mozilla.cfg file in the Firefox program folder to specify new (default) values and possibly lock prefs.
    Place a local-settings.js file in the defaults\pref folder where also the channel-prefs.js file is located to specify using mozilla.cfg.
    pref("general.config.filename", "mozilla.cfg");
    These functions can be used in the mozilla.cfg file:
    defaultPref(); // set new default value
    pref(); // set pref, but allow changes in current session
    lockPref(); // lock pref, disallow changes
    See:
    *http://kb.mozillazine.org/Locking_preferences
    *http://mike.kaply.com/2012/03/16/customizing-firefox-autoconfig-files/
    *http://mike.kaply.com/2014/01/08/can-firefox-do-this/

  • Always is the only option for block cookies...

    Has anyone come across the problem where the only option under "Block Cookies" is Always?
    The phone was working for a year and all of a sudden it got change to Always; and i cant choose any other option.
    Always is the only thing listed.

    Hmm i support exchange ; and didnt think we pushed a policy out like this, or was even capable of blocking cookies.. let me poke around and check Our EAS settings
    Update:
    I checked and there is nothing in that area that i can see..
    There are tons of values; but nothing regarding cookies
    http://technet.microsoft.com/en-us/library/bb123756(v=exchg.141).aspx
    Update 2:
    I did a general\reset\ reset all settings , no change

  • HT3964 I have macbook air late 2010 model... it works fine otherwise but it has started being overheated in normal situations where normally it used to work fine and draining more battery....... battery time is almost half now. should i reset SMC. Would i

    I have macbook air late 2010 model... it works fine otherwise but it has started being overheated in normal situations where normally it used to work fine and draining more battery....... battery time is almost half now.
    should i reset SMC... would it help?

    I'm doubtful it's a missing driver too, but I feel as though it's driver related. The first time XP was installed, after first boot without installing drivers, it was without sound etc, but fundamentally the system worked. Now after first boot, it's very buggy. Thanks for your suggestion Tonny. I ran the tool but it turns out the HDD is fine. Besides, everything runs fine in safe mode.
    Does anyone know if (generally speaking) there is any firmware on the graphics card that would get updated via a Windows update? i.e. is it possible that Windows update downloaded a driver for the graphics card that installed new firmware that wasn't all that compatable with XP?

  • [svn] 3519: Fix typo in error string for situations where there are advanced messaging configuration settings from LCDS used in the configuration files but no AdvancedMessagingSupport service .

    Revision: 3519
    Author: [email protected]
    Date: 2008-10-08 04:17:40 -0700 (Wed, 08 Oct 2008)
    Log Message:
    Fix typo in error string for situations where there are advanced messaging configuration settings from LCDS used in the configuration files but no AdvancedMessagingSupport service. The error string said that there was no flex.messaging.services.AdvancedMessagingService registered but it is the flex.messaging.services.AdvancedMessagingSupport service that needs to be registered.
    Add configuration test that starts the server with a destination that has the reliable property set which is an advanced messaging feature but there is no AdvancedMessagingSupport service registered.
    Modified Paths:
    blazeds/trunk/modules/common/src/flex/messaging/errors.properties
    Added Paths:
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/ReliableDestina tionWithNoAdvancedMessagingSupport/
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/ReliableDestina tionWithNoAdvancedMessagingSupport/error.txt
    blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/messagingService/ReliableDestina tionWithNoAdvancedMessagingSupport/services-config.xml

    Hi,
    Unfortunately I already tried all kinds of re-installs (the full list is in my original message). The only one remaining is the reinstall of Windows 8 itself, which I would really like to avoid.
    What I find really strange is the time it takes for the above error message to appear. It's like one hour or even more (never measured exactly, I left the computer running).
    What kind of a timeout is that? I would expect that, if ports are really used by some other application, I get the message in less than a minute (seconds, actually). To me this looks like the emulator itself for some reason believes there's a problem with
    some port while in reality there isn't.
    I'll eventually contact Microsoft Support, thanks for the suggestion.

  • HT4528 While I was trying out the voice over option on my phone I somehow put it in a mode to where the screen stays black and it will only talk to me.  How do I get it back to normal?

    While I was trying out the voice over option on my phone I somehow put it in a mode to where the screen stays black and it will only talk to me.  How do I get it back to normal?

    "If VoiceOver is on and the screen is black, but you can still use the device by pressing volume up and volume down, you may have screen curtain on. Try triple-tapping using three fingers on the device display to turn off screen curtain. Or connect the device to iTunes"
    http://support.apple.com/kb/HT3577?viewlocale=en_US&locale=en_US

  • HT1657 I cannot play my rented movie because itunes cannot locate where the original file, has anyone face this problem before? Where can I find the location of the downloaded movie?

    I cannot play my rented movie because itunes cannot locate where the original file, has anyone face this problem before? Where can I find the location of the downloaded movie?

    What did you use to download it with? iPad? iPhone? Computer?
    If it's an iPad/iPhone, play it using the videos app.
    If on the computer, look on the left side of iTunes in the library under movies.

  • I've got a iPod classic 80g I've got loads of pictures on there and I want to get them off. I've tried something where the files I get off come up as thumbnails which I can't open. Is there any way of getting them off and viewing them as a normal photo?

    I've got a iPod classic 80g I've got loads of pictures on there and I want to get them off. I've tried something where the files I get off come up as thumbnails which I can't open. Is there any way of getting them off and viewing them as a normal photo?

    Oh no... NOT THE 99-PAGER!!! Anything but THAT!!!

  • What is the ~ (tilde) symbol where the number of messages normally is?

    Sometimes my Mail has a tilde (~) symbol where the number of messages is normally found by the Inbox on the left side of the Mail window. I have been having some problems where I have had to change the outgoing mail port, and don't know if this is related. I seem to be able to send and receive email, but would like to know what is happening.

    Hi,
    the tilde (~) symbol means that the account is offline. You can take an account online from the "Mailbox" menu item "Online Status".

  • Has anyone ever experienced the situation where plugging in the USB connector to the charging source (high-power USB port or Apple charger) halfway, then pressing it in firmly, results in the iPad not charging?

    Has anyone ever experienced the situation where plugging in the USB connector to the charging source (high-power USB port or Apple charger) halfway, then pressing it in firmly, results in the iPad not charging?

    It's highly likely that there is a poor connection in the phone - either a pin in the dock connector or internal wiring harness.  No software fixes or "tricks" would work, but I would recommend restoring in iTunes, first using a backup and if needed restore as a new phone. 
    Otherwise, opening and repairing the phone takes some tech knowledge that can't be relayed here.  Apple doesn't repair phones other than replacing batteries (not inconceivable that you have a bad battery), but offers "out-of-warranty" replacement (refurb) phones for $149 (US).  3rd party iPhone repair centers may be able to fix it for less.  Google to find them,
    Tried soft and hard resets
    FYI, there's no such thing as "soft" or "hard" resets in iPhone terminology.  There is only one phone reset. You'll see those terms thrown around by technically ignorant posters, but they mean different things to different people and are actually archaic, 1980s PC terms that have nothing to do with iPhones.
    See the User Guide, Appendix B.

  • After upgrading to 8, the text message microphone symbol has been replaced by a smiley face.  Where did it go?

    Where is the text message microphone symbol?  I now have a smiley face instead of the symbol.

    The disk folder you're describing sounds a lot like the Windows Favorites folder. That's actually completely independent from Firefox's bookmark storage.
    After your upgrade, did you freshly install Firefox? In that case, the problem might be an incomplete import of your Windows Favorites (IE Favorites) instead of an incomplete recovery of your old Firefox bookmarks.
    To see whether you still have your Firefox bookmarks, in your backup -- for example, the C:\Windows.old\ folder, or a backup on external media -- could you try to track down a folder named '''bookmarkbackups'''. By default, this is hidden folder, so you may need to turn on viewing of hidden files and folders. This article has the steps: [http://windows.microsoft.com/en-us/windows/show-hidden-files].
    Let me know what you find and then I can suggest next steps.

  • So somehow while in itunes store i ended up zooming out to where the font is extremely small.  I don't know what to do to fix it back to the normal (auto) size.  What do I do???

    I have a Toshiba laptop and sometimes i get to close to the edge of my mouse thing (it's just a square you brush your finger across to make it move).  Anyway I was looking through the itunes store for new music to get when somehow i caused it to look a lot smaller then it should (as if it zoomed out to less then 100%).  Is there any way I can get it back to normal size?

    Hold down the ctrl key and roll the mouse wheel.
    tt2

  • We have a situation where in an existing application after go live we need

    We have a situation where in an existing application after go live we need to add a new dimention. The fact is after adding the dimension the existing data will not have any value against this dimension(will have only null values). If so will it create a problem in loading or reporting?. How to resolve it?.

    My experience (on BPC 5.1 MS, and earlier versions) has been as follows:
    1.) create a new dimension, with at least 1 member. Pay particular attention to which member is the first base member in the hierarchy. (If you're planning to have multiple hierarchies in this dimension, wait for now on the ParentH2 etc. Start with just 1 hierarchy until you've completed these steps.) Process the dimension.
    2.) add that dimension to an existing application. When the application is processed, all of the existing data is assigned to that first base member of the new dimension.
    3.) If that's not sufficient, and you want to assign some data to another member of this new dimension, either use the "Move" package, or write custom SQL script logic, to get the data assigned to the correct members.

Maybe you are looking for

  • Error sound every time I add or modify an ical entry

    Ever since I upgraded to MobilMe and iPhone push, I get the error sound (the "sosumi") if I change or add an event in Ical (eg, move an event to a new date, or change a time or even a word in the event.) The change does take effect and propagate, but

  • Exchange 2010: Send As Permission for group mailbox...

    Our helpdesk has a shared mailbox used for users to submit issues.  Up until a week ago, all of the helpdesk techs could send-as the shared mailbox.  Now when they attempt to send as the shared mailbox via Outlook they get the error "You do not have

  • OpenCL How to use both GPUs in battery saving mode

    Hello everyone, Currently I'm developing a software using OpenCL under OS X 10.6.4. The galaxies (n-body) application provided by Apple is able to query and use both the 9400M and 9600M GT of my Macbook Pro. The interesting thing is, it can even do s

  • Cant get ipod into disk mode

    I've followed all support steps and my ipod mini wont go into manual disk mode. The apple icon never leaves...I've downloaded update and tried everything. I just got this one from apple as a replacement as my old one stopped working too. This one wor

  • Using BPS numberic variables in the FOX formula???

    Hi all, Can someone tell me how to use one variable (<b>the variable type is 'numberic'</b>) in the FOX formula? Thank you. FOX formula example: <b>Inventory $= inventory unit * inventory (per unit) * depreciation monthS (<u>this is a numberic variab