A Guide For Troubleshooting Workflow Notification Emails - Inbound and Outbound [ID 831982.1]

本文档提供了一步一步的故障排除技术,适用于 Oracle Workflow 的发送和接收邮件通知问题。涵盖检查通知状态、验证邮件配置、运行诊断脚本等内容。




A Guide For Troubleshooting Workflow Notification Emails - Inbound and Outbound [ID 831982.1] 


--------------------------------------------------------------------------------
 
  修改时间 28-FEB-2012     类型 TROUBLESHOOTING     状态 PUBLISHED   


In this Document
  Purpose
  Last Review Date
  Instructions for the Reader
  Troubleshooting Details
     Workflow Information Center, Diagnostics, & Community
  References






--------------------------------------------------------------------------------






Applies to: 
Oracle Workflow Cartridge - Version: 11.5.9 to 12.0.6 - Release: 11.5 to 12
Information in this document applies to any platform.
E-Business Suite 11.5.9,11.5.10, R12, Workflow
Checked for relevance on 01-FEB-2012 
Purpose
The purpose of this document is to provide step by step troubleshooting techniques on Workflow Notification Inbound and Outbound Emails. This can also be used as a guide by the Workflow Administrators to troubleshoot any inbound/outbound notification email issues.


Last Review Date
April 3, 2010 
Instructions for the Reader
A Troubleshooting Guide is provided to assist in debugging a specific issue. When possible, diagnostic tools are included in the document to assist in troubleshooting.
Troubleshooting Details
I. Oubound Notification Emails: 


1. Check if the notification is present in the recipient/user's Worklist/Notifications page.If it does not exist 
    then it means that notification itself is not created and need to check the corresponding workflow 
    status.You may also query the notification from the wf_notifications table 


SQL> select recipient_role,notification_id,status,mail_status from wf_notifications where recipient_role like '&user_name';    The e-mail notification is sent only if all of following are true. 
               --Notification status is OPEN or CANCELED 
               --Notification mail_status is MAIL or INVALID 




2. Check Recipient role has a valid e-mail address and notification preference MAIL% 


SELECT email_address, nvl(WF_PREF.get_pref(name, 'MAILTYPE'), notification_preference) 
FROM wf_roles 
WHERE name = '&recipient_role';   Recipient can receive email notification only if 


        -- notification preference is not set 'QUERY' / 'DISABLED' / 'SUMMARY' / 'SUMHTML'      &


        -- recipient has valid email address


3. Check and ensure that the following Workflow Service Components are up and running. 


        Workflow Deferred Agent Listener 
        Workflow Deferred Notification Agent Listener 
        Notification Mailer


         -- If the Notification Mailer is not running,  refer to the following note to troubleshoot the mailer 
               Document 242941.1 -- How To Troubleshoot Java-based Workflow Notification Mailer 


4. The  message makes two stops before it is sent as e-mail. 




Send Event Raised -> Enqueued to WF_DEFERRED Queue --> Processed by Deferred Agent Listener -->  
Enqueued to WF_NOTIFICATION_OUT Queue --> Processed by Notification Mailer and sent as e-mail;
5. If an error occurs during dispatch of oracle.apps.wf.notification.send, the message is enqueued to 
    WF_ERROR queue. The Error Agent Listener dispatches the ERROR subscription for 
    oracle.apps.wf.notification.send that executes WF_XML.Error_Rule. 
    Check the Sysadmin user Notifications/Worklist for error notifications to find the cause.


6. Run $FND_TOP/sql/wfmlrdbg.sql for notification id and check the status of the message in 
    WF_DEFERRED and WF_NOTIFICATION_OUT queue. 
    --PROCESSED in WF_DEFERRED - The message is enqueued to WF_NOTIFICATION_OUT 
    --PROCESSED in WF_NOTIFICATION_OUT - The message is sent as e-mail 
    --READY in WF_DEFERRED - Check if Deferred Agent Listener is running 
    --READY in WF_NOTIFICATION_OUT - Check if Notification Mailer is running 


7.. Check for the volumes on the following queues


    WF_DEFERRED
    WF_NOTIFICATION_OUT


[SQL> select NVL(substr(wfe.corrid,1,50),'NULL - No Value') corrid, decode(wfe.state,0,'0 = Ready',1,'1 = Delayed',2,'2 =  Retained', 
3,'3 =    
Exception',to_char(substr(wfe.state,1,12))) State,
count(*) COUNT 
from applsys.wf_deferred wfe group by wfe.corrid, wfe.state;][SQL> select NVL(substr(wfe.corrid,1,50),'NULL - No Value') corrid, decode(wfe.state,0,'0 = Ready',1,'1 = Delayed',2,'2 =  Retained',
3,'3 =    
Exception',to_char(substr(wfe.state,1,12))) State, 
count(*)COUNT 
from applsys.wf_notification_out wfe group by wfe.corrid, wfe.state;]
 8. If the Message events are not moving out from the wf_notification_out queue , check the notification 
     mailer outbound thread count and ensure that it is >=1


9. Check the Mailer parameter Test address, if Test address  is set to any email address note that all the 
    outbound notification emails are sent to the Test address only.


10. Ensure that Global Preferences -->  Notification Style is set to one of the following values as desired.


       HTML Mail
       HTML mail with attachments
       Plain text mail 
       Plain text mail with attachments
    Navigation: Connect to Applications as Sysadmin user and select responsibility Workflow 
                      Administrator  Web Applications --> Administration --> Global  Preferences


11. Troubleshooting framework based notifications


    a. Identify the notification as Fwk based, run $FND_TOP/sql/wfmlrdbg.sql for the notification_id and 
        check the column Fwk Content value and if it 'Y' then it is Fwk based notification. 
    b. Follow Document 339718.1 and ensure that mailer setup and system profiles are set
        correctly.
12. Basic steps to try in solving the outbound email issues, 


    a. Stop Notification Mailer, rebuild Mailer Queue using $FND_TOP/patch/115/sql/wfntfqup.sql. This 
        will recreate WF_NOTIFICATION_OUT with new messages that are eligible to be e-mailed. 
    b. Bounce Workflow Mailer service. 
 


II Inbound/Response Emails


1. Enable the Mailer inbound processing by setting the mailer parameter Inbound thread count=1 and 
    ensure that Notification mailer is up and running.


2. From the mail client check the mailer imap account inbox to see if the response email has arrived and is  
     in the unread status.


     NOTE: Mailer will only read/process the unread emails.


3. Workflow Notification Mailer process the valid  response e-mail from IMAP inbox and   then  parses  
    the content using NID string in the response e-mail and enqueues the event 
    oracle.apps.wf.notification.receive to WF_NOTIFICATION_IN and moves the message to Process 
    folder.


4. If a valid  response email is moved to Discard folder, check if the same IMAP account details are shared 
    by the multiple notification mailers from the different instance.


     NOTE: It's recommended to use a dedicated IMAP account with each mailer.


5.  Workflow Inbound Notifications Agent Listener listens to WF_NOTIFICATION_IN agent. 


6. The message makes one stop before making it to the Notification Activity. 




IMAP Inbox -> Mailer builds XML with response attributes and enqueued to WF_NOTIFICATION_IN Queue --> Workflow Inbound Notifications Agent Listener consumes the messages and apply the response to the notification activity by running the subscription.
7. Run $FND_TOP/sql/wfmlrdbg.sql for notification id and check the status of the message in 
    WF_NOTIFICATION_IN queue. 


8. If there is an error during response event processing the message is enqueued to WF_ERROR queue


9. If there is an exception/error while applying the response,  the Inbound Agent Listener sets the 
    mail_status of the notification to INVALID and sends the INVALID response e-mail sent to the 
    responder. 


Best Practices/tips:


1. Set the mailer parameter 'Processor Close on Read Timeout' to 'Y' i.e., select the checkbox for it.


2. Set the mailer parameter 'Expunge Inbox on Close' to 'Y' i..e., select the check-box for it.


3.  Do not leave the mailer parameter 'NodeName' to default value i.e., WFMAIL but change it to a value as relevant for the instance type or name.  Pre-11.5.10.2, the NodeName must be WFMAIL.








NOTE: If the above troubleshooting did not resolve the problem and an SR needs to be created, please follow the following steps and upload the data to the SR:




1. Please follow Note 275379.1 (Script To Check What Workflow Related Patches and run to check installed patches) run and upload results to the SR.


2. Please enable STATEMENT level logging:




a. From Self Service > Select "Workflow Manager" under "Oracle Applications Manager" > Click "Notification Mailers" > Service Components (Service Components: <SID>) > select Workflow Notification Mailer >
b. Click on Edit button > Advanced
c. Click on next until you are in the Details section (Step 2 of 8) > Change the log level field from Error To statement>
d. Click on Next all the way to "Step 4 of 8" and click Finish button.




3. Restart the Workflow Mailer and Agent Listener services






a. From Self Service > Select "Workflow Manager" under "Oracle Applications Manager" > Click "Notification Mailers" > Service Components (Service Components: <SID>) >
b. Click "Workflow Mailer Service" under "Container" Column.
e. From "Service Instances for Generic Service Component Container:<SID>"page, click "Pull Down" button from the Start All/ Stop All.
f . Select Stop All > Go.
g. Wait for the Services to read Actual 0 Target 0 and Deactivated.
h. Run the following SQL to make sure service are stopped:




SELECT component_name, component_status, component_status_info
FROM fnd_svc_components_v
WHERE component_name like 'Workflow%';
i. Restart the mailer services using the "Start All" button.
j. Run scripted again from step "h." to see Services are RUNNING.








4. To test the state of Java Mailer, please run Java Mailer FYI test and provide the Notification ID (NID) to step 5.




a. Please log in to OAM
b. Select Workflow Manager from "Navigate to" LOV and click "GO"
b.1 Please run the following sql to make sure the user has a valid email address and the preference is enabled to receive notification.




select name, notification_preference, email_address
from WF_ROLES
where name = upper('<UserName>');


b.2. If there is no valid email address, please assign email address from sysadmin > Security > User > Define form for the user and save. Also if the value for notification preference is disable, please enable that from the Self Service Preferences page by selecting HTML Mail with Attachment (MAILHTML).


c. Click "Notification Mailers"
d. Click "View Details"
e. Click "Test Mailer"
f. Search "Recipient Role" and click "Go" then "Accept".
g. Click "Send Test Message"
h. One will get conformation Notification ID (NID) and provide that for the next step.
i. Please run the following sql to locate the new NIDs which will have one NID with "Message_Name = PLSQL_MSG" and Second with "Message_Name = OAFWK_MSG".




select *
from wf_notifications
order by 1 desc;


5. Please provide the output of the $FND_TOP/sql/wfmlrdbg.sql.




Example:
$ sqlplus apps/<Apps Password> @$FND_TOP/sql/wfmlrdbg.sql <NID1> <NID2> <NIDn>;
$ sqlplus apps/apps @$FND_TOP/sql/wfmlrdbg.sql 942537 942536 942535;


6. Upload Fresh log file from $APPLCSF/$APPLLOG/FNDCPGSC*.txt i.e. the log file for the Active process for Workflow Mailer Service and Agent Listener services.


To retrieve the last 2 log files for Workflow Mailer and Agent Listener services, run the following command:




ls -lt $APPLCSF/$APPLLOG/FNDCPGSC*.txt


7. Is the Instance in a Load Balancing Environment? If that is the case, then please check whether "WF Workflow Mailer Framework Web Agent and Application Framework Agent" Profile options are set correctly.






a. "WF: Workflow Mailer Framework Web Agent" [WF_MAIL_WEB_AGENT] profile option is set to a physical Web Server host address (non-load balanced). The key here is if this profile option is not set, notification mailers will use the Web agent specified in the Application Framework Agent profile option (APPS_FRAMEWORK_AGENT) instead.


b. "Application Framework Agent profile option (APPS_FRAMEWORK_AGENT)" is set to a virtual or load balancing URL like BigIP.


Note: If the profile options are not set properly, Notifications with framework regions such as REQAPPRV, FYI Notification with framework region ("Message_Name = OAFWK_MSG"), etc. will be affected. However, other notifications with no framework regions like FYI Notifications ("Message_Name = PLSQL_MSG"), POAPPROV will not be affected.


One can check whether the affected notification has a Framework Region by running the following sql:




SELECT notification_id, message_type, message_name,
wf_notification.isFwkRegion(notification_id) FWK
FROM wf_notifications
WHERE notification_id IN (<NID>,<NID>,<NID>);


Reference:
NOTE 332152.1 - (OWF H Diagnostics, Solutions and Information)




8. Please download and run œR12 Java Mailer Setup Diagnostic Test from Note 748421.1 (Oracle Workflow ATG Support: R12 Java Mailer Setup Diagnostic Test).




a. Create folder, download and unzip "ATGSuppJavaMailerSetup12.zip".
Example:


$ cd $APPL_TOP
$ mkdir ATG
$ unzip ATGSuppJavaMailerSetup12.zip
$ pwd /d01/vis115102/visappl/ATG
$ ls -l
-rw-r--r-- 1 vis11510 dba 64672 May 3 2010 ATGSuppJavaMailerSetup12.sh
-rw------- 1 vis11510 dba 129356 Jan 30 16:19 ATGSuppJavaMailerSetup12.zip
-rw-r--r-- 1 vis11510 dba 9356 May 3 2010 atg_supp_wf_email_notifications.sql
-rw-r--r-- 1 vis11510 dba 468257 Jan 1 2002 sdf_core2.txt


b. Run the following SQL to collect necessary info before executing œATGSuppJavaMailerSetup12.sh. The SQL will collect all the info required to run the script except IMAP account password.




select p.parameter_id,
p.parameter_name,
v.parameter_value value
from fnd_svc_comp_param_vals_v v,
fnd_svc_comp_params_b p,
fnd_svc_components c
where c.component_type = 'WF_MAILER'
and v.component_id = c.component_id
and v.parameter_id = p.parameter_id
and p.parameter_name in ('OUTBOUND_SERVER', 'INBOUND_SERVER',
'ACCOUNT', 'FROM', 'NODENAME', 'REPLYTO','DISCARD' ,'PROCESS','INBOX')
order by p.parameter_name;
c. Run œATGSuppJavaMailerSetup12.sh" per the steps from Note 748421.1.




 


Workflow Information Center, Diagnostics, & Community


•Please reference the Workflow Product Information Center Document for Top Workflow Resources: Document 1320509.1
•For additional help, please refer to one of the following documents on diagnostics to address current needs. Providing diagnostic output on an issue for support when logging a service request is very helpful.


Document 179661.1 for 11i or Document 421245.1 for Rel 12.x


•Visit the Core Workflow community for help with industry experts or to share knowledge.




•Please see Document 1186338.1 for recorded Workflow Webcasts.






References
NOTE:242941.1 - How To Troubleshoot Java-based Workflow Notification Mailer
NOTE:274764.1 - 11i : Oracle Workflow Cartridge Workflow Java Mailer Setup Test
NOTE:339718.1 - Java Notification Mailer Fails to Send Email Notifications with Framework Regions
NOTE:741352.1 - Unable to Connect to Mail Store in Workflow Notification Mailer Logs
NOTE:748421.1 - Oracle Workflow ATG Support: R12 Java Mailer Setup Diagnostic Test


 相关内容






--------------------------------------------------------------------------------
产品 
--------------------------------------------------------------------------------


•Oracle E-Business Suite > Applications Technology > Integration > Oracle Workflow Cartridge 
关键字 
--------------------------------------------------------------------------------
E-MAIL NOTIFICATION; INBOUND; NOTIFICATION; NOTIFICATION EMAIL; NOTIFICATION PREFERENCE; PREFERENCE; WF_DEFERRED; WF_NOTIFICATIONS; WF_NOTIFICATION_OUT 




 


返回页首


Copyright (c) 2007, 2010, Oracle. All rights reserved. Legal Notices and Terms of Use | Privacy Statement  为此文档评级    文章评级 为此文档评级 
优 
良 
差 
 
本文档是否对您有所帮助? 
是 
否 
仅浏览 
 
您觉得本文档的难易程度如何? 
非常简单 
有些简单 
不简单 
  注释提供此文章的反馈。如有其他反馈, 请使用 '与我们联系'。 重要说明: 在由 Oracle 技术支持处理之前, 其他客户可以按匿名方式查看此反馈。
 
 
取消   
 
<think>我们面临的问题是使用aptss安装wps-office_11.1.0.11720-fix2_arm64.deb包时出现了一系列错误,包括: 1. `malloc(): invalid size (unsorted)` 2. dpkg-deb解压错误 3. dpkg处理归档错误 4. 子进程返回错误代码1 这些错误通常与内存损坏、软件包损坏、依赖问题或系统环境不兼容有关。下面将逐步提供解决方案。 ### 步骤1: 验证软件包完整性 首先,检查下载的deb包是否完整。使用`sha256sum`(或其他校验和工具)对比官方提供的哈希值(如果有的话)。如果没有官方哈希值,可以尝试重新下载包。 ```bash # 计算当包的SHA256哈希值 sha256sum wps-office_11.1.0.11720-fix2_arm64.deb # 对比官方提供的哈希值(如果官方提供了的话) ``` 如果哈希值不匹配,说明包在下载过程中损坏,需要重新下载。 ### 步骤2: 检查系统架构 确保你的系统是arm64架构(aarch64)。运行以下命令: ```bash uname -m ``` 如果输出不是`aarch64`,则表示你尝试安装的包与系统架构不兼容。注意:x86_64的系统不能安装arm64的包。 ### 步骤3: 解决依赖问题 在安装deb包之,确保系统满足所有依赖。使用`dpkg`检查依赖: ```bash # 查看该包的依赖 dpkg -I wps-office_11.1.0.11720-fix2_arm64.deb | grep "Depends" ``` 然后,安装这些依赖。例如,如果输出为: ``` Depends: libc6 (>= 2.29), libgcc1 (>= 1:3.0), ... ``` 则运行: ```bash sudo apt update sudo apt install -f # 修复可能的依赖断裂 sudo apt install libc6 libgcc1 ... # 安装具体依赖 ``` ### 步骤4: 尝试手动安装 使用`dpkg`命令手动安装deb包,并捕获详细的错误信息: ```bash sudo dpkg -i --debug=2 wps-office_11.1.0.11720-fix2_arm64.deb 2> install.log ``` 如果安装失败,检查`install.log`文件中的详细错误。常见的错误原因包括: - **磁盘空间不足**:运行`df -h`检查磁盘使用情况。 - **内存不足**:在安装过程中,如果系统内存不足,可能导致`malloc`错误。尝试关闭其他程序释放内存,或增加交换空间: ```bash sudo fallocate -l 2G /swapfile # 创建2G的交换文件 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile ``` 安装完成后,可以关闭交换文件:`sudo swapoff /swapfile` 并删除 `/swapfile`。 ### 步骤5: 使用gdebi自动处理依赖 `gdebi`可以自动安装deb包的依赖,比直接使用`dpkg`更便捷: ```bash # 如果没有安装gdebi,先安装 sudo apt install gdebi-core sudo gdebi wps-office_11.1.0.11720-fix2_arm64.deb ``` ### 步骤6: 修复损坏的包或系统配置 如果上述步骤无效,可能是由于dpkg或系统配置损坏。尝试修复: ```bash sudo dpkg --configure -a # 配置所有未完成的安装 sudo apt clean # 清理下载的包缓存 sudo apt update sudo apt install -f # 修复依赖断裂 ``` ### 步骤7: 检查GLIBC版本 `malloc(): invalid size (unsorted)`错误可能与glibc的内存分配问题有关。检查系统中glibc的版本: ```bash ldd --version ``` 如果glibc版本过低或过高,可能与软件包不兼容。注意:引用[1]中提到部分glibc版本(如2.35)可能有问题,而2.32版本可行。如果当系统glibc版本不兼容,可能需要: - 升级/降级glibc(风险高,不推荐) - 在兼容的环境中安装(如使用容器) ### 步骤8: 使用容器或虚拟机 如果所有方法都失败,考虑在容器(如Docker)或虚拟机中安装兼容的系统环境(如Ubuntu 20.04,其glibc版本为2.31),然后安装wps。 ### 总结 以上步骤应能解决安装wps-office时遇到的错误。主要从软件包完整性、系统架构、依赖、资源限制和系统环境等方面进行排查。如果问题仍然存在,请提供`install.log`文件内容以便进一步分析。 §§相关问题§§ 1. 如何解决安装其他软件包时出现的`malloc(): invalid size`错误? 2. 在Linux中修复dpkg依赖断裂的常用方法有哪些? 3. 如何安全地升级或降级系统的glibc版本? </think>### 解决WPS Office安装错误的完整指南 以下是针对您使用`aptss`安装WPS Office时遇到的多重错误的系统解决方法: #### 1. **验证软件包完整性** - **问题原因**:`malloc(): invalid size`错误通常源于软件包损坏或内存分配异常 - **解决方法**: ```bash # 下载官方校验工具(选择匹配架构) wget https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2019/11720/wps-office_11.1.0.11720-fix2_arm64.md5 # 验证软件包完整性 md5sum -c wps-office_11.1.0.11720-fix2_arm64.md5 < wps-office_11.1.0.11720-fix2_arm64.deb ``` - 若校验失败,重新下载软件包(引用[^1]提到特定版本的兼容性问题) #### 2. **修复dpkg解压错误** - **问题原因**:`dpkg-deb`错误常由依赖缺失或文件系统问题引起 - **解决方法**: ```bash # 强制修复依赖链 sudo apt --fix-broken install sudo dpkg --configure -a # 清理缓存并更新 sudo apt clean sudo apt update # 手动解压验证 ar x wps-office_11.1.0.11720-fix2_arm64.deb tar -xvf data.tar.xz # 检查是否报错 ``` #### 3. **解决内存分配错误** - **问题原因**:`malloc(): invalid size`可能与glibc版本冲突有关 - **解决方法**: ```bash # 安装兼容的调试库(参考引用[^1]) wget http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc6-dbg_2.32-0ubuntu3_arm64.deb sudo dpkg -i libc6-dbg_2.32-0ubuntu3_arm64.deb # 设置临时环境变量 export MALLOC_CHECK_=0 ``` #### 4. **手动安装WPS Office** ```bash # 创建临时安装目录 mkdir wps-install && cd wps-install # 解压deb包 ar x ../wps-office_11.1.0.11720-fix2_arm64.deb tar -xvf data.tar.xz # 手动复制文件 sudo cp -r usr/* /usr/ sudo cp -r opt/* /opt/ # 更新桌面数据库 sudo update-desktop-database ``` #### 5. **验证安装** ```bash # 检查依赖满足情况 ldd /opt/kingsoft/wps-office/office6/wps # 尝试启动WPS /opt/kingsoft/wps-office/wps ``` #### 备选方案:容器化安装 ```bash # 创建隔离环境(需安装docker) docker run -it --rm ubuntu:20.04 # 容器内操作 apt update apt install ./wps-office_11.1.0.11720-fix2_arm64.deb ``` ### 关键要点 1. 优先验证软件包完整性和系统架构匹配(ARM64) 2. 引用[^1]显示glibc 2.35版本存在问题,需降级到2.32 3. 手动安装可绕过dpkg机制限制 4. 内存错误可通过`MALLOC_CHECK_=0`环境变量临时抑制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值