The Jade 2025 release focuses on modernising the developer experience and helping you build faster, smarter, and more scalable applications.
When a LockException is raised you have access to the process that is locking the targetted object.
Exception :: targetLockedBy (Process)
If you try and call 'getCallStackInfo' on this process you get an exception "1265 (Environmental object operation is out of scope for process)" - I'm not sure why there is this restriction in place when you can simply get the call stack from JadeMonitor on any process.
Knowing what the locking process is doing to lock the object would make our lives debugging this a lot better.
thanks BJ we will give that a go, I still believe the original request is an improvement and don't understand why it would be difficult since you can get this anyway from the monitor where we can determine to pull the call stack when needed rather than having this setting always on or always off.
Hi Sam,
If you have the option set to save the call stack when objects are locked, you could use the Object::getLockCallStack method to retrieve the call stack for the process which has the lock at the time the lock was actually obtained on the object in question.
Refer to Process::setSaveLockCallStack documentation and/or the associated jade.ini file settings for more information on enabling this feature. It's a useful feature to have on permanently for all processes in dev systems, but the overhead of retaining this information may make it less palatable to have it on permanently for all processes in production systems.
Cheers,
BeeJay.