Check stuck thread in weblogic

Jul 20, 2017 · A stuck thread does not always mean that the thread is waiting for something. lookup(TemplateRegistry:198), see dump below. flush(); The problem we're seeing in WebLogic is lots of STUCK threads, so we dumped the thread stack and found some threads getting stuck at org. It may be a small cluster of threads or all of them. 6 and later: How Stuck Thread Timeout and JTA timeout values are related? Mar 5, 2024 · Oracle WebLogic Server - Version 12. on JDBC tab make sure all datasources are in RUNNING state. TemplateRegistry. 6 Information in this document applies to any platform. Take several thread dumps to check what threads are doing. 6 and later: Stuck Threads in WebLogic Server. Jun 13, 2016 · Is the client on Weblogic or the web service hosted on Weblogic or both? Can you check netstat -an | grep . Aug 16, 2017 · HI All ,we are facing the thread stuck in the web logic frequently and we have to restart the planning services to resolve the issue. To determine the amount of stuck threads, see Tuning the Execute Thread Detection Behavior. Oct 12, 2012 · If you see Stuck threads like below in the WebLogic server log then follow the steps mentioned to fix this issue. Stuck Thread Max Time: Enter the number of seconds, that a thread must be continually working before this server diagnoses the thread as being stuck. The following commands executed on your WebLogic server as the root user will do this: Aug 20, 2012 · You could use the weblogic. It notifies and attaches thread dump. admin) is aware that the thread has crossed 10 mins (600 sec = 10 min, not 15) This is a configurable value. OracleResultSetImpl. In this post I will deconstruct this thread and describe the data it contains and the potential issues it may illuminate. Use jstack <pid> (or jstack -F <pid> if the process is hung) Use VisualVM. sh depending on the OS. clientTimeout setting in order to avoid thread stuck situations when the target server is experiencing problems. (StuckThreadMaxTime) of “600” seconds in “server-failure-trigger”. ADF application is deployed in this cluster. e. It could be that the stuck threads are generated by a problem in the code, by the unavailability of an external system, or it can even be expected behavior, in the case of some long-lasting operations in the Nov 7, 2016 · I'm having a Weblogic server with one Admin Server and 3 managed servers in a single cluster. If you need to script some kind of monitoring tool, WLST is extremely powerful. You can configure Node Manager or a third-part high-availability solution to restart the server instance for automatic failure recovery. 4. On EBS 12. Also you can request a dump of the Thread stacks. out in the Dec 22, 2019 · 3. Thread dumps show following stuck threads: Changes Cause . Increased Max Stuck Thread. For example, the following thread is stuck waiting to process POST data: Cause Nov 26, 2011 · I've got the below code working on Weblogic Application Server 10. To configure WebLogic Server stuck thread detection behavior. In work load tab make sure pending requests are not too many, else you need to look at the number of work managers and there health and work done. internal. 0 and later: Frequent Stuck Threads In Imaging ExecuteThread: '31' for queue: 'weblogic. One thread dump is not enough to analyze the problem. Note that it is possible that some of your threads are doing legitimate work for over 10 minutes with Mar 27, 2020 · # Node Manager needs to be running to run this script. This can be determined if you see the Nov 23, 2015 · WebLogic Console. Mar 11, 2016 · 3. Can anyone please help me in understanding, why thread dump does not get generated from console and Why I am getting the message saying server must be running. Otherwise, you might have to use your own custom-built OneAgent extension. 3. Problem can happen any time and any load condition, with no pattern to the occurrences. LongRunning Dec 16, 2023 · Click to get started! My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts. 問題: Account Reconciliation Managementが 「構成された時間 (StuckThreadMaxTime)」 を示すメッセージでタイムアウトします。. Make sure you export weblogic. One of the them is working fine. Check JMS connections are not too high. You can try this feature in case it is available for Weblogic. Aug 13, 2012 · The WebLogic Diagnostic Image includes a thread dump and can be automatically fired upon certain JMX metric thresholds being crossed by configuring a Watch and corresponding Notification in a WebLogic Diagnostic Framwork (WLDF) System Module that is targeted at your server. “StuckThreadMaxTime” parameter). Select the Configuration -> Tuning tab in the right pane. Take 4 or 5 sets of thread dumps at an interval of 5 seconds between each. ) called by other requests, these may be affected too. References. Step 1: Go to the weblogic console and check for managed server status like oacore. 0 and later Information in this document applies to any platform. sh plugin from the Nagios XI server to your WebLogic server. * Stuck Thread Timer Interval: Enter the number of seconds, after which WebLogic Server periodically scans threads to see if they have been continually working for the length of time specified by Stuck Thread Max Time. Aug 31, 2012 · outputStream. We're confident our code did not introduce this issue since, in the example above, it's clear we're using Apr 8, 2022 · I think this will cause weblogic to create a new thread for the task instead of taking a thread from the work manager thread pool. grep -i stuck logname. In this video, we will cover Troubleshooting of weblogic server, running with Warning HealthCheckout my below videos as well :Weblogic HTTP Extended Logging Jan 8, 2012 · There are many ways to do that. java weblogic. How to check Stuck Threads in logs – Doyensys Blog. Default (self-tuning)' has been busy for "609" seconds working on the request "Http Request: /getSunPayment. I do not w To use user-defined execute queues in a WebLogic Server 10. Due to this issue, users see a lot of performance issues and sometimes cannot even access the EBS instance when this issue Jul 28, 2015 · If WL console is unresponsive then it means that you Admin server thread is stuck, so you need to kill you Admin server Java process and restart it . Mar 16, 2012 · After that change the Weblogic system status is complaining about the thread pool "Thread pool has stucked threads". Here check for “Heap Free Percent” (It should be more percentage free) Also, check for count of the “Hogging Thread Count” which should be either 0 or very less. WebLogic Serverは、設定した期間、作業状態が継続した(アイドルでない)場合、スレッドをスタック状態と診断します。 サーバーのスレッド検出動作は、スレッドがスタック状態と診断されるまでの時間や、サーバーがスタック・スレッドをチェックする頻度を Dec 25, 2020 · Is Weblogic 12c ThreadPoolRune JMX Counter available in Dyntrace v1. it will give output like below. Then you should look for you want to check is a stuck thread or long running Apr 19, 2011 · 1. If you want a thread to run till the server or application stops, you have to mark your class with a @LongRunning (weblogic. Jan 15, 2019 · The following thread was extracted from a thread dump taken on a JVM instance running WebLogic Server. When facing slowdown conditions, you will normally see May 10, 2023 · In this Document. To determine the amount of stuck threads, see Detecting "Stuck" Threads. Firstly never troubleshoot stuck threads using only 1 dump, always take 3-4 dumps each spaced about 3-4 secs apart. Note: This recommendation is highly application-dependent. 解決策: 次の手順に従って、「スタック・スレッド最大時間」設定の値を大きくします: WebLogicコンソールにログオンします If the WLSAgent cannot be used then NCPA will need to be installed on the WebLogic server as per the Installing NCPA documentation. This is not intended to be a comprehensive guide to all Stuck Thread issues. Your application threads are probably started like this: new Thread(new MyThreadClass())). At the time of stuck threads. for key in result: print (key + " has " + str (result [key]) + " stuck threads. Any help with the below is much appreciated. 4 Aug 7, 2023 · Oracle WebLogic Server - Version 12. You can tune a server’s thread detection behavior by changing the length of time before a thread is diagnosed as stuck, and by changing the frequency with which the server checks for stuck threads. Oracle WebLogic Server - Version 10. next(OracleResultSetImpl. driver. If possible I would try: Find which query or queries are getting the threads stuck and check execution time. 3. Sep 25, 2023 · warning Symptom{STUCK_THREADS,HIGH, ThreadPoolRuntime, ThreadPool has stuck threads} Weblogic Logs: <[STUCK] ExecuteThread: '7' for queue: 'weblogic. 0 with two domains. For example, if we put maximim thread limit as 3, then if there are 10 parallel requests; 7 requests are in queue. To resolve an out-of-memory issue, see Section 24. 1. start(), this does not use any weblogic API and are unknown to it. Stuck Threads are threads that are blocked, and can't return to the threadpool for a certain amout of time. Before officially collecting garbage, GC will invoke the object's finalize (). In order to get this fixed you are trying to increase the thread pool following the steps as per the document in the link below. 2. 11 1. Also, Windows XP is eol and you know it. Select a discussion category from the picklist. By default, WebLogic Server considers a thread to be "stuck" after 600 seconds of continuous use. If all application threads are stuck, a server instance marks itself failed, if configured to do so, exits. Oracle WebLogic Server - Version 12. kernel. May 17, 2009 · Socket Reader Threads accept the incoming request from the Listen Thread Queue and put it on the Execute Thread Queue. Here you can look at threads and identify stuck and hogging threads. i. Services > Data Sources > EPMSystemRegistry > Configuration > Connection Pool. Scenario 1: Every alert we need to check the log file and investigate based on Jul 10, 2018 · I could see the health show "Warning" and the reason "ThreadPool has stuck threads". 0): setDomainEnv. ") #11g #webcenter #weblogic #weblogic-portal. Login to weblogic admin console with admin credentials. 12. We are seeing server overloading (network IO), admin inaccessible errors. Aug 3, 2023 · In this Document. The timer starts when the thread begins processing the request within the server. The queue monitors throughput over time and based on history, determines whether to adjust the thread count. You can try WLSDM. Default (self-tuning)' has been busy for "641" seconds working on the request Feb 21, 2014 · 2. It can simply takes a long time to execute the request. ). However, it also requires careful tuning to optimize its performance and avoid issues such as stuck threads, deadlocks, or memory leaks. – > Stuck Threads are only flags, there to warn you that this thread is taking too long. This document provides comprehensive guidance on how to tune WebLogic Server parameters, monitor its health, and troubleshoot common problems. Does it show the sockets in ESTABLISHED state? or some other state like TIME_WAIT or CLOSE_WAIT ? How long have you configured your stuck-thread-timeout? The default is 600 seconds, so does this operation take longer than 10 minutes? Sep 3, 2013 · Refresh the page every 3-5 seconds. msgpack. No, you can't. 1, there are 3 socket reader threads by default. In between the refresh actions, identify the threads that are still executing the same request (slow running threads). Jan 5, 2021 · In Weblogic, how can I change Work Manager's Stuck-Thread-Action using WLST and Jython. connector. 24. Admin url –: -username -password THREAD_DUMP. ke. xml file, setting the use81-style-execute-queues element to true. set StuckThreadMaxTime with bigger value (its placed on weblogic console in: domain > Environment > Servers > Admin Server > Configuration/Tuning) edited Mar 11 Jul 1, 2018 · 0. Stuck Thread Handling WebLogic Server checks for stuck threads periodically. In the body, insert detailed information, including Oracle product and version. Use the WebLogic Console to change this value (base_domain > Environment > Servers > Admin Server > Configuration/Tuning). As per my best knowledge you cannot do it without re-boot . Gone is gone, end of story. java:228) Maybe it is just the query which is taking more than StuckThreadMaxTime and WL issues a Warning. import thread import time def checkHealth(serverName): while 1: slBean = getSLCRT(serverName) status = slBean. Default value for “StuckThreadMaxTime” is 10 minutes. 2) Increase the number of threads to prevent thread blocking. com Aug 18, 2023 · Oracle WebLogic Server - Version 12. For example: When large BI report is running and the time it Nov 6, 2009 · We are able to configure by using "Work Managers" in WebLogic and putting a limit on the number of threads for that servlet. 0_80. Dec 8, 2017 · For better clarification: BEA-002936. ServletRequestImpl Jul 24, 2020 · Stuck threads will reduce the ebs performance and it’s very important activity to DBA’s. The definition of "world" depends on the garbage collector being used and context. OBI 12C Weblogic and Em not opening. WebLogic Server is in unresponsive state and health of the server is in warning state. In WL 9 and 10, WebLogic allocates 33% of server threads to act as socket readers by default. I tried to get the stuck thread count of To use user-defined execute queues in a WebLogic Server 10. 5 to 10. Feb 12, 2016 · 1. Dec 15, 2017 · In general no, but if for example the stuck thread is holding a lock on an object (database, file, etc. Jan 29, 2015 · Tuning = stuck thread reporting. This ensures that proxy and business services should not depend on the WebLogic Server execute thread pool for execution and WebLogic Server has enough free or idle threads to process any ad-hoc requests from Service Bus without leading to stuck thread problems. jar in your path; Execute a command on UNIX session: java weblogic. Mar 9, 2023 · This MBean provides information about the server’s state and performance, including information about threads. e stuck status=false like below. NOTE: Server is in running state. The thread dump will be generated in the defined server stdout. 0. cmd or setDomainEnv. May 15, 2020 · How Weblogic determine a thread to declare as hogging? A thread declared as Stuck if it runs over 600 secs (default configuration which you can increase or decrease from admin console). OS: Centos Weblogic: WebLogic Server Version: 10. so at the end you will have a single log file which has around 20 - 25 seconds worth of action on the app server. In WL 8. Click on Environment --> Servers --> Managed Server --> Monitoring --> Performance. This note is intended to be one example of how to identify the cause of a "STUCK" thread in the WebLogic Server or Managed Server. – May 31, 2012 · Shut down the application if there are stuck threads in the application. The long running task executed on timerExpired takes longer than the server wide StuckThreadMaxTime of 600 seconds. rmi. Is it possible to monitor web sessions and Stuck threads through the WebLogic Admin Console? Solution The execution time of SQL statement is too long. Maximum Capacity: from 15 to 500. The stack-trace in the log file looks as follows: <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '12' for queue: 'weblogic. If the server is close to out of memory, all requests should slow down. Also weblogic won't consider a thread assigned to a long running task as being stuck. Third, Check the Performance and Thread of the Managed Server. The application is shutdown by bringing it into admin mode. Expand Environment and click on Servers in the left menu; Click on the Admin server or any managed server you want to check the stuck threads; Click on the Monitoring tab in the server properties; click on WebLogic Server automatically detects when a thread in an execute queue becomes “stuck. oracle. Cause. . May 13, 2018 · An execute thread is classified as STUCK when the thread is stuck working on a request for more than the configured stuck thread maximum time (i. extensions. Tuning the Execute Thread Detection Behavior. From a command line or shell, a thread dump can be generated via the following command (deprecated from WLS 9. ” Because a stuck thread cannot complete its current work or accept new work, the server logs a message each time it diagnoses a stuck thread. This will put minimal load on the server. Nov 26, 2011 · Does this message imply that my thread is aborted, or can it continue after this ? <[STUCK] ExecuteThread: '0' for q ueue: 'weblogic. We are facing issue in our production environment with multiple blocking threads and while checking the thread dumps have found the below stack trace where in 14 blocking threads were present with same description. When the system is under stress, STUCK threads are seen in WebLogic logs at regular intervals. One set of thread dumps alone wont be too helpful to get to the root cause. By Default, the WLS comes with 600 secs. 3) Optimize the program and reduce the processing time. The only thing you can do is to figure if you can somehow detect such situations while they occur to then collect thread dumps and to log the results. Jun 29, 2018 · One way to check if you have stuck threads is through Weblogic Admin console. WebLogic Server automatically detects when a thread in an execute queue becomes "stuck. Nov 25, 2014 · Weblogic monitors its threads and marks them as "stuck" after a certain period of time if they are not returning from a method like in a socket listener loop in thread's run method. 0 and later: Stuck Threads Issue in WebLogic. [solution]: It can be solved by the following methods: 1) modify the stuckthreadmaxtime parameter, change the default 600s to 1200s, or other suitable values. x domain, you need to include the use81-style-execute-queues sub-element of the server element in the config. In you have stuck threads but the WebLogic Console is still available, you can go to Environment, Servers and select a server. just drap the thread dump file into the samuria console . Then, explicitly create the weblogic. Servers -> Some_Server -> Configuration -> Tuning -> Stuck Thread Max Time This will check on the Stuck Thread Timer Interval for any and all stuck threads and report it in the log file for the server like: 'WebLogic. we can see the servers are in warning state. ## Format for Nagios output etc. I'm getting stuck threads intermittently in one of the managed servers. '19' for queue: 'weblogic By default, WebLogic Server considers a thread to be "stuck" after 600 seconds of continuous use. Apr 24, 2013 · You can access the thread pool health details using WLST (WebLogic Scripting Tools) scripts (if you are familiar with Python, it should not be a problem), or by accessing JMX counters using Java. WebLogic stuck thread protection. xml file and reboot the server. Then take the decision according to it. You can read more about how weblogic 12 handles threads here: https://docs. we will get alerts. A thread might get stuck due to various reasons. For example, if historical throughput statistics indicate that a higher thread count increased throughput, WebLogic increases the thread count. Apr 19, 2013 · at oracle. Check if the finalizer thread is blocked or waiting. Increased database connection pool. Also, depending on what the stuck thread is doing, it may use excessive resources (cpu, memory, disk, etc. Aug 17, 2011 · In threads tab make sure health is OK and there are no stuck threads i. Default (self-tuning)’ has been busy for “631” seconds working on the request “weblogic. 2. If some thread doesn't return in 600 secs, It gets a flag 'stuck thread'. Becouse your processing takes 20min and default setting of StuckThreadMaxTime is set to 600 seconds, you will see such errors in logs. To launch a long running task, you need to set the LONGRUNNING_HINT to true in the ManagedTask that is launched. Is there any way to kill these threads which got stuck? I don't want to hinder the activities of the users in another managed servers. For example, if you have four processors, then four threads can be running concurrently with the number of stuck threads. Mar 17, 2022 · It seems you are looking for the hung threads. Default execute queue from the Administration Console and reboot the server. Step 2: if It will show the oacore server in “warning state” then we need to check. Problem. Cause: The number of threads assigned to this work manager has reached the configured value in the maximum threads constraint Feb 17, 2021 · redirect ('/dev/null','true') ## Print all server names and the number of stuck threads we counted per server. 205. ' to get the hung threads for the traditional WebSphere. Worst case you have to give the customers/operators clear instructions how to gather dumps themselves to make them available to you. Jul 5, 2017 · 3. Now you can go to Monitoring, Threads. My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts. answered Apr 21, 2015 at 21:32. template. Potentially, you could go to the weblogic admin console and restart the application. Default (self-tuning)' has been busy for "626" seconds working on the request "Workmanager: default, Version: 0, Scheduled=false, Started=true, Started time: 626850 ms", which is more than このエラーは、WebLogic Server で「Stuck Thread Max Time:」のデフォルト値 600 秒を超過したために発生します。 回避方法: コンフィギュレータが応答しない場合は、再起動します。WebLogic Server の「Stuck Thread Max Time」値をデフォルトの 600 秒から 1200 秒などもっと Mar 21, 2019 · 0. 163. Consider Paul's rocket mass heater . i am trying to open weblogic and Em console and its keeps loading forever ( though it had opened few days before while May 17, 2017 · The weblogic console only shows threads that it (the weblogic server) created and therefore monitors. do", which is more than the configured time (StuckThreadMaxTime) of " 600" seconds Aug 3, 2023 · Oracle WebLogic Server - Version 10. Changes. Download samurai which checks for the blocked threads , deadlock threads . For example you could use the nagios plugin check_http to check the status of a particular server. Mar 8, 2024 · Oracle WebCenter Content: Imaging - Version 12. This need not be changed usually. EDITED: Another solution which is useful when you are trying to read from a socket and you are not getting any response from the server is the following: An RMISocketFactory instance is used by the RMI Work Manager minimum and maximum constraints should be set based on the maximum load. Similarly, if statistics indicate that fewer threads did not reduce throughput, WebLogic Apr 9, 2019 · 1. By Default, the WLS For example, if you have four processors, then four threads can be running concurrently with the number of stuck threads. This post contains a sample script that sends an alert email whenever stuck threads exist, and in the comments section you will find some samples of Dec 14, 2019 · WebLogic Stuck Threads: Understanding Hogger and Stuck threads Stuck Threads are threads that are blocked, and can’t return to the threadpool for a certain amout of time. Possibly due to stuck threads. For instance, the The first thing to check when there are Stuck Threads, is to generate a Thread Dump and analyze the threads that are being stuck. serverRuntime = getMBean('/ServerRuntimes/server1') Get the thread pool MBean: Next, you can use the getThreadPoolRuntime() method to get the MBean for the thread pool. Dec 16, 2023 · Click to get started! In this Document. Send a SIGQUIT, either via CTRL + \ ( CTRL + Break on Windows) or with a kill -3 <pid>. but the 2nd one. I'm using WebLogic 11g. x find that some or all the OACore Managed servers are frequently going into Warning status with struck threads. Login into WebLogic admin console; Navigate to Server > Monitoring > Threads > Dump Thread Stacks; WLST Aug 15, 2011 · 8. It cannot do so, the message is only a status info so that you (i. Stuck threads may result if the server is nearing out of memory. Note: This recommendation is highly application-dependent Jan 22, 2024 · Oracle WebLogic Server - Version 12. Jan 16, 2023 · Weblogic Admin utility. We are using a builtin feature ' Use JMX/PMI extension editor to add custom metrics without coding. servlet. Enter a title that clearly identifies the subject of your question. jdbc. I've done some changes as per some blogs suggest: 1. During a GC sweep, the GC will "stop the world" to perform its cleanup. We are using weblogic 10. 1. 3 Stuck Threads. Solution. If the Configurator does not respond, restart it. The thread dump you have provided seems to be just fine, the one thread marked stuck seems to one where you are trying to uninstall a composite, something uninstall does take time and cause 1 thread to be stuck, this has Dec 26, 2012 · STUCK: A stuck thread is identified by Weblogic when it is taking more time than the configured stuck thread time (default is 600 seconds). Feb 23, 2023 · Symptoms. Also, consider setting the WebLogic Server “Stuck Thread Max Time” value from its default 600 seconds to a larger value such as 1200 seconds. Related questions. Goal. Symptoms. Info: maximum thread constraint constraintName is reached Description: maximum thread constraint constraintName is reached. You have two options: make processing faster. Use WLST and threadDump() The first option has usually my preference. I suggest to investigate why the thread is taking so long and if it's possible to. Edit the config. from here. Stuck Thread Timer Interval: Enter the Dec 24, 2012 · Alternatively you can use something as simple as a http check on the port of the server to see if it responds. There could be situations where these the requests waiting in queue could take up to 30-40 minutes to be Oracle Business Intelligence. rnel. Michel. Default (self StuckThreadMaxエラー. One socket reader thread is usually in the To run WebLogic Server in the 81-style-execute-queues mode, and be able to tune the thread count, an additional step is needed. 20201201-130524 . If you have not already done so, stop the WebLogic Server instance. WebLogic Server diagnoses a thread as stuck if it is continually working (not idle) for a set period of time. getState() print ‘Status of Jul 21, 2020 · When stuck thread increase in WebLogic Server alarm will be triggered. at the the time we can login to the particular warning server. Default (self-tuning)' has been busy for "zzz" seconds working on the request "-----" , which is more than the configured time Oracle WebLogic Server is a powerful and scalable application server that can run various applications and services. <Error> <WebLogicServer> <BEA-000337> < [STUCK] ExecuteThread: ‘1’ for queue: ‘weblogic. Stuck Thread. " Because a stuck thread cannot complete its current work or accept new work, the server logs a message each time it diagnoses a stuck thread. 7. Apr 26, 2010 · Weblogic does NOT kill stuck threads after the StuckThreadMaxTime. 0 Weblogic server tries to suppress current working thread and begins processing the new request. We need to monitor stuck thread count. Namrta. If a request is taking longer than 10 minutes, the stuck thread is reported to Oracle WebLogic Server server_name. Mar 8, 2016 · But, when I try to generate thread dump using kill -3 <PID>, it gets generated. 6. All Work Managers belonging to the application are shut down, and behave as described above. Admin -url t3://weblogicadminconsoleurl:7001 -username username -password password THREAD_DUMP Weblogic Admin Console. First, set the use81-style-execute-queues element to true in the configuration file. So, you want the execute threads to be 4 + the number of stuck threads. Mark the server instance as failed and shut it down it down if there are stuck threads in the server. and it looks like Dyntrace doesnt see this in its Weblogic JXM editor WebLogic Server automatically detects when a thread in an execute queue becomes “stuck. 21. Mar 12, 2019 · In this post, we are going to share the Weblogic WLST Stuck Thread Monitoring Script which will trigger an email notification and create heap and thread dumps when the maximum Thread stuck count has reached the threshold. Once installed you will also need to copy the check_wlsagent. If you have alarm from WLSDM stuck thread metric, follow the below instructions: · Quick health check of application server. 0 version and JDK 1. I have recently configured obi 12c application ver. then check for the blocked threads or any deadlock threads. qr lh jl ou iy zr gj th fd uj