February 14, 2026

Dealing with the "Stuck" Workflow Mailer in EBS 12.2: A Practical Guide

 

We’ve all been there. You just finished a fresh clone from Production to Test. The post-clone steps are done, the services are coming up, but then you hit a wall: the Workflow Notification Mailer is stuck.

In a recent project for a customer, we observed this exact scenario. After a successful clone, the mailer was perpetually stuck in a "Starting" phase.

When this happens on a freshly cloned instance, it’s rarely a simple service glitch  - it’s usually an "identity crisis" caused by stale configurations and stubborn database locks.

The Problem: New Credentials vs. Old State

After cloning, the Test environment still carries the Production SMTP and IMAP settings. Naturally, you have to update these fields—changing the server name which should point to correct smtp address and a valid credential to match the test mailboxes




The issue? The Mailer tries to initialize using the new credentials you just entered, but it gets tripped up by the "Running" state and old control messages carried over from the Production snapshot. It’s trying to start a new conversation while still holding onto the old one.


The Root Cause: "Identity Crisis"

When you clone EBS, the target database essentially wakes up thinking it is still the source. Even after running adcfgclone and autoconfig, the Workflow Advanced Queues (AQ) can still hold references or "cached" states from the Production environment.

In this case, the mailer was trying to initialize, but it was tripping over old control messages and orphaned process IDs that didn't exist on the new Test server.

The Recovery Strategy: How We Broke the Deadlock

Clearing the Database Block

Our first instinct was to reset the status manually, but the UPDATE statement hung. We realized a blocking session was holding a lock on the fnd_svc_components table.

  • The Fix: We identified the blocking session and killed it at the database level.

Once the lock was cleared, we successfully forced the status to 'STOPPED'


To check workflow mailer status:-

SQL> SELECT component_status

FROM fnd_svc_components

WHERE component_name = 'Workflow Notification Mailer';

 


Find out the session stuck with 'FND_SVC_COMPONENTS' component

SQL> SELECT

    l.session_id AS blocking_session,

    s.username,

    s.osuser,

    s.program,

    s.status,

    s.last_call_et AS seconds_in_wait

FROM v$locked_object l

JOIN v$session s ON l.session_id = s.sid

WHERE l.object_id in (SELECT object_id FROM all_objects WHERE object_name = 'FND_SVC_COMPONENTS');

 


Kill the Session

If the query above returns a row, you need to "kill" that session to release the lock. Replace SID and SERIAL# with the values found from the query:

SQL> Alter system kill session ‘sid , serial#’ immediate;


Update the fnd_svc_components table forcefully as stopped.

SQL> UPDATE fnd_svc_components

SET component_status = 'STOPPED'

WHERE component_name = 'Workflow Notification Mailer';


Reset the main component status

SQL>UPDATE fnd_svc_comp_requests

SET component_status = 'STOPPED'

WHERE component_id = (SELECT component_id FROM fnd_svc_components WHERE component_name = 'Workflow Notification Mailer');

SQL> COMMIT;



Also, you must check the OS level. If there is a "zombie" process, the Mailer will never start correctly even after the SQL update.

ps -ef | grep FNDCPGSC

If a process exists, use kill -9 <PID>.

 


Once above steps are done, try to Workflow notification mailer. It should get started.

Dealing with the "Stuck" Workflow Mailer in EBS 12.2: A Practical Guide

  We’ve all been there. You just finished a fresh clone from Production to Test. The post-clone steps are done, the services are coming up, ...