Local ref garbage collection within "nested" JNI calls

I am using a JVM started in C++ to make calls to java classes. The C++ code makes JNI call into the JVM which instantiates a java class. The java class, in the course of execution, makes other JNI calls. All this happens on one thread of execution.
What I am seeing is that local references from the native methods being called by the java class are not being released until the initial C++ native call exits. The JNI spec (text included below) seems to indicate there is registry of "nonmovable local references to Java objects" which "keeps the objects from being garbage collected". Is there only one such registry which does not get deleted until the initial C++ native call exits? If so, this would explain what I am seeing. How do I get around it?
Thanks,
Iztok
From the JNI spec:
"To implement local references, the Java VM creates a registry for each
transition of control from Java to a native method. A registry maps nonmovable local references to Java objects, and keeps the objects from being garbage collected. All Java objects passed to the native method (including those that are returned as the results of JNI function calls) are automatically added to the registry. The registry is deleted after the native method returns, allowing all of its entries to be garbage collected."

When I say "initial" I mean the initial C++ JNI call into a JVM running in a C++ process as shown in the pseudo code below. initNativeFunc() makes a call to Foo.doSomething() function which calls nativeFunc2 (another native function). Only a local reference to Retval was created in nativeFunct2, so when nativeFunct2 returns and the Retval is no longer used in Foo it should be a candidate for garbage collection. But this is not what happens. The Retval from nativeFunc2 is not being cleaned up until Foo.doSomething() returns. If I make the loop in Foo.doSomething() long enough, NewDoubleArray() returns a NULL when it runs out of memory.
void initNativeFunc() {
jclass clazz = env->FindClass("Foo");
jmethodID mid = env->GetMethodID(clazz, "doSomething", "()V");
env->CallVoidMethod(clazz, mid, ...);
JNIEXPORT jobject JNICALL nativeFunc2() {
jclass clazz = env->FindClass("Retval");
jmethodID mid = env->GetMethodID("Retval, "<init>", "()V");
jobject retval= env->NewObject(clazz, mid);
jdoubleArray da = env->NewDoubleArray(100000);
jfieldID fid = ...
env->SetObjectField(retval, fid, da);
return retval;
public class Foo {
public native void nativeFunc2();
public void doSomething() {
for (int i = 0; i < 100; i++) {
Retval retval = nativeFunc2();
}

Similar Messages

  • Dreamweaver objc[2575]: garbage collection is OFF ... abort() called

    Dreamweaver quit unexpectedly. I was away using Safari at the time. Can anybody tell me what went on here?
    Sorry if this is idiotic... but why are there ftp calls in the midst of this? I hadn't been using Dreamweaver during the time prior. I'd just left it launched.
    and what is :
    (Thread 9)
    3  com.apple.carbonbundletemplate0x14d4d917 MMNetIO::RequestProcessor<MMNetIO::FTPNetChannel, MMNetIO::FTPNetChannel, MMNetIO::NetIOException>::MutexState::Wait() + 49
    4   com.apple.carbonbundletemplate 0x14d4dfd1 MMNetIO::RequestProcessor<MMNetIO::FTPNetChannel, MMNetIO::FTPNetChannel, MMNetIO::NetIOException>::ProcessRequests() + 81
    5   com.apple.carbonbundletemplate 0x14d4e3c9 MMNetIO::RequestProcessor<MMNetIO::FTPNetChannel, MMNetIO::FTPNetChannel, MMNetIO::NetIOException>::RequestProcessorTrampoline(void*) + 35
    My thanks to everyone!!!
    mastorer
    Crashed Thread:  10
    Exception Type:  EXC_CRASH (SIGABRT)
    Exception Codes: 0x0000000000000000, 0x0000000000000000
    Application Specific Information:
    objc[2575]: garbage collection is OFF
    terminate called throwing an exception
    abort() called
    Threads 0 - 7 same then...
    Thread 8:
    0   libsystem_kernel.dylib                  0x9647c83e __psynch_cvwait + 10
    1   libsystem_c.dylib                       0x90593e78 _pthread_cond_wait + 914
    2   libsystem_c.dylib                       0x90593f7b pthread_cond_timedwait_relative_np + 47
    3   com.adobe.adobeswfl                     0x1751f3f7 APXGetHostAPI + 2599847
    4   com.adobe.adobeswfl                     0x176962b8 APXGetHostAPI + 4135528
    5   com.adobe.adobeswfl                     0x1751f51c APXGetHostAPI + 2600140
    6   com.adobe.adobeswfl                     0x1751f587 APXGetHostAPI + 2600247
    7   com.adobe.adobeswfl                     0x1751f6a6 APXGetHostAPI + 2600534
    8   libsystem_c.dylib                       0x9058fed9 _pthread_start + 335
    9   libsystem_c.dylib                       0x905936de thread_start + 34
    Thread 9:
    0   libsystem_kernel.dylib                  0x9647c83e __psynch_cvwait + 10
    1   libsystem_c.dylib                       0x90593e21 _pthread_cond_wait + 827
    2   libsystem_c.dylib                       0x9054442c pthread_cond_wait$UNIX2003 + 71
    3   com.apple.carbonbundletemplate          0x14d4d917 MMNetIO::RequestProcessor<MMNetIO::FTPNetChannel, MMNetIO::FTPNetChannel, MMNetIO::NetIOException>::MutexState::Wait() + 49
    4   com.apple.carbonbundletemplate          0x14d4dfd1 MMNetIO::RequestProcessor<MMNetIO::FTPNetChannel, MMNetIO::FTPNetChannel, MMNetIO::NetIOException>::ProcessRequests() + 81
    5   com.apple.carbonbundletemplate          0x14d4e3c9 MMNetIO::RequestProcessor<MMNetIO::FTPNetChannel, MMNetIO::FTPNetChannel, MMNetIO::NetIOException>::RequestProcessorTrampoline(void*) + 35
    6   libsystem_c.dylib                       0x9058fed9 _pthread_start + 335
    7   libsystem_c.dylib                       0x905936de thread_start + 34
    Thread 10 Crashed:
    0   libsystem_kernel.dylib                  0x9647c9c6 __pthread_kill + 10
    1   libsystem_c.dylib                       0x90591f78 pthread_kill + 106
    2   libsystem_c.dylib                       0x90582bdd abort + 167
    3   libc++abi.dylib                         0x9ccc2921 abort_message + 94
    4   libc++abi.dylib                         0x9ccc01bc default_terminate() + 36
    5   libc++abi.dylib                         0x9ccc01fe safe_handler_caller(void (*)()) + 15
    6   libc++abi.dylib                         0x9ccc0268 std::terminate() + 23
    7   libc++abi.dylib                         0x9ccc12a0 __cxa_throw + 112
    8   com.adobe.dreamweaver-11.5              0x00e9ce33 LException::Throw(long) + 83
    9   com.adobe.dreamweaver-11.5              0x00e57236 LArray::InternalAdjustAllocation(unsigned long, unsigned long) + 74
    10  com.adobe.dreamweaver-11.5              0x00e572a8 LArray::AdjustStorage(long, long) + 102
    11  com.adobe.dreamweaver-11.5              0x00e5785b LArray::AddItem(void const*, unsigned long) + 111
    12  com.adobe.dreamweaver-11.5              0x00df36c5 CPostedMessage::CPostedMessage(CWnd*, unsigned int, unsigned int, long) + 197
    13  com.adobe.dreamweaver-11.5              0x00df5e1f CWnd::PostMessage(unsigned int, unsigned int, long) + 79
    14  com.adobe.dreamweaver-11.5              0x00b1950c CodeViewTypingMonitorThread::MonitorThread() + 188
    15  com.adobe.dreamweaver-11.5              0x00b1953f CodeViewTypingMonitorThread::tramp(void*) + 17
    16  libsystem_c.dylib                       0x9058fed9 _pthread_start + 335
    17  libsystem_c.dylib                       0x905936de thread_start + 34
    etc

    You'll have to ask the people who make Dreamweaver.

  • A question about JNI references, persistence, and garbage collection

    I am writing a library to allow our Java developers to access C functions in our product. I want people on the Java side to be able to instantiate instances of a new object (on the C side), say "Map", and I want those objects to persist until they are destroyed on the Java side. I am thinking of creating a wrapper for the native methods, which stores an identifier for the instance of an object. When the C object is accessed, the identifier is passed to the C code which looks up the correct object in a table. I understand that if I use the NewGlobalReference call in JNI I can get objects to persist.
    When it is time for garbage collection I plan to override finalize() to call the C code and tell it to remove the Global Reference.
    Here's what I have in mind
    public class JMap() {
         private static int id;
         static {
              System.loadLibrary("libMap");
              /*Call C method which instantiates object and creates a GlobalReference
              which is stored in table. Returns ID for reference*/
              id = _init();
         public void setSize(int x, int y) {
              _setSize(id, x, y);
         public void finalize() {
              _finalize(id);
              super.finalize();
         private native int _init();
         /*calls DeleteGlobalReference for the reference matching this id*/
         private native void _finalize(int id);
         private native void _setSize(int id, int x, int y);
    }Is this the right thing to do? Have I understood the way JNI works with regard to GlobalReferences?
    Any comments, tips or pointers would be appreciated :)

    This probably should have been posted in the Native Methods sub-forum, I have reposted there:
    http://forum.java.sun.com/thread.jspa?threadID=657667
    Mods please delete this post :)

  • Cache voluntary garbage collection called

    We have installed Oracle Web Cache 2.0.0.4.0 on Windows 2000. We setup the Maximum cache size parameter to 1000Mb, but, when we try to caching a web using WGET, Oracle Web Cache return a "cache voluntary garbage collection called" in the file of log: "event_log".
    What is the problem?

    The message you're seeing in the event log isn't necessarily a problem. The cache has a voluntary garbage collection mechanism that "wakes up" periodically, checks to see if the system is sufficiently idle, and begins to clear out garbage (invalidated/expired) files. This is different from "forced garbage collection", which occurs when the cache nears its maximum size.
    Are you able to cache content? Are you seeing responses served out of the cache?
    I would strongly advise you to upgrade to release 9.0.2, available for download on OTN. There is also a migration tool there for moving from 2.0.0.x to 9.0.2.x. After you've migrated, you can optionally apply the 9.0.2.1 patch set, available on Metalink.

  • Garbage collection – local variable

    I have a doubt in garbage collection.
    Please look int the below code.
    I hope that even if i didn't make myLocalVar = null; , i believe that garbage collection happens immediately,
    Please let me know am i right ?
    void method() {
      MyClass myLocalVar = null;
      try {
        myLocalVar = get_reference_to_object();
        //.. do more here ...
      } finally {
        if (myLocalVar != null) {
          myLocalVar.close(); // it is resource which we should close
        myLocalVar = null; // THIS IS THE LINE I AM TALKING ABOUT
    }

    JEisen wrote:
    es5f2000 wrote:
    I'm pretty sure that there's no guarantee that GC will run at termination time. That's what causes the issue with finalize(). It is theoretically possible to start a program, run it, and cleanly terminate it without getting a GC.True. I meant more that memory will be freed when the program terminates, not necessarily garbage collected. :)
    I just read about the finalize() gotcha -- never knew that. So is it possible for a program to exit without releasing I/O resources if they were being closed in finalize()?Yes and no.
    The basic answer is yes, however when the VM quits from an OS level the handles/locks/etc that were being used by the VM will, god willing, be released.
    A better example though is something like JDBC where you have remote resources waiting on a signal to be released. Having clean up code in finalize could well never be called and in that case the remote resources would be held on to.

  • Nested object reference after garbage collection

    I have a question about how GC works.
    Assume I have a Class A which has a reference to class B inside it. I create a object of class B and assign to member variable of class A.
    Now when obja is no longer needed, I set it null. And when GC runs, the object will be removed from memory. But should I also need to explicitly set objb to null. If i don't set it, will it also get garbage collected when obja is being removed from memory?
    public class ClassA {
    private ClassB objB = new ClassB();
    private static void main(String args[]) {
    ClassA obja = new ClassA();
    obja = null;
    }

    801625 wrote:
    But should I also need to explicitly set objb to null.No.
    If i don't set it, will it also get garbage collected when obja is being removed from memory?If there are no other references outside of classA to the object referenced by objB (in your case an instance of ClassB) then it will be garbage collected.
    Note - the only time one needs to set a reference to null is if one wants the object it references to be eligible for GC before the reference goes out of scope. There is a slight complication to this - depending on the JVM implementation, if a reference is defined in a block internal to a method then even though it goes out of scope when execution goes out of the block anything it references may not be eligible for GC until the method exits.

  • Hotspot core dumping during JVM garbage collection ?

    We have an application which calls a 3rd party supplied server API which has recently been upgraded to use Java 1.5
    We are getting the following error reported by our client application. The application is also now running Java 1.5 but references many classes in jar files which would have quite old code in.
    The supplier of the API has stated that the problem requires us to recompile all our jar files using v 1.5 ( including things like jconnect and jms ?!?!? ). This sounds like a bit of a cop-out to me, not to mention being impossible since we don't have the source for things like jconnect.
    I suspect that there is a garbage collection problem at the bottom of all this, but I'm not sure how I can "prove" this, nor do I currently have any real clue as to how to fix any GC problem that may exist.
    The application is supposed to wait for a message on a MQSeries queue and then transforms it via Xalan XSLT and sends it to a Server application. I've tried playing around with heap sizes etc but that just seems to make it worse. If I leave it at the settings that the previous version used then the client at least manages to process a couple of messages before core dumping. There doesn't seem to be a consistent trigger event to cause the core dump ( it's not a message arriving on a queue for example ) but it does seem to be fairly consistent timewise, i.e. after
    Any ideas gratefully accepted.
    Here's a logfile excerpt from my applications showing the Hotspot error message :
    =====================================================================================
    08-Jul-2008 10:01:05 Waiting for messages from COLT.BBFS
    08-Jul-2008 10:02:05 Waiting for messages from COLT.BBFS
    08-Jul-2008 10:03:05 Waiting for messages from COLT.BBFS
    405.815: [GC [PSYoungGen: 17331K->9244K(37632K)] 111702K->103615K(192128K), 0.1615910 secs]
    405.977: [Full GC#
    # An unexpected error has been detected by HotSpot Virtual Machine:
    #  SIGBUS (0xa) at pc=0xfe141348, pid=2600, tid=8
    # Java VM: Java HotSpot(TM) Server VM (1.5.0_03-b07 mixed mode)
    # Problematic frame:
    # V  [libjvm.so+0x141348]
    # An error report file with more information is saved as hs_err_pid2600.log
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    =====================================================================================
    The logfile referred to in the error message contains the following.
    =====================================================================================
    # An unexpected error has been detected by HotSpot Virtual Machine:
    # SIGBUS (0xa) at pc=0xfe141348, pid=2600, tid=8
    # Java VM: Java HotSpot(TM) Server VM (1.5.0_03-b07 mixed mode)
    # Problematic frame:
    # V [libjvm.so+0x141348]
    --------------- T H R E A D ---------------
    Current thread (0x001484d8): VMThread [id=8]
    siginfo:si_signo=10, si_errno=0, si_code=1, si_addr=0x0000080f
    Registers:
    O0=0x00487588 O1=0xfe7d6454 O2=0x000079b0 O3=0x00007800
    O4=0x00008868 O5=0x00147d48 O6=0xf8781460 O7=0xfe0f7938
    G1=0xe52aaae8 G2=0x00000003 G3=0x00000003 G4=0x001484d8
    G5=0xf8781d98 G6=0x00000002 G7=0xf8781d98 Y=0x805683e2
    PC=0xfe141348 nPC=0xfe14134c
    Top of Stack: (sp=0xf8781460)
    0xf8781460: fe786000 00c6ba20 fe10013c e54bab68
    0xf8781470: 0000080f e54bab6c 0000080f 00000004
    0xf8781480: 00487588 00000134 e54bab6c 00000004
    0xf8781490: 00000001 00000000 f87814c0 fe17aef4
    0xf87814a0: fe6485b4 fe7d899c 001484d8 0011da40
    0xf87814b0: 00148988 00148c10 00148d7c f8781880
    0xf87814c0: 007c3389 007c3c0e 00000f87 00008868
    0xf87814d0: 00008800 00487588 fe141310 fe7d6454
    Instructions: (pc=0xfe141348)
    0xfe141338: ec 06 c0 1a 80 a5 a0 00 22 40 00 0a ba 07 60 01
    0xfe141348: f2 05 a0 00 ae 0e 60 03 80 a5 e0 03 22 40 00 05
    Stack: [0xf8702000,0xf8781d98), sp=0xf8781460, free space=509k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V [libjvm.so+0x141348]
    V [libjvm.so+0x17aefc]
    V [libjvm.so+0x2d557c]
    V [libjvm.so+0x300ef8]
    V [libjvm.so+0x301e84]
    V [libjvm.so+0x2ff950]
    V [libjvm.so+0x29df30]
    V [libjvm.so+0x362b44]
    V [libjvm.so+0x6436f0]
    VM_Operation (0xe03012b0): parallel gc system gc, mode: safepoint, requested by thread 0x0031bca0
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x00b2c028 JavaThread "Thread-4" [_thread_in_native, id=85]
    0x007f5048 JavaThread "Thread-0" [_thread_blocked, id=84]
    0x00c27cf0 JavaThread "Notification Delivery" [_thread_blocked, id=81]
    0x0026fa08 JavaThread "RMI LeaseChecker" daemon [_thread_blocked, id=73]
    0x00821048 JavaThread "RMI RenewClean-[162.11.2.32:44425]" daemon [_thread_blocked, id=70]
    0x0031bca0 JavaThread "GC Daemon" daemon [_thread_blocked, id=67]
    0x00cd5d28 JavaThread "RMI Reaper" [_thread_blocked, id=66]
    0x003c9300 JavaThread "Timer-0" daemon [_thread_blocked, id=65]
    0x00929fe0 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=64]
    0x0089bf18 JavaThread "SeedGenerator Thread" daemon [_thread_blocked, id=42]
    0x00c47248 JavaThread "Pool thread #7" daemon [_thread_blocked, id=38]
    0x00c466a0 JavaThread "Pool thread #6" daemon [_thread_blocked, id=37]
    0x00311850 JavaThread "Pool thread #5" daemon [_thread_blocked, id=36]
    0x00287a40 JavaThread "Pool thread #4" daemon [_thread_blocked, id=35]
    0x00286e98 JavaThread "Pool thread #3" daemon [_thread_blocked, id=34]
    0x00c134b0 JavaThread "Pool thread #2" daemon [_thread_blocked, id=33]
    0x00ad09e0 JavaThread "Pool thread #1" daemon [_thread_blocked, id=32]
    0x00286cd8 JavaThread "PoolThreadManager" daemon [_thread_blocked, id=31]
    0x00c129e0 JavaThread "Channel Reaper" daemon [_thread_blocked, id=30]
    0x00c669e8 JavaThread "ORB Daemon Thread" daemon [_thread_blocked, id=29]
    0x00b10170 JavaThread "Worker for ServerProtocol: (iiop) /0.0.0.0:20168" daemon [_thread_blocked, id=22]
    0x008a17e0 JavaThread "Syn~ Client" daemon [_thread_blocked, id=21]
    0x003dc378 JavaThread "PoolScavenger0" daemon [_thread_blocked, id=20]
    0x0015a928 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=15]
    0x00159880 JavaThread "CompilerThread1" daemon [_thread_blocked, id=14]
    0x00158a18 JavaThread "CompilerThread0" daemon [_thread_blocked, id=13]
    0x00157b98 JavaThread "AdapterThread" daemon [_thread_blocked, id=12]
    0x00156dc8 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=11]
    0x0014ccd8 JavaThread "Finalizer" daemon [_thread_blocked, id=10]
    0x0014ad90 JavaThread "Reference Handler" daemon [_thread_blocked, id=9]
    0x00038238 JavaThread "main" [_thread_in_native, id=1]
    Other Threads:
    =>0x001484d8 VMThread [id=8]
    0x0015c3b0 WatcherThread [id=16]
    VM state:at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
    [0x00037728/0x00037758] Threads_lock - owner thread: 0x001484d8
    [0x00033650/0x00037ba8] Heap_lock - owner thread: 0x0031bca0
    Heap
    PSYoungGen total 37632K, used 9244K [0xf2eb0000, 0xf7ba0000, 0xf8400000)
    eden space 28352K, 0% used [0xf2eb0000,0xf2eb0000,0xf4a60000)
    from space 9280K, 99% used [0xf4a60000,0xf5367080,0xf5370000)
    to space 25216K, 0% used [0xf6300000,0xf6300000,0xf7ba0000)
    PSOldGen total 154496K, used 94371K [0xe8400000, 0xf1ae0000, 0xf2eb0000)
    object space 154496K, 61% used [0xe8400000,0xee028e78,0xf1ae0000)
    PSPermGen total 35584K, used 18260K [0xe4400000, 0xe66c0000, 0xe8400000)
    object space 35584K, 51% used [0xe4400000,0xe55d5158,0xe66c0000)
    Dynamic libraries:
    0x00010000      /dsdvlp/java/jvm/jdk1.5.0_03/bin/java
    0xff350000      /usr/lib/libthread.so.1
    0xff340000      /usr/lib/libdl.so.1
    0xff200000      /usr/lib/libc.so.1
    0xff390000      /usr/platform/SUNW,Sun-Fire-880/lib/libc_psr.so.1
    0xfe000000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/server/libjvm.so
    0xff1e0000      /usr/lib/libsocket.so.1
    0xff2d0000      /usr/lib/libsched.so.1
    0xff1b0000      /usr/lib/libCrun.so.1
    0xff160000      /usr/lib/libm.so.1
    0xff080000      /usr/lib/libnsl.so.1
    0xff060000      /usr/lib/libmp.so.2
    0xff030000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/native_threads/libhpi.so
    0xfdfc0000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/libverify.so
    0xfdf80000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/libjava.so
    0xfdf50000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/libzip.so
    0xfb7e0000      /usr/lib/locale/en_GB.ISO8859-1/en_GB.ISO8859-1.so.2
    0xe4190000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/libnet.so
    0xe3bd0000      /dsdvlp/lib/5/libSolarisNatives.so
    0xe3e90000      /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/librmi.so
    VM Arguments:
    jvm_args: -Djava.ext.dirs=/dsdvlp/java/tmijar/firs7/lib/cli:/dsdvlp/java/tmijar/firs7/lib/cli/ext:/dsdvlp/java/tmijar/firs7/lib/cmn/OpenORB:/dsdvlp/java/tmijar/firs7/lib/cmn/OpenORB/ext:/dsdvlp/java/tmijar/firs7/lib/cmn:/dsdvlp/java/tmijar/firs7/lib/cmn/ext:/dsdvlp/java/tmijar/firs7/daemonlib -Duser.dir=/dsdvlp/java/tmijar/firs7 -Dopenorb.config=file:/dsdvlp/java/tmijar/firs7/configs/OpenORB/config/SynOpenORB.xml -Dopenorb.home=file:/dsdvlp/java/tmijar/firs7/configs/OpenORB -Dcom.coexis.syn.general.orbbinding=com.coexis.syn.general.orbbinding.openorb.OpenORBBinding_1_4 -Dsun.rmi.dgc.client.gcInterval=360000 -Dsun.rmi.dgc.server.gcInterval=360000000 -Xms32m -Xmx256m -Dcom.coexis.syn.clientcommandsconfiglocation=file://localhost//dsdvlp/java/tmijar/firs7/configs/clientcommands.xml -Dcom.coexis.syn.clientconfiglocation=file://localhost//dsdvlp/java/tmijar/firs7/configs/fsbbtd_client.xml -XX:+PrintGCTimeStamps -XX:+PrintGCDetails
    java_command: com.coexis.syn.mqmessaging.daemon.RunDaemon -p /dsdvlp/bin/5/lndsfsd_fsbbtd.properties start
    Environment Variables:
    JAVA_HOME=/dsdvlp/java/jvm/jdk150
    CLASSPATH=.:/dsdvlp/java/jar/jconnect520.jar:/dsdvlp/java/jar/vbjapp340.jar:/dsdvlp/java/jar/vbjorb340.jar:/dsdvlp/java/jar/javax_jndi120.jar
    PATH=/usr/local/etc:/usr/lang:/usr/openwin/bin:/usr/ucb:/bin:/usr/etc:/usr/local/5/bin:/dsdvlp/bin/5:/dsdvlp/bin/4:/home/app/sybase/5/bin:/home/app/sybase/5/localscripts:/home/app/sybase/5/sqr:/home/app/lang:/home/app/lang/SC2.0.1:/usr/ccs/bin:/usr/local/opt/Acrobat3/bin:/dsdvlp/bin:.
    LD_LIBRARY_PATH=/dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/server:/dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc:/dsdvlp/java/jvm/jdk1.5.0_03/jre/../lib/sparc:/usr/lib:/usr/openwin/lib:/usr/local/5/lib:/dsdvlp/lib/5:/dstest/lib/5:/home/app/sybase/5/lib:/dstest/cats/sun4/lib:/tmitest/Opus/opus/lib
    SHELL=/bin/csh
    DISPLAY=CLI00184.mfil.local:1.0
    OS=5
    --------------- S Y S T E M ---------------
    OS: Solaris 8 2/02 s28s_u7wos_08a SPARC
    Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
    Assembled 18 December 2001
    uname:SunOS 5.8 Generic_117350-20 sun4u (T1 libthread)
    rlimit: STACK 8192k, CORE 9216k, NOFILE 4096, AS infinity
    load average:2.24 2.67 2.68
    CPU:total 4 has_v8, has_v9, has_vis1, has_vis2, is_ultra3
    Memory: 8k page, physical 8388608k(166384k free)
    vm_info: Java HotSpot(TM) Server VM (1.5.0_03-b07) for solaris-sparc, built on Apr 13 2005 03:31:26 by unknown with unknown Workshop:0x550

    The very first suggestion I have is to move your VM to a more recent update of 1.5.0.
    It looks like you are crashing with 5.0u3, and I'm pretty sure 5.0u16 is available. You
    don't want to waste your time chasing a bug that's already been fixed.

  • Do you think JOptionPane dialogs force garbage collection afterwards?

    I ask because I've made a nested static class to implement my own file selection tool; the problem is that each time I call it the old JPanel is being recalled and so the components get re-added to it each time it's called, resulting in n versions of each file for every n times you open it.
    I'm running myDialog.dispose() upon exiting, so is my only option now manual garbage collection? How could I force it to be garbage collected? Because System.gc() seems to have no effect.

    Strictly speaking there is no way to force garbage collection, so, no, JOptionPane will not be doing it.
    You almost certainly have a leak in your code. Post it and we may be able to help.

  • Premature Garbage Collection of Remote Objects

    I have a problem with distributed garbage collection and RMI. In CSPoker we try to support RMI for client-server communication. The client looks up the server through the registry, calls the login method and receives back a Remote Object reference called ServerContext. The client can register Remote even listener Objects with the server.
    In both directions we occasionally see:
    java.rmi.NoSuchObjectException: no such object in table
    The behaviour is completely unpredictable. Some developers never see it, others see it all the time. Even on the same machine, sometimes it failes immediately
    and sometimes it fails after a while. One person running the Sun JRE 6 on Windows has this poblem most frequently.
    Can this be a bug or do we misinterpret something? The way we see it, as long as the client leases the Remote Object it shouldn't be GCed. All tests are run on localhost so no network partition can occur.
    The problem would probably be solved if we hold static references to all Remote Objects in the local JVM. This is not an option because we want the Objects to be GCed once the lease expires.
    Here are 2 debugging outputs of server runs with RMI logging enabled:
    http://cspoker.pastebin.com/f27a7d6fc
    As you can see, the lease requests are coming through but a NoSuchObjectException is thrown and the Object is finalized.
    http://cspoker.pastebin.com/f732797d2

    Thanks for the quick reply.
    For instance:
    11:56:02,427 DEBUG (org.cspoker.common.api.shared.context.ForwardingRemoteServerContext.java:72) [finalize] - Garbage collecting old context: org.cspoker.server.rmi.export.ExportingServerContext@15a8767
    07.11.2008 11:56:02 sun.rmi.server.UnicastServerRef logCall
    FEINER: RMI TCP Connection(2)-10.0.4.106: [10.0.4.106: sun.rmi.transport.DGCImpl[0:0:0, 2]: java.rmi.dgc.Lease dirty(java.rmi.server.ObjID[], long, java.rmi.dgc.Lease)]
    07.11.2008 11:56:03 sun.rmi.transport.Transport serviceCall
    FEIN: RMI TCP Connection(2)-10.0.4.106: [10.0.4.106] exception:
    java.rmi.NoSuchObjectException: no such object in table
            at sun.rmi.transport.Transport.serviceCall(Transport.java:129)
            at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
            at java.lang.Thread.run(Thread.java:595)The context Object is exported and returned to the client here :
    return (ExternalRemoteServerContext) UnicastRemoteObject.exportObject(context, 0);Then [the object|http://code.google.com/p/cspoker/source/browse/trunk/server/rmi/src/main/java/org/cspoker/server/rmi/export/ExportingServerContext.java?r=1023] that was just exported is GCed.
    11:56:02,427 DEBUG (org.cspoker.common.api.shared.context.ForwardingRemoteServerContext.java:72) [finalize] - Garbage collecting old context: org.cspoker.server.rmi.export.ExportingServerContext@15a8767Then a lease request comes in:
    FEINER: RMI TCP Connection(2)-10.0.4.106: [10.0.4.106: sun.rmi.transport.DGCImpl[0:0:0, 2]: java.rmi.dgc.Lease dirty(java.rmi.server.ObjID[], long, java.rmi.dgc.Lease)]Then the client calls a method on the remote object and the NoSuchObjectException is thrown.
    The behaviour is non-deterministic in any case but yes, on the Linux JVM I'm not seeing the problem, somebody on Windows gets it all the time.

  • RMI server object getting garbage collected

    Hi all,
    I have seen a number of posts regarding the ConnectException and found that this can occur in a number of situations.
    I am having a problem here.
    I am having an RMI server that is always up and running. And the server object gets requests from the client at regular intervals. But, when the server object is not receiving any requests for a long time (ex: 1 day), then I think the remote object itself is getting garbage collected. And so, tough I am able to get the remote reference using the lookup method, I am getting "Connection refused to host: 192.168.0.216; nested exception is:
         java.net.ConnectException: Connection refused" when I call a method using this reference.
    I believe that this is because the server object getting garbage collected as there are no requests for the server since long. Please correct me if my assumption is wrong.
    I want to know, after how much time the server object gets garbage collected if no requests are received. But, my requirement is that the server object should always be available and WHENEVER a client request comes then that should be processed. What should I do to accomplish this task.
    If any one have any suggestions, please reply as soon as possible.
    Thanks in advance,
    srik4u

    You might do some research into using an activatable remote object. You run rmid (the rmi activation deamon) and register a subclass of java.rmi.activation.Activatable (instead of the usual UnicastRemoteObject) with it. With an activatable object, the remote reference to the activatable object doesn't need to have a live object behind it. If an activatable object is not running (ie: it hasn't been constructed yet, or it has been garbage collected ...as in your case) a remote reference to the object can still be exported to a client. The first time the client calls a method on the remote object, the activation service on the server sees the object is not active, and activates the object for the client. If the object is running ...it is rmi as usual. But if it gets gc'd again, the next invocation on the remote object will trigger the activation service again.
    (The above explanation paraphrases author David Flanagan from Java Enterprise in a Nutshell, O'Reilly)
    I have only built one of these, which loosely followed an example from the above mentioned book. It's a whole other ballgame over and above a regular rmi object. But like anything else, if you dig in and get your head wrapped around it, it eventually makes sense. Ok, why lie ...it confused the hell out of me and left me a little queasy. But you know the drill, by the time you build a few of them it will probably seem as easy as mapping the human genome, right? At any rate, it seems like what you might be after ...so have a look at it. Good luck, and wear your lifejacket.

  • Terminal crashes and gives me this Application Specific Information: objc[375]: garbage collection is OFF *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSKeyedUnarchiver initForReadingWithData:]: incomprehensib

    Every time I try to open terminal I get this:
    Process:         Terminal [375]
    Path:            /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
    Identifier:      com.apple.Terminal
    Version:         2.2.3 (303.2)
    Build Info:      Terminal-303002000000000~1
    Code Type:       X86-64 (Native)
    Parent Process:  launchd [243]
    Date/Time:       2013-04-27 21:01:14.584 -0700
    OS Version:      Mac OS X 10.7.5 (11G63b)
    Report Version:  9
    Interval Since Last Report:          -253893 sec
    Crashes Since Last Report:           20
    Per-App Interval Since Last Report:  108 sec
    Per-App Crashes Since Last Report:   15
    Anonymous UUID:                      F9AFDFB7-B568-4DCF-8FA3-DD4CDD3613ED
    Crashed Thread:  0  Dispatch queue: com.apple.main-thread
    Exception Type:  EXC_CRASH (SIGABRT)
    Exception Codes: 0x0000000000000000, 0x0000000000000000
    Application Specific Information:
    objc[375]: garbage collection is OFF
    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSKeyedUnarchiver initForReadingWithData:]: incomprehensible archive (0x62, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x30, 0x30)'
    *** First throw call stack:
              0   CoreFoundation                      0x00007fff89f0bf56 __exceptionPreprocess + 198
              1   libobjc.A.dylib                     0x00007fff85920d5e objc_exception_throw + 43
              2   CoreFoundation                      0x00007fff89f0bd8a +[NSException raise:format:arguments:] + 106
              3   CoreFoundation                      0x00007fff89f0bd14 +[NSException raise:format:] + 116
              4   Foundation                          0x00007fff868bb61b -[NSKeyedUnarchiver initForReadingWithData:] + 2611
              5   Foundation                          0x00007fff868fffbb +[NSKeyedUnarchiver unarchiveObjectWithData:] + 68
              6   Terminal                            0x0000000105c39e43 Terminal + 20035
              7   Terminal                            0x0000000105c37c99 Terminal + 11417
              8   Terminal                            0x0000000105c377b2 Terminal + 10162
              9   Terminal                            0x0000000105c373f2 Terminal + 9202
              10  Terminal                            0x0000000105c3731c Terminal + 8988
              11  Terminal                            0x0000000105c36d30 Terminal + 7472
              12  AppKit                              0x00007fff86bb0389 -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] + 1311
              13  AppKit                              0x00007fff86ba68bb loadNib + 322
              14  AppKit                              0x00007fff86ba5db8 +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 217
              15  AppKit                              0x00007fff86ba5cd3 +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:] + 141
              16  AppKit                              0x00007fff86ba5c16 +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 364
              17  AppKit                              0x00007fff86e16cd7 NSApplicationMain + 398
              18  Terminal                            0x0000000105c36164 Terminal + 4452
    terminate called throwing an exception
    abort() called
    Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
    0   libsystem_kernel.dylib                  0x00007fff85d21ce2 __pthread_kill + 10
    1   libsystem_c.dylib                       0x00007fff8ac267d2 pthread_kill + 95
    2   libsystem_c.dylib                       0x00007fff8ac17a7a abort + 143
    3   libc++abi.dylib                         0x00007fff890f07bc abort_message + 214
    4   libc++abi.dylib                         0x00007fff890edfcf default_terminate() + 28
    5   libobjc.A.dylib                         0x00007fff859211b9 _objc_terminate + 94
    6   libc++abi.dylib                         0x00007fff890ee001 safe_handler_caller(void (*)()) + 11
    7   libc++abi.dylib                         0x00007fff890ee05c std::terminate() + 16
    8   libc++abi.dylib                         0x00007fff890ef152 __cxa_throw + 114
    9   libobjc.A.dylib                         0x00007fff85920e7a objc_exception_throw + 327
    10  com.apple.CoreFoundation                0x00007fff89f0bd8a +[NSException raise:format:arguments:] + 106
    11  com.apple.CoreFoundation                0x00007fff89f0bd14 +[NSException raise:format:] + 116
    12  com.apple.Foundation                    0x00007fff868bb61b -[NSKeyedUnarchiver initForReadingWithData:] + 2611
    13  com.apple.Foundation                    0x00007fff868fffbb +[NSKeyedUnarchiver unarchiveObjectWithData:] + 68
    14  com.apple.Terminal                      0x0000000105c39e43 0x105c35000 + 20035
    15  com.apple.Terminal                      0x0000000105c37c99 0x105c35000 + 11417
    16  com.apple.Terminal                      0x0000000105c377b2 0x105c35000 + 10162
    17  com.apple.Terminal                      0x0000000105c373f2 0x105c35000 + 9202
    18  com.apple.Terminal                      0x0000000105c3731c 0x105c35000 + 8988
    19  com.apple.Terminal                      0x0000000105c36d30 0x105c35000 + 7472
    20  com.apple.AppKit                        0x00007fff86bb0389 -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] + 1311
    21  com.apple.AppKit                        0x00007fff86ba68bb loadNib + 322
    22  com.apple.AppKit                        0x00007fff86ba5db8 +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 217
    23  com.apple.AppKit                        0x00007fff86ba5cd3 +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:] + 141
    24  com.apple.AppKit                        0x00007fff86ba5c16 +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 364
    25  com.apple.AppKit                        0x00007fff86e16cd7 NSApplicationMain + 398
    26  com.apple.Terminal                      0x0000000105c36164 0x105c35000 + 4452
    Thread 1:: Dispatch queue: com.apple.libdispatch-manager
    0   libsystem_kernel.dylib                  0x00007fff85d227e6 kevent + 10
    1   libdispatch.dylib                       0x00007fff87b14786 _dispatch_mgr_invoke + 923
    2   libdispatch.dylib                       0x00007fff87b13316 _dispatch_mgr_thread + 54
    Thread 2:
    0   libsystem_kernel.dylib                  0x00007fff85d22192 __workq_kernreturn + 10
    1   libsystem_c.dylib                       0x00007fff8ac26594 _pthread_wqthread + 758
    2   libsystem_c.dylib                       0x00007fff8ac27b85 start_wqthread + 13
    Thread 3:
    0   libsystem_kernel.dylib                  0x00007fff85d22192 __workq_kernreturn + 10
    1   libsystem_c.dylib                       0x00007fff8ac26594 _pthread_wqthread + 758
    2   libsystem_c.dylib                       0x00007fff8ac27b85 start_wqthread + 13
    Thread 4:
    0   libsystem_kernel.dylib                  0x00007fff85d227e6 kevent + 10
    1   com.apple.Terminal                      0x0000000105c36b9d 0x105c35000 + 7069
    2   com.apple.Foundation                    0x00007fff868d672a -[NSThread main] + 68
    3   com.apple.Foundation                    0x00007fff868d66a2 __NSThread__main__ + 1575
    4   libsystem_c.dylib                       0x00007fff8ac248bf _pthread_start + 335
    5   libsystem_c.dylib                       0x00007fff8ac27b75 thread_start + 13
    Thread 0 crashed with X86 Thread State (64-bit):
      rax: 0x0000000000000000  rbx: 0x0000000000000006  rcx: 0x00007fff65832fb8  rdx: 0x0000000000000000
      rdi: 0x0000000000000b07  rsi: 0x0000000000000006  rbp: 0x00007fff65832fe0  rsp: 0x00007fff65832fb8
       r8: 0x00007fff72276fb8   r9: 0x00007fff65832a48  r10: 0x00007fff85d21d0a  r11: 0xffffff80002dad60
      r12: 0x0000000105e245c0  r13: 0x0000000105e24b20  r14: 0x00007fff72279960  r15: 0x00007fff65833130
      rip: 0x00007fff85d21ce2  rfl: 0x0000000000000246  cr2: 0x00000001100f3000
    Logical CPU: 0
    Binary Images:
           0x105c35000 -        0x105ce5fff  com.apple.Terminal (2.2.3 - 303.2) <4FE3571C-852C-3F5E-BA6A-87B48ED5E043> /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
        0x7fff65835000 -     0x7fff65869baf  dyld (195.6 - ???) <0CD1B35B-A28F-32DA-B72E-452EAD609613> /usr/lib/dyld
        0x7fff810df000 -     0x7fff810f6fff  com.apple.CFOpenDirectory (10.7 - 144) <9709423E-8484-3B26-AAE8-EF58D1B8FB3F> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpen Directory.framework/Versions/A/CFOpenDirectory
        0x7fff810f7000 -     0x7fff810f8fff  liblangid.dylib (??? - ???) <CACBE3C3-2F7B-3EED-B50E-EDB73F473B77> /usr/lib/liblangid.dylib
        0x7fff811ad000 -     0x7fff814d9fff  com.apple.HIToolbox (1.9 - ???) <CCB32DEA-D0CA-35D1-8019-E599C8007AB6> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.fra mework/Versions/A/HIToolbox
        0x7fff81524000 -     0x7fff81566ff7  libcommonCrypto.dylib (55010.0.0 - compatibility 1.0.0) <A5B9778E-11C3-3F61-B740-1F2114E967FB> /usr/lib/system/libcommonCrypto.dylib
        0x7fff815df000 -     0x7fff81a0cfff  libLAPACK.dylib (??? - ???) <4F2E1055-2207-340B-BB45-E4F16171EE0D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.fr amework/Versions/A/libLAPACK.dylib
        0x7fff81a0d000 -     0x7fff81a0dfff  com.apple.Carbon (153 - 153) <895C2BF2-1666-3A59-A669-311B1F4F368B> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
        0x7fff81a0e000 -     0x7fff81aedfff  com.apple.ImageIO.framework (3.1.2 - 3.1.2) <047DFE61-500F-3F11-9881-D0844D2FCE5F> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ImageIO.framework/Versions/A/ImageIO
        0x7fff81b1e000 -     0x7fff81b22ff7  com.apple.CommonPanels (1.2.5 - 94) <0BB2C436-C9D5-380B-86B5-E355A7711259> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels. framework/Versions/A/CommonPanels
        0x7fff81b23000 -     0x7fff81c28fff  libFontParser.dylib (??? - ???) <D2E56B6E-3182-3667-A78C-4172C435523A> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ATS.framework/Versions/A/Resources/libFontParser.dylib
        0x7fff820ba000 -     0x7fff820befff  libdyld.dylib (195.5.0 - compatibility 1.0.0) <F1903B7A-D3FF-3390-909A-B24E09BAD1A5> /usr/lib/system/libdyld.dylib
        0x7fff820bf000 -     0x7fff82117ff7  libTIFF.dylib (??? - ???) <59353B7F-EA9A-32D5-A501-283443B30C60> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ImageIO.framework/Versions/A/Resources/libTIFF.dylib
        0x7fff82118000 -     0x7fff8224efff  com.apple.vImage (5.1 - 5.1) <A08B7582-67BC-3EED-813A-4833645964A7> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.fr amework/Versions/A/vImage
        0x7fff8224f000 -     0x7fff82256fff  libGFXShared.dylib (??? - ???) <D3598924-B167-372E-8C9F-1BBF68852542> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.d ylib
        0x7fff82258000 -     0x7fff8225dfff  libpam.2.dylib (3.0.0 - compatibility 3.0.0) <D952F17B-200A-3A23-B9B2-7C1F7AC19189> /usr/lib/libpam.2.dylib
        0x7fff8226b000 -     0x7fff822f0ff7  com.apple.Heimdal (2.2 - 2.0) <FF0BD9A4-6FB0-31E3-ABFB-563FBBEC45FC> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
        0x7fff829c3000 -     0x7fff829e0ff7  com.apple.openscripting (1.3.3 - ???) <F5E34F54-CE85-334B-8F25-53581D43960C> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting .framework/Versions/A/OpenScripting
        0x7fff829e1000 -     0x7fff829f6fff  com.apple.speech.synthesis.framework (4.0.74 - 4.0.74) <C061ECBB-7061-3A43-8A18-90633F943295> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ SpeechSynthesis.framework/Versions/A/SpeechSynthesis
        0x7fff829f7000 -     0x7fff82a02fff  com.apple.CommonAuth (2.2 - 2.0) <77E6F0D0-85B6-30B5-B99C-F57104DD2EBA> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
        0x7fff82a03000 -     0x7fff82a03fff  com.apple.Accelerate.vecLib (3.7 - vecLib 3.7) <C06A140F-6114-3B8B-B080-E509303145B8> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.fr amework/Versions/A/vecLib
        0x7fff82a04000 -     0x7fff82a43fff  com.apple.AE (527.7 - 527.7) <B82F7ABC-AC8B-3507-B029-969DD5CA813D> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.fram ework/Versions/A/AE
        0x7fff82cbb000 -     0x7fff82ebdfff  libicucore.A.dylib (46.1.0 - compatibility 1.0.0) <0176782F-9526-3905-813A-7A5676EC2C86> /usr/lib/libicucore.A.dylib
        0x7fff82f0b000 -     0x7fff8317ffff  com.apple.CoreImage (7.99.1 - 1.0.1) <4BB09B79-275B-364C-9466-0FF36ABB1218> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage .framework/Versions/A/CoreImage
        0x7fff83180000 -     0x7fff831a9fff  com.apple.CoreVideo (1.7 - 70.3) <9A9D4058-9935-3B0A-B1A6-27EB78D02249> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
        0x7fff8342a000 -     0x7fff83431ff7  com.apple.CommerceCore (1.0 - 17) <AA783B87-48D4-3CA6-8FF6-0316396022F4> /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Frameworks/C ommerceCore.framework/Versions/A/CommerceCore
        0x7fff83432000 -     0x7fff83434fff  libquarantine.dylib (36.7.0 - compatibility 1.0.0) <8D9832F9-E4A9-38C3-B880-E5210B2353C7> /usr/lib/system/libquarantine.dylib
        0x7fff83435000 -     0x7fff83435fff  com.apple.ApplicationServices (41 - 41) <03F3FA8F-8D2A-3AB6-A8E3-40B001116339> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Application Services
        0x7fff834db000 -     0x7fff83543ff7  com.apple.coreui (1.2.2 - 165.11) <9316266A-39CA-3EC7-9C9E-726462CEFF4D> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
        0x7fff83792000 -     0x7fff83932ff7  com.apple.QuartzCore (1.7 - 270.5) <19E5E0AB-DAA9-3F97-988C-D9A46AFB9C04> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
        0x7fff8393f000 -     0x7fff83941fff  com.apple.TrustEvaluationAgent (2.0 - 1) <1F31CAFF-C1C6-33D3-94E9-11B721761DDF> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/Tru stEvaluationAgent
        0x7fff83942000 -     0x7fff83a26ff7  com.apple.CoreServices.OSServices (478.50 - 478.50) <3D6AA4EF-C601-36C7-8F3A-A00964F01759> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServi ces.framework/Versions/A/OSServices
        0x7fff83a66000 -     0x7fff83b2dff7  com.apple.ColorSync (4.7.4 - 4.7.4) <590AFCDA-F10E-31FE-9B01-DA5FFE74C2BB> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ColorSync.framework/Versions/A/ColorSync
        0x7fff83e54000 -     0x7fff83e62fff  com.apple.NetAuth (1.0 - 3.0) <F384FFFD-70F6-3B1C-A886-F5B446E456E7> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
        0x7fff83e71000 -     0x7fff83e9efe7  libSystem.B.dylib (159.1.0 - compatibility 1.0.0) <7BEBB139-50BB-3112-947A-F4AA168F991C> /usr/lib/libSystem.B.dylib
        0x7fff83e9f000 -     0x7fff83f22fef  com.apple.Metadata (10.7.0 - 627.37) <B9BEB598-B6F2-3BFF-A8F3-C3C87CD076AB> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadat a.framework/Versions/A/Metadata
        0x7fff83f23000 -     0x7fff83f75ff7  libGLU.dylib (??? - ???) <DB906997-0F70-3469-BA0E-2F1DDBEAD8D5> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
        0x7fff83fb0000 -     0x7fff83fb0fff  com.apple.Accelerate (1.7 - Accelerate 1.7) <82DDF6F5-FBC3-323D-B71D-CF7ABC5CF568> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
        0x7fff83fb1000 -     0x7fff83fc0ff7  libxar-nossl.dylib (??? - ???) <A6ABBFB9-E4ED-38AD-BBBB-F9958B9CEFB5> /usr/lib/libxar-nossl.dylib
        0x7fff83fe9000 -     0x7fff8405ffff  com.apple.CoreSymbolication (2.2 - 73.2) <126415E3-3A35-315B-B4B7-507CDBED0D58> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSy mbolication
        0x7fff84060000 -     0x7fff84086fff  com.apple.framework.familycontrols (3.0 - 300) <6F0C58C0-22E7-3877-8CFA-1ED0CB3CE38B> /System/Library/PrivateFrameworks/FamilyControls.framework/Versions/A/FamilyCon trols
        0x7fff840a3000 -     0x7fff840a8fff  libcompiler_rt.dylib (6.0.0 - compatibility 1.0.0) <98ECD5F6-E85C-32A5-98CD-8911230CB66A> /usr/lib/system/libcompiler_rt.dylib
        0x7fff840fe000 -     0x7fff840ffff7  libsystem_blocks.dylib (53.0.0 - compatibility 1.0.0) <8BCA214A-8992-34B2-A8B9-B74DEACA1869> /usr/lib/system/libsystem_blocks.dylib
        0x7fff84187000 -     0x7fff84195ff7  libkxld.dylib (??? - ???) <01161870-E3B3-3F87-BA4A-0AA7A081F409> /usr/lib/system/libkxld.dylib
        0x7fff84365000 -     0x7fff8436bfff  com.apple.DiskArbitration (2.4.1 - 2.4.1) <CEA34337-63DE-302E-81AA-10D717E1F699> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
        0x7fff8436c000 -     0x7fff84596fe7  com.apple.CoreData (104.1 - 358.14) <6BB64605-8DA7-337D-A2AB-A3346A421CBD> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
        0x7fff84683000 -     0x7fff8468afff  com.apple.NetFS (4.0 - 4.0) <B9F41443-679A-31AD-B0EB-36557DAF782B> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
        0x7fff849e3000 -     0x7fff84a84fff  com.apple.LaunchServices (480.40 - 480.40) <C936A07F-0CF8-3F8E-BDB3-76AA7611B4CA> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchS ervices.framework/Versions/A/LaunchServices
        0x7fff84a85000 -     0x7fff84a97ff7  libbsm.0.dylib (??? - ???) <349BB16F-75FA-363F-8D98-7A9C3FA90A0D> /usr/lib/libbsm.0.dylib
        0x7fff84dbf000 -     0x7fff84dbffff  com.apple.audio.units.AudioUnit (1.7.3 - 1.7.3) <04C10813-CCE5-3333-8C72-E8E35E417B3B> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
        0x7fff85832000 -     0x7fff8585eff7  com.apple.CoreServicesInternal (113.19 - 113.19) <74532B3B-EDE0-3553-9BED-F02B9CDF1FF7> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/Cor eServicesInternal
        0x7fff8585f000 -     0x7fff8588fff7  com.apple.DictionaryServices (1.2.1 - 158.3) <5E2EBBFD-D520-3379-A431-11DAA844B8D6> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Diction aryServices.framework/Versions/A/DictionaryServices
        0x7fff858d9000 -     0x7fff858e0fff  libcopyfile.dylib (85.1.0 - compatibility 1.0.0) <172B1985-F24A-34E9-8D8B-A2403C9A0399> /usr/lib/system/libcopyfile.dylib
        0x7fff858e1000 -     0x7fff85909fff  com.apple.PerformanceAnalysis (1.11 - 11) <8D4C6382-DD92-37A2-BCFC-E89951320848> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/Perf ormanceAnalysis
        0x7fff8590a000 -     0x7fff859eee5f  libobjc.A.dylib (228.0.0 - compatibility 1.0.0) <871E688B-CF57-3BC7-80D6-F6476DFF109B> /usr/lib/libobjc.A.dylib
        0x7fff859ef000 -     0x7fff859f8ff7  libsystem_notify.dylib (80.1.0 - compatibility 1.0.0) <A4D651E3-D1C6-3934-AD49-7A104FD14596> /usr/lib/system/libsystem_notify.dylib
        0x7fff859f9000 -     0x7fff85a5bff7  com.apple.Symbolication (1.3 - 91) <B072970E-9EC1-3495-A1FA-D344C6E74A13> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolicat ion
        0x7fff85a5c000 -     0x7fff85a64fff  libsystem_dnssd.dylib (??? - ???) <584B321E-5159-37CD-B2E7-82E069C70AFB> /usr/lib/system/libsystem_dnssd.dylib
        0x7fff85a65000 -     0x7fff85b18ff7  com.apple.CoreText (220.22.0 - ???) <A7A1096F-A211-3775-BA33-08FE98D27F08> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ CoreText.framework/Versions/A/CoreText
        0x7fff85b19000 -     0x7fff85b84ff7  com.apple.framework.IOKit (2.0 - ???) <FE838BB6-D42E-3291-A1A0-6F53FC970261> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
        0x7fff85b85000 -     0x7fff85c1bff7  libvMisc.dylib (325.4.0 - compatibility 1.0.0) <642D8D54-F9F5-3FBB-A96C-EEFE94C6278B> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.fr amework/Versions/A/libvMisc.dylib
        0x7fff85c1c000 -     0x7fff85c45fff  libJPEG.dylib (??? - ???) <64D079F9-256A-323B-A837-84628B172F21> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ImageIO.framework/Versions/A/Resources/libJPEG.dylib
        0x7fff85c51000 -     0x7fff85cc4fff  libstdc++.6.dylib (52.0.0 - compatibility 7.0.0) <6BDD43E4-A4B1-379E-9ED5-8C713653DFF2> /usr/lib/libstdc++.6.dylib
        0x7fff85d0a000 -     0x7fff85d0afff  com.apple.vecLib (3.7 - vecLib 3.7) <9A58105C-B36E-35B5-812C-4ED693F2618F> /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib
        0x7fff85d0b000 -     0x7fff85d2bfff  libsystem_kernel.dylib (1699.32.7 - compatibility 1.0.0) <66C9F9BD-C7B3-30D4-B1A0-03C8A6392351> /usr/lib/system/libsystem_kernel.dylib
        0x7fff85d2c000 -     0x7fff85d49fff  libxpc.dylib (77.19.0 - compatibility 1.0.0) <9F57891B-D7EF-3050-BEDD-21E7C6668248> /usr/lib/system/libxpc.dylib
        0x7fff85d4a000 -     0x7fff85eb1fff  com.apple.CFNetwork (520.5.1 - 520.5.1) <08F70E26-5456-3BFB-8192-00D3CE40D3C9> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwo rk.framework/Versions/A/CFNetwork
        0x7fff85fb0000 -     0x7fff85fb0fff  libkeymgr.dylib (23.0.0 - compatibility 1.0.0) <61EFED6A-A407-301E-B454-CD18314F0075> /usr/lib/system/libkeymgr.dylib
        0x7fff86377000 -     0x7fff8638aff7  libCRFSuite.dylib (??? - ???) <034D4DAA-63F0-35E4-BCEF-338DD7A453DD> /usr/lib/libCRFSuite.dylib
        0x7fff8638b000 -     0x7fff863affff  com.apple.Kerberos (1.0 - 1) <1F826BCE-DA8F-381D-9C4C-A36AA0EA1CB9> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
        0x7fff863b0000 -     0x7fff86452fff  com.apple.securityfoundation (5.0 - 55116) <A9311EF6-B7F7-3DA5-84E8-21BC9B2C3C69> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoun dation
        0x7fff864e7000 -     0x7fff8650bfff  com.apple.RemoteViewServices (1.5 - 44.2) <A0417D7F-22E9-3FD8-AC55-67654D8E93EB> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/Remot eViewServices
        0x7fff8655f000 -     0x7fff8687bfff  com.apple.CoreServices.CarbonCore (960.25 - 960.25) <4FC1AB30-022C-3C67-AC46-FDCBFCB7EEDE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonC ore.framework/Versions/A/CarbonCore
        0x7fff8687c000 -     0x7fff86b95fff  com.apple.Foundation (6.7.2 - 833.25) <22AAC369-B63C-3C55-8AC6-C3ECBA44DA7B> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
        0x7fff86b96000 -     0x7fff8779cfff  com.apple.AppKit (6.7.5 - 1138.51) <44417D02-6123-3FC3-A119-CE51BB4C3006> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
        0x7fff8779d000 -     0x7fff877a3fff  IOSurface (??? - ???) <77C6757B-D357-3E34-9424-48F962B5CC9C> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
        0x7fff87ad8000 -     0x7fff87af7fff  libresolv.9.dylib (46.1.0 - compatibility 1.0.0) <0635C52D-DD53-3721-A488-4C6E95607A74> /usr/lib/libresolv.9.dylib
        0x7fff87af8000 -     0x7fff87b07fff  com.apple.opengl (1.8.1 - 1.8.1) <51B34133-CEE3-3FC6-82AC-ADF567AE673C> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
        0x7fff87b08000 -     0x7fff87b0dfff  libcache.dylib (47.0.0 - compatibility 1.0.0) <B7757E2E-5A7D-362E-AB71-785FE79E1527> /usr/lib/system/libcache.dylib
        0x7fff87b0e000 -     0x7fff87b10fff  libCVMSPluginSupport.dylib (??? - ???) <982F1ED4-3CBB-3161-8BEA-8A980C27FCC1> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginS upport.dylib
        0x7fff87b11000 -     0x7fff87b1ffff  libdispatch.dylib (187.10.0 - compatibility 1.0.0) <8E03C652-922A-3399-93DE-9EA0CBFA0039> /usr/lib/system/libdispatch.dylib
        0x7fff87b20000 -     0x7fff87b24fff  libmathCommon.A.dylib (2026.0.0 - compatibility 1.0.0) <FF83AFF7-42B2-306E-90AF-D539C51A4542> /usr/lib/system/libmathCommon.A.dylib
        0x7fff87c68000 -     0x7fff87c68fff  libOpenScriptingUtil.dylib (??? - ???) <A7847713-F410-39C0-884F-A7188A18E742> /usr/lib/libOpenScriptingUtil.dylib
        0x7fff87c78000 -     0x7fff87c7efff  libmacho.dylib (800.0.0 - compatibility 1.0.0) <D86F63EC-D2BD-32E0-8955-08B5EAFAD2CC> /usr/lib/system/libmacho.dylib
        0x7fff87cd6000 -     0x7fff87cd9fff  com.apple.help (1.3.2 - 42) <AB67588E-7227-3993-927F-C9E6DAC507FD> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framewor k/Versions/A/Help
        0x7fff87ff2000 -     0x7fff8806dff7  com.apple.print.framework.PrintCore (7.1 - 366.3) <C5F39A82-0E77-3AD6-906A-20DD2EE8D374> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ PrintCore.framework/Versions/A/PrintCore
        0x7fff8806e000 -     0x7fff8806ffff  libDiagnosticMessagesClient.dylib (??? - ???) <3DCF577B-F126-302B-BCE2-4DB9A95B8598> /usr/lib/libDiagnosticMessagesClient.dylib
        0x7fff880d2000 -     0x7fff8816cff7  com.apple.SearchKit (1.4.0 - 1.4.0) <4E70C394-773E-3A4B-A93C-59A88ABA9509> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchK it.framework/Versions/A/SearchKit
        0x7fff881ba000 -     0x7fff881bafff  com.apple.CoreServices (53 - 53) <043C8026-8EDD-3241-B090-F589E24062EF> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
        0x7fff881bb000 -     0x7fff881cdff7  libz.1.dylib (1.2.5 - compatibility 1.0.0) <30CBEF15-4978-3DED-8629-7109880A19D4> /usr/lib/libz.1.dylib
        0x7fff881dc000 -     0x7fff8824cfff  com.apple.datadetectorscore (3.0 - 179.4) <9C01D16F-75A9-3BDD-B91A-F0F32261A2E7> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDe tectorsCore
        0x7fff883d8000 -     0x7fff883ddff7  libsystem_network.dylib (??? - ???) <5DE7024E-1D2D-34A2-80F4-08326331A75B> /usr/lib/system/libsystem_network.dylib
        0x7fff883de000 -     0x7fff883e9ff7  com.apple.speech.recognition.framework (4.0.21 - 4.0.21) <6540EAF2-E3BF-3D2E-B4C1-F106180D6F20> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecogni tion.framework/Versions/A/SpeechRecognition
        0x7fff88851000 -     0x7fff88868fff  com.apple.MultitouchSupport.framework (231.4 - 231.4) <10A978D1-8781-33F0-BE45-60C9171F7278> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/Multit ouchSupport
        0x7fff888b9000 -     0x7fff888befff  com.apple.OpenDirectory (10.7 - 146) <A674AB55-6E3D-39AE-9F9B-9865D0193020> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
        0x7fff888c4000 -     0x7fff888e0ff7  com.apple.GenerationalStorage (1.0 - 126.1) <509F52ED-E54B-3FEF-B3C2-759387B826E6> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Gene rationalStorage
        0x7fff889b1000 -     0x7fff889b4ff7  com.apple.securityhi (4.0 - 1) <B37B8946-BBD4-36C1-ABC6-18EDBC573F03> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.fr amework/Versions/A/SecurityHI
        0x7fff889d0000 -     0x7fff889d6ff7  libunwind.dylib (30.0.0 - compatibility 1.0.0) <1E9C6C8C-CBE8-3F4B-A5B5-E03E3AB53231> /usr/lib/system/libunwind.dylib
        0x7fff88a33000 -     0x7fff88d28ff7  com.apple.security (7.0 - 55148.6) <4535E500-973A-3BA7-AF65-DF5CF0658F02> /System/Library/Frameworks/Security.framework/Versions/A/Security
        0x7fff88d29000 -     0x7fff88d6afff  com.apple.QD (3.40 - ???) <47674D2C-BE88-388E-B1B0-03F08BFFE5FD> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ QD.framework/Versions/A/QD
        0x7fff88de8000 -     0x7fff88debfff  libRadiance.dylib (??? - ???) <CD89D70D-F177-3BAE-8A26-644EA7D5E28E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ImageIO.framework/Versions/A/Resources/libRadiance.dylib
        0x7fff88dec000 -     0x7fff88e2cff7  libcups.2.dylib (2.9.0 - compatibility 2.0.0) <7D2E5016-A960-3ADE-B042-F74063E79550> /usr/lib/libcups.2.dylib
        0x7fff88e2d000 -     0x7fff88f22fff  libiconv.2.dylib (7.0.0 - compatibility 7.0.0) <5C40E880-0706-378F-B864-3C2BD922D926> /usr/lib/libiconv.2.dylib
        0x7fff88f2f000 -     0x7fff88f39ff7  liblaunch.dylib (392.39.0 - compatibility 1.0.0) <8C235D13-2928-30E5-9E12-2CC3D6324AE2> /usr/lib/system/liblaunch.dylib
        0x7fff88f3a000 -     0x7fff88fdffff  com.apple.ink.framework (10.7.5 - 113) <1AE6676D-490A-36C2-B6CC-00F93AEB31DE> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework /Versions/A/Ink
        0x7fff8902a000 -     0x7fff8904bfff  libPng.dylib (??? - ???) <E2B52527-4D0C-3595-BB13-8E8EF364E998> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ImageIO.framework/Versions/A/Resources/libPng.dylib
        0x7fff890e8000 -     0x7fff890f3ff7  libc++abi.dylib (14.0.0 - compatibility 1.0.0) <8FF3D766-D678-36F6-84AC-423C878E6D14> /usr/lib/libc++abi.dylib
        0x7fff890f4000 -     0x7fff890f5ff7  libremovefile.dylib (21.1.0 - compatibility 1.0.0) <739E6C83-AA52-3C6C-A680-B37FE2888A04> /usr/lib/system/libremovefile.dylib
        0x7fff890f6000 -     0x7fff89203fff  libJP2.dylib (??? - ???) <6AF1F5FC-34D4-3278-BEBB-0712B81890B4> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ImageIO.framework/Versions/A/Resources/libJP2.dylib
        0x7fff89204000 -     0x7fff89205fff  libdnsinfo.dylib (395.11.0 - compatibility 1.0.0) <853BAAA5-270F-3FDC-B025-D448DB72E1C3> /usr/lib/system/libdnsinfo.dylib
        0x7fff8920a000 -     0x7fff89323fff  com.apple.DesktopServices (1.6.5 - 1.6.5) <5E7DD5F4-B4DA-3F75-A14A-3494E81CFBA0> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/Desk topServicesPriv
        0x7fff89acd000 -     0x7fff89aceff7  libsystem_sandbox.dylib (??? - ???) <5422BA4A-4C96-3BC1-AF83-14F0CED0ECB5> /usr/lib/system/libsystem_sandbox.dylib
        0x7fff89e68000 -     0x7fff8a03cff7  com.apple.CoreFoundation (6.7.2 - 635.21) <62A3402E-A4E7-391F-AD20-1EF20236CE1B> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
        0x7fff8a03d000 -     0x7fff8a0c1ff7  com.apple.ApplicationServices.ATS (317.12.0 - ???) <BE3C156D-8326-37AA-BC4E-D3C0D31BF976> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ATS.framework/Versions/A/ATS
        0x7fff8a0c2000 -     0x7fff8a0d8fff  libGL.dylib (??? - ???) <A4876AE9-DDFE-3B9A-874E-09BC29D46C39> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
        0x7fff8a0d9000 -     0x7fff8a0dbff7  com.apple.print.framework.Print (7.4 - 247.3) <626C58D5-2841-3329-8C32-9F4A8353F3E7> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framewo rk/Versions/A/Print
        0x7fff8a130000 -     0x7fff8a1a6ff7  libc++.1.dylib (28.4.0 - compatibility 1.0.0) <A24FC3DA-4FFA-3DD2-9DCC-2B8D1B3BF97C> /usr/lib/libc++.1.dylib
        0x7fff8a1a7000 -     0x7fff8ab45a27  com.apple.CoreGraphics (1.600.0 - ???) <576777EA-921B-3D94-98C3-40A9CF8EBD18> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ CoreGraphics.framework/Versions/A/CoreGraphics
        0x7fff8ab46000 -     0x7fff8ab81fff  libsystem_info.dylib (??? - ???) <35F90252-2AE1-32C5-8D34-782C614D9639> /usr/lib/system/libsystem_info.dylib
        0x7fff8abd6000 -     0x7fff8acb3fef  libsystem_c.dylib (763.13.0 - compatibility 1.0.0) <41B43515-2806-3FBC-ACF1-A16F35B7E290> /usr/lib/system/libsystem_c.dylib
        0x7fff8acb4000 -     0x7fff8ad10ff7  com.apple.HIServices (1.21 - ???) <B012EE97-D1CD-3F4B-812D-9AC7E6852FE6> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ HIServices.framework/Versions/A/HIServices
        0x7fff8ad11000 -     0x7fff8ad1eff7  libbz2.1.0.dylib (1.0.5 - compatibility 1.0.0) <8EDE3492-D916-37B2-A066-3E0F054411FD> /usr/lib/libbz2.1.0.dylib
        0x7fff8af11000 -     0x7fff8af44ff7  com.apple.GSS (2.2 - 2.0) <971395D0-B9D0-3FDE-B23F-6F9D0A2FB95F> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
        0x7fff8af45000 -     0x7fff8af7ffe7  com.apple.DebugSymbols (2.1 - 87) <ED2B177C-4146-3715-91DF-D99A8ED5449A> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbol s
        0x7fff8af80000 -     0x7fff8af81fff  libunc.dylib (24.0.0 - compatibility 1.0.0) <C67B3B14-866C-314F-87FF-8025BEC2CAAC> /usr/lib/system/libunc.dylib
        0x7fff8af82000 -     0x7fff8afd6ff7  com.apple.ScalableUserInterface (1.0 - 1) <1873D7BE-2272-31A1-8F85-F70C4D706B3B> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/ScalableU serInterface.framework/Versions/A/ScalableUserInterface
        0x7fff8afd7000 -     0x7fff8b025fff  libauto.dylib (??? - ???) <D8AC8458-DDD0-3939-8B96-B6CED81613EF> /usr/lib/libauto.dylib
        0x7fff8b445000 -     0x7fff8b499fff  libFontRegistry.dylib (??? - ???) <60FF9C2C-5E44-3C49-8A08-F26101898F21> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ATS.framework/Versions/A/Resources/libFontRegistry.dylib
        0x7fff8b49a000 -     0x7fff8ba7efff  libBLAS.dylib (??? - ???) <C34F6D88-187F-33DC-8A68-C0C9D1FA36DF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.fr amework/Versions/A/libBLAS.dylib
        0x7fff8ba8f000 -     0x7fff8baf7ff7  com.apple.audio.CoreAudio (4.0.3 - 4.0.3) <9987DC46-2A96-3BA0-B88B-04E573C0AD9B> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
        0x7fff8bb01000 -     0x7fff8bb15ff7  com.apple.LangAnalysis (1.7.0 - 1.7.0) <04C31EF0-912A-3004-A08F-CEC27030E0B2> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ LangAnalysis.framework/Versions/A/LangAnalysis
        0x7fff8bb16000 -     0x7fff8bb16fff  com.apple.Cocoa (6.6 - ???) <021D4214-9C23-3CD8-AFB2-F331697A4508> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
        0x7fff8bbcf000 -     0x7fff8bcd6fe7  libsqlite3.dylib (9.6.0 - compatibility 9.0.0) <EE02BB01-64C9-304D-9719-A35F5CD6D04C> /usr/lib/libsqlite3.dylib
        0x7fff8bcd7000 -     0x7fff8bd23ff7  com.apple.SystemConfiguration (1.11.3 - 1.11) <0A7F1982-B4EA-3424-A0C7-FE46C6224F03> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfi guration
        0x7fff8beb0000 -     0x7fff8beeafff  libncurses.5.4.dylib (5.4.0 - compatibility 5.4.0) <387DE593-9CC5-38C7-911B-A5F2264D34F2> /usr/lib/libncurses.5.4.dylib
        0x7fff8c15d000 -     0x7fff8c624fff  FaceCoreLight (1.4.7 - compatibility 1.0.0) <BDD0E1DE-CF33-3AF8-B33B-4D1574CCC19D> /System/Library/PrivateFrameworks/FaceCoreLight.framework/Versions/A/FaceCoreLi ght
        0x7fff8c68c000 -     0x7fff8c68ffff  libCoreVMClient.dylib (??? - ???) <28CB0F3F-A202-391F-8CAC-FC9A1398A962> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClien t.dylib
        0x7fff8c690000 -     0x7fff8c6bbff7  libxslt.1.dylib (3.24.0 - compatibility 3.0.0) <E71220D3-8015-38EC-B97D-7FDB383C2BDC> /usr/lib/libxslt.1.dylib
        0x7fff8c6e5000 -     0x7fff8c842fff  com.apple.audio.toolbox.AudioToolbox (1.7.3 - 1.7.3) <5F1E4695-BC74-3ADD-8345-627BCD68201A> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
        0x7fff8d5ac000 -     0x7fff8d5c2ff7  com.apple.ImageCapture (7.1.0 - 7.1.0) <1AD40E02-2126-377B-A0D2-CBB21D932558> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture. framework/Versions/A/ImageCapture
        0x7fff8d5c3000 -     0x7fff8d623fff  libvDSP.dylib (325.4.0 - compatibility 1.0.0) <3A7521E6-5510-3FA7-AB65-79693A7A5839> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.fr amework/Versions/A/libvDSP.dylib
        0x7fff8d624000 -     0x7fff8d631fff  libCSync.A.dylib (600.0.0 - compatibility 64.0.0) <72C53E7B-C222-3BE5-9984-FDC328CC4846> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ CoreGraphics.framework/Versions/A/Resources/libCSync.A.dylib
        0x7fff8d632000 -     0x7fff8d68dff7  com.apple.opencl (2.0.19 - 2.0.19) <B05BF605-73B8-328F-A228-6FA59E1FC73A> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
        0x7fff8d86b000 -     0x7fff8d870fff  libGIF.dylib (??? - ???) <58A4492D-AAE7-3B8F-8B06-62867471A3EE> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ImageIO.framework/Versions/A/Resources/libGIF.dylib
        0x7fff8d8f7000 -     0x7fff8d9f9fff  libxml2.2.dylib (10.3.0 - compatibility 10.0.0) <AFBB22B7-07AE-3F2E-B88C-70BEEBFB8A86> /usr/lib/libxml2.2.dylib
        0x7fff8dd49000 -     0x7fff8de55fff  libcrypto.0.9.8.dylib (44.0.0 - compatibility 0.9.8) <3A8E1F89-5E26-3C8B-B538-81F5D61DBF8A> /usr/lib/libcrypto.0.9.8.dylib
        0x7fff8de56000 -     0x7fff8de96fe7  libGLImage.dylib (??? - ???) <0B7DAB2B-F1C6-39C7-B864-61EF683B6656> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dyl ib
    External Modification Summary:
      Calls made by other processes targeting this process:
        task_for_pid: 3
        thread_create: 0
        thread_set_state: 0
      Calls made by this process:
        task_for_pid: 0
        thread_create: 0
        thread_set_state: 0
      Calls made by all processes on this machine:
        task_for_pid: 606
        thread_create: 1
        thread_set_state: 0
    VM Region Summary:
    ReadOnly portion of Libraries: Total=143.5M resident=102.0M(71%) swapped_out_or_unallocated=41.4M(29%)
    Writable regions: Total=32.9M written=624K(2%) resident=3456K(10%) swapped_out=0K(0%) unallocated=29.6M(90%)
    REGION TYPE                      VIRTUAL
    ===========                      =======
    CG image                              4K
    CG shared images                    104K
    CoreServices                        800K
    MALLOC                             21.8M
    MALLOC guard page                    48K
    STACK GUARD                        56.0M
    Stack                              10.0M
    VM_ALLOCATE                          84K
    __CI_BITMAP                          80K
    __DATA                             12.9M
    __IMAGE                             528K
    __LINKEDIT                         49.1M
    __TEXT                             94.4M
    __UNICODE                           544K
    mapped file                        29.8M
    shared memory                       312K
    ===========                      =======
    TOTAL                             276.4M
    Model: MacBookPro4,1, BootROM MBP41.00C1.B03, 2 processors, Intel Core 2 Duo, 2.4 GHz, 4 GB, SMC 1.27f3
    Graphics: NVIDIA GeForce 8600M GT, GeForce 8600M GT, PCIe, 256 MB
    Memory Module: BANK 0/DIMM0, 2 GB, DDR2 SDRAM, 667 MHz, 0xCE00000000000000, 0x4D342037305435363633435A332D43453620
    Memory Module: BANK 1/DIMM1, 2 GB, DDR2 SDRAM, 667 MHz, 0xCE00000000000000, 0x4D342037305435363633435A332D43453620
    AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x8C), Broadcom BCM43xx 1.0 (5.10.131.36.15)
    Bluetooth: Version 4.0.8f17, 2 service, 11 devices, 1 incoming serial ports
    Network Service: smokerings, AirPort, en1
    Serial ATA Device: FUJITSU MHY2200BH, 200.05 GB
    Parallel ATA Device: MATSHITADVD-R   UJ-867
    USB Device: Built-in iSight, apple_vendor_id, 0x8502, 0xfd400000 / 2
    USB Device: BRCM2046 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0x1a100000 / 2
    USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x820f, 0x1a110000 / 3
    USB Device: Apple Internal Keyboard / Trackpad, apple_vendor_id, 0x0230, 0x5d200000 / 3
    USB Device: IR Receiver, apple_vendor_id, 0x8242, 0x5d100000 / 2

    You probably need to reinstall OS X, but try this first.
    Please read this whole message before doing anything.
    This procedure is a test, not a solution. Don’t be disappointed when you find that nothing has changed after you complete it.
    Step 1
    The purpose of this step is to determine whether the problem is localized to your user account.
    Enable guest logins* and log in as Guest. Don't use the Safari-only “Guest User” login created by “Find My Mac.”
    While logged in as Guest, you won’t have access to any of your personal files or settings. Applications will behave as if you were running them for the first time. Don’t be alarmed by this; it’s normal. If you need any passwords or other personal data in order to complete the test, memorize, print, or write them down before you begin.
    Test while logged in as Guest. Same problem?
    After testing, log out of the guest account and, in your own account, disable it if you wish. Any files you created in the guest account will be deleted automatically when you log out of it.
    *Note: If you’ve activated “Find My Mac” or FileVault, then you can’t enable the Guest account. The “Guest User” login created by “Find My Mac” is not the same. Create a new account in which to test, and delete it, including its home folder, after testing.
    Step 2
    The purpose of this step is to determine whether the problem is caused by third-party system modifications that load automatically at startup or login, or by a peripheral device.
    Disconnect all wired peripherals except those needed for the test, and remove all aftermarket expansion cards. Boot in safe mode and log in to the account with the problem. Note: If FileVault is enabled, or if a firmware password is set, or if the boot volume is a software RAID, you can’t do this. Post for further instructions.
    Safe mode is much slower to boot and run than normal, and some things won’t work at all, including wireless networking on certain Macs.  The next normal boot may also be somewhat slow.
    The login screen appears even if you usually log in automatically. You must know your login password in order to log in. If you’ve forgotten the password, you will need to reset it before you begin.
    Test while in safe mode. Same problem?
    After testing, reboot as usual (i.e., not in safe mode) and verify that you still have the problem. Post the results of steps 1 and 2.

  • Cant resolve ejb-local-ref

    Hi!
    Im a novice at this environment so I have been running the EJB Tutorial provided
    with 8.1
    Everything works as i should until I deploy the application.
    I get a:
    weblogic.management.DeploymentException: Could not setup environment - with nest
    ed exception:
    [weblogic.deployment.EnvironmentException: [J2EE:160101]Error: The ejb-link 'Ban
    dsExampleEJB.jar#Music' declared in the ejb-ref or ejb-local-ref 'ejb/MusicLink'
    in the application module 'webapp' could not be resolved. The target EJB for
    th
    e ejb-ref could not be found. Please ensure the link is correct.]
    The code for the ejb-local-ref is as folows:
    <ejb-local-ref>
    <ejb-ref-name>ejb/MusicLink</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>examples.ejb20.relationships.bands.MusicHome</local-home>
    <local>examples.ejb20.relationships.bands.Music</local>
    <ejb-link>BandsExampleEJB.jar#Music</ejb-link>
    </ejb-local-ref>
    What can I be doing wrong?
    /Peter

    Gunnar,
    There are a few mistakes in the tutorial that will
    be fixed for the upcoming SP2 release. As far as the tutorial code
    itself goes I've reproduced this problem by following the tutorial
    exactly as its stated and there's a couple of things that can be
    what's causing all the problems for you and others.
    The easiest solution is to use the supplied MusicBean source that's
    supplied with the tutorial. That bean code is correct and functional.
    The tutorial is missing some of the steps required to reproduce that
    exact bean code.
    I'll cover all the errors I found. One of these is quite possibly what's
    tripping you and others up.
    1) The getBands() and addBand() method should be made to be local
    methods instead of remote methods.
    So in step 4 after you've created these methods change the interface
    exposure
    to be local either directly in the source by changing the tag, or in the
    design view
    by right clicking the method and selecting "local". This will show the
    methods
    with a yellow diamond next to them in the design view.
    You also need to enable local interfaces as well as update the local
    interface and local home interface.
    To do this:
    1) switch to the design view
    2) click on the EJB
    3) find the "naming" node in the property editor and uncheck "Remote EJB"
    4) check the "Local EJB" checkbox which will then enable the fields for
    the local and local home interfaces
    5) enter the value of local interface to be: "Music"
    6) enter the value of local home interface to be: "MusicHome"
    2) The setup datasource step is incorrect in the tutorial.
    The entity beans that are imported use a datasource called
    "examples-dataSource-demoPool".
    This datasource doesn't exist in the default workshop domain so in this step
    the user
    is to create the missing datasource. So going to the datasource viewer and
    choosing "add datasource"
    and pasting in the above name will create the datasource that's needed for
    the entity beans.
    3) In the source code listing for MusicBean there's missing imports for:
    javax.naming.InitialContext
    javax.naming.NamingException
    4) the ejb-local-ref XML has one problem, possibly two:
    1) The case is incorrect for the EJB ref name. The tutorial has it as:
    ejb/MusicLink
    but addBand.jsp refers to it as ejb/musicLink. So either change the
    jsp file or the ejb-ref-name so
    that the two match.
    2) The placement of the <ejb-local-ref> XML may be in the wrong spot.
    This element must
    appear at the bottom of web.xml. i.e.
    <webapp>
    <ejb-local-ref>
    <ejb-ref-name>ejb/musicLink</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>examples.ejb20.relationships.bands.MusicHome</local-home>
    <local>examples.ejb20.relationships.bands.Music</local>
    <ejb-link>BandsExampleEJB.jar#Music</ejb-link>
    </ejb-local-ref>
    </web-app>
    5) and finally ensure that your application's build order is correct. Make
    sure that the EJB
    project builds before the web project.
    This can be verified by selecting the menu "tools->application properties"
    and then
    clicking on the "build" node to get the build order.
    All of these mistakes will be fixed for the SP02 release. Hopefully one of
    these solutions fixes
    the problems you're experiencing.
    -Michael
    "Gunnar Skogen" <[email protected]> wrote in message
    news:[email protected]...
    >
    This thread :
    Suggestions on newbie tutorials for Workshop and Weblogic 8.1
    Date: 8 Aug 2003 15:06:55 -0700
    From: "Morgan" <[email protected]>
    Organization: BEA NEWS SITE
    Newsgroup: weblogic.developer.interest.workshop
    Describes the same problem, no solution - so:
    1) When will the tutorial(s)/ and or workshop be fixed ?
    2) Could we get a fix for this particular problem ? ( I tried more than Iwant
    to admit )
    "Gunnar Skogen" <[email protected]> wrote:
    Hi,
    (chiming in because:)
    I have exactly the same problem with the same app:
    This is following the tutorial for 8.1 :"Tutorial EJB project, Part one"
    to the
    letter and running the build.
    The link names etc are correct, however, nothing is/has been deployed
    according
    to console..
    NB: Following the tutorial the MusicBean is set up as a remote bean
    (default
    in
    workshop?) - have tried going the local way also without any success.
    It appears
    the tutorial itself is faulty(?) ( it also shows the dialog for importing
    a webapp
    when it most probably means to create an empty one )
    Michael Kovacs <[email protected]> wrote:
    Hi Peter,
    A couple of things...
    Ensure that your EJBs are deployed to the server properly. It
    seems from your error that they might very well already be
    deployed successfully, but that's just a guess. To verify this you
    can have a look at the WebLogic admin console and see that your
    beans have been deployed to the server by looking at your
    application.
    Assuming your beans are deployed....
    Ensure that the reference to the EJB ref is using the exact
    name of the ejb-ref-name. The name is case sensitive.
    So when you do your lookup of the bean in your JSP
    ensure that the "ejb/MusicLink" from the <ejb-ref-name>
    matches exactly. i.e.
    Object obj = ctx.lookup("java:comp/env/ejb/MusicLink");
    Also, make sure that the <ejb-link> is correct.
    The format for the link name is:
    EJBprojectname.jar#EJBName
    So for your example, make sure that "BandsExampleEJB"
    is the name of your EJB project or correct that value in the
    link name, and that your Bean's EJB name is "Music".
    Let me know if this helps.
    -Michael
    Peter Hegedüs wrote:
    Hi!
    Im a novice at this environment so I have been running the EJB
    Tutorial
    provided
    with 8.1
    Everything works as i should until I deploy the application.
    I get a:
    weblogic.management.DeploymentException: Could not setup environment- with nest
    ed exception:
    [weblogic.deployment.EnvironmentException: [J2EE:160101]Error: Theejb-link 'Ban
    dsExampleEJB.jar#Music' declared in the ejb-ref or ejb-local-ref
    'ejb/MusicLink'
    in the application module 'webapp' could not be resolved. The targetEJB for
    th
    e ejb-ref could not be found. Please ensure the link is correct.]
    The code for the ejb-local-ref is as folows:
    <ejb-local-ref>
    <ejb-ref-name>ejb/MusicLink</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>examples.ejb20.relationships.bands.MusicHome</local-home>
    <local>examples.ejb20.relationships.bands.Music</local>
    <ejb-link>BandsExampleEJB.jar#Music</ejb-link>
    </ejb-local-ref>
    What can I be doing wrong?
    /Peter

  • Resources garbage collection, can be done this way ?

    The problem
    I would like to apply the same concept of garbage collection to system resources like Files, Database resulsets, Sockets etc...
    The reasons
    I am tired of looking around desperately into a program to identify memory leak that are instead resources leak. And this is getting worse while program size grows.
    How it could be done
    -- Let's have a resource manager class from where I get the wanted resource (I will write this class, fairly easy).
    -- Let's say that this manager class is a thread that runs in a scheduled way and this is decided by me (this is also something anybody can write).
    -- Let's say that when it runs it checks for all resources (objects) that it has given to the rest of the program if the reference count greater than one. If it is > 1 then the resource is still in use, else it can be deallocated (that just means calling close and then leaving the object to garbage collect).
    What I need
    A way to know in a reliable way how many objects are having a reference to a given object. Is there such a way ?
    Evangelism on..
    Please, if anybody at Sun is reading this, this IS a TOP issue. If you look around you will see more and more issues of leaking, they are resources leakage because it is NOT easy to ALWAYS close a resource.
    Someone may say "use the finally" of yes, try to think to use the finally to deallocate memory and you will immediatly understand the mess that will come.
    Garbage collection is a good idea let's have a way to apply it to resources.
    Thanks

    I have no problem, as it is, in making applications
    reliable.As usual the problems come in deciding how to do
    things.Yes.
    >
    Which is why mine don't. Since resources are usedin
    so few places it is easy to manage their usage.We are not talking on who has the biggest gun...Eh?
    >
    The sad thing is that the problem most of
    the time is NOT yours but of somebody else thatforgot
    to clean up after himself...Sounds more like a management problem than a code
    problem. If you are allowing programmers in your
    organization to write code which leaks resources oris
    so poorly designed that other users can notproperly
    dispose of resources then it is a managementproblem.
    Ok, let's drop it here.
    I hope you will never have to deal with code other
    that yours or written by your coworkers.
    I always deal with other people's code. And they with mine. Although I occassionally work on one person projects - perhaps 2 weeks every three years. the rest of my career has always involved multi-person projects and often (if not always) involve third party libraries.
    So I believe I have dealt with others code.
    in the applications that I work on.)There is java.lang.ref in a way it seems to dowhat
    I
    want....
    I don't believe so. Finalize() more closely fitswhat
    you might want to do. java.lang.ref is used in
    building caches of disposable entities. And it is
    most definitely only useable with memory.I have a funny sensation that whatever I write you say
    no...Not necessarily.
    Thanks for your help, if anybody wants to add
    something useful to
    what I am tryng to do they are welcome.I am trying to be useful.
    I am trying to point out that you are looking for a new feature in the language that just isn't very useful to most people. I was trying to point out why it wasn't useful to most people.
    Perhaps this might help.
    Look at it this way, go look at the bug database and look at the top vote getters for things that people want fixed. Then you might trying looking through the RFEs for something like you want. If it isn't there then add it. If enough people actually want it then it will be voted for. With enough votes it would have a better chance of being added.
    Of course that presumes it could be done in the first place. Based on my memory of past topics in the forums on reference counting I suspect that the answer is no. But you might want to read those.

  • [JS] $.gc() - garbage collection, etc.

    Hello everyone, bear with me for all the questions.
    $.gc() - Initiates garbage collection in the JavaScript engine.
    Ok, maybe I have a fundamental misunderstanding of things here, but I am wanting to understand a few things:
    I was wanting to know if $.gc() can be called and executed outside of running scripts directly from with in the ESTK toolkit? The reason I ask is that its listed in the tools guide but not the javascript reference. I know things like $.writeln() only seem to apply/display from with in the ETSK toolkit, is it still executed otherwise silently when it appears in a script, $.sleep() works fine when used. So what about $.gc(), can I call it and have it execute from within my scripts outside of running them via the ETSK toolkit?
    Is there a way to test if its in fact being called, executed, working? I have seen people talking about calling it twice and doubling up, $.gc() $.gc(), thus does it even work, or is it just a fabled mythical thing.
    Do codes when executed outside the ETSK toolkit get funneled through the same javascript runtime engine that they do when executing from with in the ETSK toolkit? Is it all the same and the ETSK toolkit is just Adobe's GUI for writing, debugging, targeting different api's for the various programs with in the same underlying engine?
    Does ScriptBay tap into and use this same underlying framework? Does it do anything inherently on its own for garbage collection? (since it can run scripts sequentially, repetitively, etc..)
    Does anyone know what embedded javascript runtime/engine Adobe is using? This would be beneficial for any specific optimizations that can be considered or kept in mind in general based on the specific JS engine thats implemented when coding.
    So aside from the mythical $.gc() , what other best practices for garbage collection should be considered? I know people suggest wrapping your codes in a function, talk of #targetengine (saw in InDesign forum), etc… are there any other common do's and dont's, best practices pertaining specifically to illustrator? Granted I can find a lot about Javascript in general across the web but what about how it applies to Illustrator, its api, limitations, performance, garbage collection, etc..
    Thanks. ;-)
    Again, sorry for all the questions, I am still trying to continue to wrap my head around different aspects of this whole thing. Thanks everyone for any feedback your able to offer and provide. Many thanks in advance, its greatly appreciated. Thanks again.

    I can't answer or help with all of those… Here are my thoughts… The dollar object properties and functions can be called on by script from AI, BR, ID & PS… They are NOT restricted for use in the ESTK tookit. Yeah $.writeln() would write to the console if the toolkit were open if NOT then it will probably launch it… So remove or comment these out. As you can see from $.sleep() it does what it says when run in the host app. #targetengine is exclusive to ID this app can have multi-instances ( or something like that ). The other apps have 1 engine and thats it. AI's engine is persistent so wrapping your code is good practice I do this for BR & PS too… See…
    http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/illustrator/scrip ting/readme_cs5.txt
    As for garbage collection I've never fould the need to use it… I see some like to set variables back to null but again I don't do this…
    You would have been better off asking this question in the ID scripting forum… There are several people there who are better qualified to answer some of this…

  • Runtime.getRuntime().exec() and Garbage Collection

    I am programming a piece of software in both Java and C that has some strict real time requirements. Garbage collection, which pauses all threads in Java, sometimes causes loss of incoming data. In order to get around this, I am thinking to start another process using Runtime.getRuntime().exec("c_program") and using interprocess controls (in a UNIX environment) to retrieve data from the new process.
    My only worry is that the Process created by the above call would be a child process of whatever JVM thread created it, (as far as I understand, the JVM implementation in Unix uses multiple processes) and would also be paused when garbage collection occurs. Does anyone know the implementation of the exec functionality and the JVM well enough to say that this will or will not happen?
    Thanks in advance,
    Benjamin

    You're going to create a whole new process? I don't
    know what a "child process" means, but Runtime.exec()
    gets the operating system to produce an entirely new
    process, outside the JVM. However if it produces
    output on stdout or stderr, you're going to have
    threads in your JVM that read that output, otherwise
    that process will hang.
    Why is your idea better than just calling the C
    program via JNI?Thank you both for your replies. My plan was to create a whole new process, yes. In UNIX, a process C is created by another process P using fork() or the exec() family. Process P is then the parent of process C, and process C is the child of Process P. P has an amount of control over C since it can send various signals to pause, kill, etc to C.
    My concern was that the JVM implementation would use these signals to implement the pause of all threads before garbage collecting. If it did, it may also pause the Process that it spawned from the Runtime.exec() call. Pausing my C program in this manner would cause the loss of data I was trying to avoid in the first place.
    My plan for the new process was not to produce anything on stdout or stderr, but to pass data back to the JVM using ipc (interprocess communication) resources of UNIX. I would have to use the JNI to access these resources.
    The whole reason for wanting to do this is to avoid the pause during garbage collection that all Java Threads experience. If I were just to call the C program through the JNI with a normal Java Thread as I think you were suggesting, this Java Thread would still be paused during garbage collection.
    To the second reply about RTSJ, I had heard about this but couldn't find info about it! Thanks for the link. I'm checking it out at the moment. The java runtime must be considerably different for the specifications I see that they guarantee.
    Again, thanks for the replies,
    Benjamin

Maybe you are looking for