"Deadlock in safepoint code. Should have called back to the VM"

We experience a VM crash in Safepoint.cpp with the following message:
# An unexpected error has been detected by Java Runtime Environment:
# Internal Error (safepoint.cpp:558), pid=5452, tid=1900
# Error: Deadlock in safepoint code. Should have called back to the VM before blocking.
# Java VM: Java HotSpot(TM) Client VM (11.0-b16 mixed mode windows-x86)
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
This happens in JRE 1.6.0.11 + Microsoft VS2008 C++, on Windows Server 2003. Happens in a busy customer site once in every few days, cannot reporoduce in the lab.
There are two relevant threads:
* Thread A: Created in Java right after system start up. It makes some preparations and then calls C++ code via JNI. In the JNI, Java data types are converted to C++ data types by GetBooleanArrayElements() and GetStringUTFChars(). It remains in C++ forever (until shutdown) and calls back the Java code via JNI every few seconds (that is: the stack contains Java frames, then C++ frames, then from time to time more Java frames and even further C++ frames).
* Thread B: Created upon need, invokes a C++ function via JNI, converts parameters by GetStringUTFChars() and at return by ReleaseStringUTFChars(). The function may take few milliseconds and up to few minutes to complete, eventually it returns to Java and the thread is deleted.
At time of crash we see the following:
* Most of the threads in the system are in state threadblocked - we guess that the VM blocked them for GC.
* Thread A is the active one. As far as we can tell it is in Java (called back from C++), maybe trying to invoke a C++ function via JNI. It locked and released a mutex ("synchronized") just before the crash (we suspect that while performing this lock its thread's Safepoint state may have changed to callback). The thread state is threadin_native_trans.
* Thread B is blocked in the JNI trying to return to Java, maybe while invoking ReleaseStringUTFChars(). It's state is threadblocked.
Another important detail: the crash happens usually certain time (few seconds or even few minutes) after thread B is blocked, and always while thread A is in Java called back from C++. We guess that something caused the Safepoint locking to wait forever while thread B tried to returns to from C++ to Java, and that the activity of thread A make the Safepoint realize that there's a deadlock (so its activity it's not the root cause but a side-effect).
We always see two mutex / monitors with name UNKNOWN at time of error, and 100% "eden" memory utilization.
hotspot error dump fragment:
--------------- T H R E A D ---------------
Current thread (0x26d51400): JavaThread "DialogicBridge" [_thread_in_native_trans, id=1900, stack(0x28490000,0x284e0000)]
Stack: [0x28490000,0x284e0000]
[error occurred during error reporting (printing stack bounds), id 0xc0000005]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j telemessage.telephony.DialogicBridge.initializeDialogic(Ljava/lang/String;IIIIIIIIIIIILjava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IZZ[Z)I+0
j telemessage.telephony.DialogicBridge$1.run()V+293
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub
0x2ed00400 JavaThread "<< Call#16207 >> " [_thread_blocked, id=8604, stack(0x2e5c0000,0x2e610000)] // this is thread B
=>0x26d51400 JavaThread "DialogicBridge" [_thread_in_native_trans, id=1900, stack(0x28490000,0x284e0000)] // this is thread A
Other Threads:
0x269f7000 VMThread [stack: 0x26a80000,0x26ad0000] [id=2104]
0x26a29000 WatcherThread [stack: 0x26cb0000,0x26d00000] [id=9300]
VM state:synchronizing (normal execution)
VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
[0x002a8be0] UNKNOWN - owner thread: 0x269f7000
[0x002a9040] UNKNOWN - owner thread: 0x2ed00400
Heap
def new generation total 2816K, used 2707K [0x02730000, 0x02a30000, 0x04e90000)
eden space 2560K, 100% used [0x02730000, 0x029b0000, 0x029b0000)
from space 256K, 57% used [0x029f0000, 0x02a14f50, 0x02a30000)
to space 256K, 0% used [0x029b0000, 0x029b0000, 0x029f0000)
tenured generation total 30272K, used 17667K [0x04e90000, 0x06c20000, 0x22730000)
the space 30272K, 58% used [0x04e90000, 0x05fd0d88, 0x05fd0e00, 0x06c20000)
compacting perm gen total 12288K, used 10995K [0x22730000, 0x23330000, 0x26730000)
the space 12288K, 89% used [0x22730000, 0x231ecdf8, 0x231ece00, 0x23330000)
No shared spaces configured.

Thanks for the advice.
Eventually (after few days of digging) we found that in certain case we're using the JNIEnv of one thread in the other thread. This leads to sporadic crashes. We managed to simulate the situation in the lab and ensure that fixing the JNIEnv mixture really makes the problem go away.

Similar Messages

  • Fatal deadlock in safepoint code

    I got the following exception when benchmarking WLS 6.1 SP1 on HPUX11.0.
              This exception resulted in an outage in one of the WLS instances in the
              cluster. Unfortunately, this problem doesn't happen often. It happened once
              after a 10 hour run and once after a 4 hour run. It also appears to happen
              when we are benchmarking under heavy loads. This exception also only
              occurred twice in a three week testing window. In other words, it is
              difficult to recreate. However, we are looking for a solution.
              # Java version:
              # Java HotSpot(TM) Server VM (mixed mode)
              # HotSpot Virtual Machine Error, Internal Error
              # Fatal: Deadlock in safepoint code. stopped at 00000000
              # Error ID:
              /CLO/Components/JAVA_HOTSPOT/Src/build/hp-ux/../../src/share/vm/runtime/safe
              point.cpp, 297
              # Problematic Thread: prio=3 tid=0x00490b70 nid=18 lwp_id=17514 runnable
              I am running JDK "1.3.1.00-release-010607-19:35-PA_RISC2.0" which comes with
              the WLS 6.1 SP1 distribution. I am tempted to try JDK 1.3.1.01 which is the
              latest from HP. Only problem is we try to stay compliant with BEA's
              recommended JVM. Any thoughts on that?
              My config is three HP L3000s (4 cpus each) - one is the DB server and two
              are the appl servers. The appl servers are only running at about 50-70% busy
              with lots of free physical memory. My JVM settings are
              JAVA_OPTIONS="-server -verbosegc -XX:NewSize=128m -XX:MaxNewSize=128m -XX:Su
              rviv
              orRatio=2 -Xms512m -Xmx512m"
              Looking at the HP Java release notes, I tried turning
              on -XX:+UseCompilerSafepoint. The doc on safe point follows.
              -XX:+UseCompilerSafepoints
              Enables compiler safe points. In this version, compiler safe points is off
              by default. Enabling compiler safepoints guarantees a more deterministic
              delay to stop all running java threads before doing a safepoint operation,
              namely garbage collection and deoptimization. For patch information, see
              "Known Problems" in these release notes.
              Unfortunately, soon (about 10 minutes) after starting up the WLS cluster, we
              got the following exception
              ========================================================================
              An unexpected exception has been detected in native code outside the VM.
              Unexpected Signal : 10 occurred at PC=0xd04190
              Function name=(N/A)
              Library=(N/A)
              NOTE: We are unable to locate the function name symbol for the error
              just occurred. Please refer to release documentation for possible
              reason and solutions.
              Current Java thread:
              "ExecuteThread: '5' for queue: 'default'" daemon prio=2 tid=0x00456040
              nid=17 lwp_id=21726 runnable [0x00000000..0x589b3478]
              Dynamic libraries:
              /app1/wl6dncp/bea/jdk131/jre/bin/../bin/PA_RISC2.0/native_threads/java
              text:0x00001000-0x00006644 data:0x00007000-0x00007324
              /app1/wl6dncp/bea/jdk131/jre/bin/../lib/PA_RISC2.0/server/libjvm.sl
              text:0xc2c00000-0xc33ba000 data:0x7f71a000-0x7f7cf000
              /usr/lib/libpthread.1
              text:0xc11a0000-0xc11b6000 data:0x7f6e7000-0x7f6ea000
              /usr/lib/libm.2
              text:0xc02c0000-0xc02e6000 data:0x7f6ea000-0x7f6f0000
              /usr/lib/libcl.2
              text:0xc0e40000-0xc0f17000 data:0x7f6f1000-0x7f70f000
              /usr/lib/libisamstub.1
              text:0xc00ce000-0xc00cf000 data:0x7f6f0000-0x7f6f1000
              /usr/lib/libCsup.2
              text:0xc1460000-0xc147b000 data:0x7f70f000-0x7f712000
              /usr/lib/libc.2
              text:0xc0100000-0xc0228000 data:0x7f7d0000-0x7f7e7000
              /usr/lib/libdld.2
              text:0xc0003000-0xc0005000 data:0x7f7cf000-0x7f7d0000
              /app1/wl6dncp/bea/jdk131/jre/lib/PA_RISC2.0/native_threads/libhpi.sl
              text:0xc0fa0000-0xc0fb1000 data:0x7f6e6000-0x7f6e7000
              /app1/wl6dncp/bea/jdk131/jre/bin/../lib/PA_RISC2.0/libverify.sl
              text:0xc1140000-0xc1150000 data:0x7f6d4000-0x7f6d5000
              /app1/wl6dncp/bea/jdk131/jre/bin/../lib/PA_RISC2.0/libjava.sl
              text:0xc1150000-0xc117c000 data:0x7f6cf000-0x7f6d4000
              /app1/wl6dncp/bea/jdk131/jre/bin/../lib/PA_RISC2.0/libzip.sl
              text:0xc1180000-0xc1193000 data:0x7f6cd000-0x7f6cf000
              /app1/wl6dncp/bea/jdk131/jre/bin/../lib/PA_RISC2.0/libnet.sl
              text:0xc0f34000-0xc0f3d000 data:0x7f42c000-0x7f42d000
              /usr/lib/libnss_dns.1
              text:0xc00c8000-0xc00cc000 data:0x7f429000-0x7f42a000
              /usr/lib/libnss_nis.1
              text:0xc0008000-0xc000e000 data:0x7f428000-0x7f429000
              /usr/lib/libnsl.1
              text:0xc0240000-0xc02bb000 data:0x58d3a000-0x58dff000
              /usr/lib/libxti.2
              text:0xc00b0000-0xc00c5000 data:0x7f423000-0x7f428000
              /usr/lib/libnss_files.1
              text:0xc0028000-0xc002f000 data:0x7f422000-0x7f423000
              /app1/wl6dncp/bea/wlserver6.1/lib/hpux11/libmuxer.sl
              text:0xc0979000-0xc097c000 data:0x7f421000-0x7f422000
              /app1/wl6dncp/bea/wlserver6.1/lib/hpux11/libweblogicunix1.sl
              text:0xc00cf000-0xc00d0000 data:0x7f420000-0x7f421000
              /usr/lib/libnsl_s.2
              text:0xc2910000-0xc2924000 data:0x7f419000-0x7f41e000
              /usr/lib/libC.2
              text:0xc24e0000-0xc24fd000 data:0x7f41e000-0x7f420000
              Local Time = Wed Oct 31 13:20:37 2001
              Elapsed Time = 493
              # The exception above was detected in native code outside the VM
              # Java VM: Java HotSpot(TM) Server VM (1.3.1
              1.3.1.00-release-010607-19:35-PA_RISC2.0 PA2.0 mixed mode)
              ========================================================================
              The -XX:+UseCompilerSafepoint option requires patch PHKL_24943. See doc
              below.
              HotSpot Compiler Safe Points
              NOTE: For both HP-UX 11.0 and 11i, using Compiler Safe Points requires a
              patch. The required patches are shown below. For information on locating and
              installing the patches, go to the "Installation" section in this document.
              HP-UX 11.0 PHKL_24943
              HP-UX 11i PHKL_24751
              In this version, compiler safe points is off by default. To turn it on, use
              the -XX:+UseCompilerSafepoints option. Enabling compiler safepoints
              guarantees a more deterministic delay to stop all running java threads
              before doing a safepoint operation, namely garbage collection and
              deoptimization.
              Unfortunately, PHKL_24943 was recalled. See below.
              HP-UX 11.00 PA-RISC Patches
              NOTE: Several of the patches shown below have dependency patches. On the web
              page from which you download the patch, click the "dependency" link and make
              sure you install the dependency patches as well.
              PHCO_23792
              PHCO_23963
              PHCO_24148
              PHKL_18543
              PHKL_23226
              PHKL_23409
              PHKL_24826
              PHKL_24943*
              PHKL_25188
              PHNE_21731
              PHNE_23456
              PHNE_24034
              PHSS_23440
              *PHKL_24943 has been recalled. A replacement patch will be available shortly
              and will be posted here as soon as it is available.
              The long and the short of it. Has anybody in HPUX land run across this issue
              before in production and what workaround have you come up with.
              TIA
              Bernie
              

    I also encounter this problem, does you resolve it or not? If you did, please tell me what should I do.
              Thanks very much
              

  • I have my catalog "Back Up Each Time Lightroom Exits" checked, and always have. That means the catalog should have been backed-up and saved everyday, if not more than once on some dates. So with a a major problem now and needing to use the Catalog backup

    I have my catalog "Back Up Each Time Lightroom Exits" checked, and always have. That means the catalog should have been backed-up and saved everyday, if not more than once on some dates. So with a a major problem now and needing to use the Catalog backup from last Friday, I go to my Lightroom Backups folder - and the most recent one showing not only isn't yesterday, it's OCTOBER 28 !?? Where the hell are the daily backups between October 28 and November 14?

    Oh wow - JET LAG strikes agin - my apologies; I have located the missing weeks of back-ups. After getting home from a 30-day trip to Europe, I had changed the location of my LR catalog back-ups to an external drive, and forgot that I did that. I have found them, and all is good. Never operate Heavy Machinery without enough rest. Cheers

  • TS3999 All my events are gone from my calendar. How do I retrieve them? They should have been backed up but I am new to this.

    All my events are gone from my calendar. How do I retrieve them? They should have been backed up but I am new to this.

    Everything is gone from outlook - how do I put it back and turn off iCloud for my calendar?

  • Macbook pro fails to read sd card with movies recorded on it, any ideas? I can view them in the video camera so know they are there somewhere. I am now thinking I should have formatted or initialised the new card before using it.

    My macbook pro is failing to read a new sd card with movies recorded on it. Any ideas please? A previously used SD card has downloaded without problems. I have tried using a card reader as well as downloading from the video camera itself, neither works.
    I can view the latest recordings on the video camera so know they are there somewhere. I am now thinking I should have formatted or initialised the new card before using it but didn't think of that at the time. Obviously don't want to do this now as it will wipe the movies.

    Hi and Welcome to the Forums!
    From everything you've described, you've done everything possible. Hence, I recommend you seek out your warranty support.
    Good luck and let us know.
    Occam's Razor nearly always applies when troubleshooting technology issues!
    If anyone has been helpful to you, please show your appreciation by clicking the button inside of their post. Please click here and read, along with the threads to which it links, for helpful information to guide you as you proceed. I always recommend that you treat your BlackBerry like any other computing device, including using a regular backup schedule...click here for an article with instructions.
    Join our BBM Channels
    BSCF General Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • Do I have to back up the data of my macbook white unibody if I am changing the screen because of the crack problem at the the back of the screen?

    Do I have to back up the data of my macbook white unibody if I am changing the screen because of the crack problem at the the back of the screen?
    They told me to bring it to the genius at the apple store. They will change it for free but I don't have any physical place to back up my computer, they said it will take a coupe of days. I am not really sure if I have to back it up.
    Thank you.

    gmedina172 wrote:
    Should I use time machine? ...
    Mac 101  Time Machine  >  http://support.apple.com/kb/HT1427
    Time Machine Tutorial  >  Time Machine Tutorial
    Video on Restore From Time Machine
    http://support.apple.com/kb/VI29

  • HT1414 I have an iphone purchased in the UAE.  Now that I have moved back to the States, how can I get FaceTime installed?

    When I was living in the UAE I purchased an iphone 5.  It does not have FaceTime because of 'cultural' reasons.  Now that I have moved back to the States where we don't have the same 'cultural' issues, I'd like to put Facebook on.  How do I go about it?  Will apple exchange the phone?  Can my phone's serial number be taken off the no Facebook listing?

    There is no way to get Facetime on that phone. No, Apple will not exchange it. You'll need to purchase a new phone in order to have FaceTime. Third pary apps such as Skype should work, though.

  • Application code should not call ensureCache as this may result in deadlock

    I'm seeing this on the coherence console. I don't think I'm calling ensureCache anywhere in my code.
    Oracle Coherence GE 3.4.2/411 <Warning> (thread=DistributedCache, member=4): Application code running on "DistributedCache" service thread(s) should not call ensureCache as this may result in deadlock. The most common case is a CacheFactory call from a custom CacheStore implementation.
    -Andrew

    Take a look at any CacheStore or EntryProcessor implementations you have. In general, it is a bad idea to try to operate on the same cache service while running on that service (e.g. from an EP).
    See here for more details:
    http://coherence.oracle.com/display/COH34UG/Constraints+on+Re-entrant+Calls

  • My daughter accidentally restored her ipod4 to factory settings so I restored from the last iCloud backup. Her photos were all on camera roll so I believe should have been backed up, but none of them have been restored. Why?

    My daughter accidentally reset her ipod4 to factory settings so I restored from the last iCloud backup. All her photos were on camera roll so I believe they should have automatically been backed up, but none have been restored. Why?

    When she plugged in the ipod last night it backed up again so that now shows as the latest backup. No previous backups are listed so I do not seem to have the option to rerun the old one. She had many pictures on the camera roll taken from well before July. I can only presume that the backup in July must have been incomplete - but then I didn't think it was supposed to list as an option to restore from. Luckily many of the photos had been backed up on the pc but I am very frustrated as to why the icloud backup didn't protect them. Thank you for your advice though, I appreciate it.

  • VZW to VZW text messages have call back number in every message after Tango update

    First of all I want to say how much I appreciate VZW rolling out the WP updates in a timely manner for once (is this the first time they've ever done so, for any phone?), even with the outdated technology (or just the one device), and I'm sure it'll keep us WP faithfulls happy for a little while longer. However I do have an issue with the latest update because it seems like VZW has been affected in such a way that now I have a "Call back at xxx-xxx-xxxx" after every text message received from a Verizon customer. At first I thought it was my friends and family telling me to call them back, and I did (to some degree of annoyance caused me and others) and now its just a plain nuisance. Some web perusing resulted in a few others having the same issue and only on verizon so far
    I know who's texting me at any given time because their names are displayed on top and if I want to call them all I have to do is tap the name (and if no name then the number is so displayed), so displaying "call back at" so and so is just unnecessary and only serves to clutter up an otherwise clean nested message history/interface. So my question is there a way to disable this (which I have yet to find) or does VZW know about this error and plan to fix it, hopefully very soon? Or is this an issue with microsoft?

    I found the answer to this problem.  I think it depends on what kind of phone you have, but I was able to turn off the CB# in the messages.  I have a Samsung Stratosphere.  I was able to go into Messaging, then the menu icon, then choose Settings.  Under the settings there was a choice called Callback enabled.  I was able to to uncheck this choice and now my callback number no longer shows up.  Hope this helps everyone!

  • HT4137 error code:iTunes could not back up the iPhone "Karen's iPhone" because it is locked with a passcode. You must enter your passcode on the iPhone before it can be backed up.

    I am trying to use Itunes to move my data from my iphone 4s that was backed up on my Macbook Pro.  I keep getting an error code backing up from ITunes to new Iphone 5s:iTunes could not back up the iPhone “Karen’s iPhone” because it is locked with a passcode. You must enter your passcode on the iPhone before it can be backed up.  On the Iphone it keeps telling me to add another network.  I have put our home network on the Iphone.  When I put the passcode in the phone does not give me enough time to put my Apple ID password in and it shuts off.  Help!
    <Email Edited by Host>

    FORCE IPAD INTO RECOVERY MODE
    1. Turn off iPad
    2. Turn on computer and launch iTunes (make sure you have the latest version of iTune)
    3. Plug USB cable into computer's USB port
    4. Hold Home button down and plug the other end of cable into docking port.
    DO NOT RELEASE BUTTON until you see picture of iTunes and plug
    5. Release Home button.
    ON COMPUTER
    6. iTunes has detected iPad in recovery mode. You must restore this iPad before it can be used with iTunes.
    7. Select "Restore iPad"...
    Note:
    1. Data will be lost if you do not have backup
    2. You must follow step 1 to step 4 VERY CLOSELY.

  • I can not fint the texture files, which should have been installed with the CS6 and CC? why?

    I installed Photoshop CS6 a while back. Later on I discovered that the texture files where missing, or not included? Later I installed Photoshop CC, to see if the texture files were included here. But no, it was not. As far as I concern, I know that the texture files are included, and should have been installed, but they were not. Someone have any idea why?

    In Photoshop CC 2014, Filter Gallery opens the dialog below, and "Texture" is the last folder.

  • I have to back up the disc before running Bootcamp?

    I need to run Windows on my computer by tomorrow morning for a job.
    I'm working on a MacBook Pro (Mac OX S version 10.6.8).
    I am very computer illterate and was told to set up Bootcamp.
    When I try to start up Bootcamp it gives me two options before proceeding:
    Download the Windows Support software for this Mac.
    I have the Mac OS X installation disc that came with my Mac or I have already downloaded the Windows support softer for this Mac to a CD, DVD, or external disk.
    I keep choosing the second option because when I choose the first option I am given an error that reads, "The Window Support Software is not available."
    When I choose the second option I get an error that reads, "Back up the disk and use Disk Utility to format it as a single Mac OS Extended (Journaled) volume. Restore your information to the disk and try using Boot Camp Assistant again."
    I don't know how to do - I don't have an external hard drive, however, most my files are stored on flashdrives and Dropbox (just in case my computer ever happens to crash).
    So basically, can someone walk me through how to set this up? It's a bit of an emergency.
    I've tried looking up solutions to this problem but become a bit overwhelmed (like I said, "computer illiterate") and can't follow along with the advice.
    If anyone could write a possible solution in a kind of step-by-step format, then I'd be very grateful.
    Thank you so~ much to anyone who may reply.

    That error message tells you that you have more than one partition on your hard disk, so you have to delete it before running Boot Camp.
    1. First of all, if you have important data on that volume, copy it to the first partition before doing anything. You can access to that volume on Finder sidebar.
    2. Open Disk Utility, select your hard disk at the top of the sidebar and go to Partition tab.
    3. You will see a partitions bar with all the partitions of your hard disk. Select the last partition and press - button to delete it.
    4. Then, click at the bottom right corner of the first volume and drag it to the end of the bar, so your OS X partition will use all the space of the hard disk. Finally, press Apply.
    5. Close Disk Utility, open Boot Camp Assistant and follow the steps to install Windows.
    I give you some notes for the Windows installation:
    Boot Camp will create a FAT partition; however, Windows Vista and Windows 7 requires a NTFS partition, so on the partitioning screen (it will appear during the Windows installation), you have to select "BOOTCAMP" volume, press "Options" and choose "Format". When it finishes, press "Next" and Windows installation will start.
    After installing Windows, you have to install the Boot Camp drivers. Just insert the Snow Leopard DVD and follow the steps to install the drivers. They will give compatibility for all the hardware of your Mac, so you won't have any problem with Windows.
    After installing Windows, your Mac will always start into Windows by default. If you want to start into OS X, press X key while your Mac is starting. If you want to start always into OS X, press X key while your Mac is starting, open System Preferences > Startup Disk, and choose "Macintosh HD".
    If you do this last step, to start into Windows, you only have to press Option key while your Mac is starting and choose "Windows".
    If you want all the detailed steps to install Windows, you can print this PDF > http://manuals.info.apple.com/en_US/Boot_Camp_Install-Setup_10.6.pdf

  • I was downloading photos and accidentally unplugged the phone. Now the phone is not working and it is prompting me to restore which will delete everything on the phone. I have never backed up the phone is there any hope

    I was downloading photos and accidentally unplugged my phone. I have never backed the phone up now it is prompting me to restore without any opportunity to back up. I have tried shutting down the phone and the computer- but same old message....prompts to restore....any ideas....I don't want to lose my data...

    Why would you not be syncing to your computer regularly?
    If there is no backup, then you will likely lose everything.
    The iphone is designed to be synced regularly.

  • When overriding methods, should i call super at the begining or end

    Hi,
    when overriding methods such as swing's dispose(), and removeNotify(), should i call the super methods at the begining of the method or at the end?
    or does it make a difference....i was under the assumption i should call it at the end, that way i can do whatever necessary things i needed, then call the default....

    In cases where it truly doesn't matter, I think people tend to call super first. If I see it done some other way, it's an indicator that something unusual is going on. I'd liken calling super at the end of a method to iterating through an array in reverse inside of a 'for' loop. One can adopt either convention but people may get confused if you pick the less common one for no particular reason.

Maybe you are looking for