bvstone

V7R2 QtmmSendMail API Issue with Error Number (errno) 3452 (Too many files open for this process)

Posted:

V7R2 QtmmSendMail API Issue with Error Number (errno) 3452 (Too many files open for this process)

I recently was helping a customer with an issue they were having with one of our products to convert spooled files to PDF (AFPTOOL).

After a few calls, they would get error returned from the tool.  The actual error in the job log was:

Unable to open output PDF file. 0000003452                         
Error during TIFF to PDF conversion step.

Error Number (errno) 3452 means "Too many files open for this process."  That means that there is something that isn't closing file descriptors properly.

This customer also was doing some home grown IFS file work and we thought it was possible there was an issue there.  But in debugging we found the file descriptors returned from the open() API were not consistent.  After a call to the QtmmSendMail API then next open would result in a file descriptor of one higher than was expected.

So it went something like this:

fd = open(file); //fd = 3
sendEmail(); //This calls the QtmmSendMail API
rc = close(fd); //rc = 0
fd = open(myNextFile); //fd = 4... this should be 3!!!

After a few spooled file conversions and sending of emails, we would eventually hit the errno 3452.  Not caused by our software, but reported by our software.  It turns out the QtmmSendMail API was the culprit.

A quick search and this APAR was found:

http://www-01.ibm.com/support/docview.wss?uid=nas2a236805efbc82aaa86257eaf003c6f35

So again, if you're on V7R2 and have any applications that use the QtmmSendMail API, please make sure you have this PTF installed.

And also remember that if you're a MAILTOOL user and you are specifying SENDWITH(*MAILTOOL) you are using MAILTOOL Plus and this will not apply.  This is because MAILTOOL Plus will totally bypass the IBM SMTP/MSF system using our own SMTP process for delivery.

This will only apply to any of our MAILTOOL customers if you are specifying SENDWITH(*IBMSMTP) which passes the email off to the IBM SMTP/MSF system for delivery, as well as other users that have home grown or 3rd party applications using the QtmmSendMail API.

 




Latest Posts:

MAILTOOL Updated to Allow Use of IBM Global Security Kit (GSKIT) for SSL/TLS Communications MAILTOOL Updated to Allow Use of IBM Global Security Kit (GSKIT) for SSL/TLS Communications
Posted by 13 hours ago
BVSTools >> BVSTools Announcements >> eMail Tool (MAILTOOL) Specific Announcements
GETURI v10.00 Released Supporting IBM Global Security Kit (GSKIT) and Server Name Indication (SNI) GETURI v10.00 Released Supporting IBM Global Security Kit (GSKIT) and Server Name Indication (SNI)
Posted by June 11, 2019
BVSTools >> BVSTools Announcements >> Get URI (GETURI) Specific Announcements
BVSTools Now Offers Vertex Cloud Interface BVSTools Now Offers Vertex Cloud Interface
Posted by April 15, 2019
BVSTools >> BVSTools Announcements
Token Has an Invalid Signature Error for Office 365 Email Token Has an Invalid Signature Error for Office 365 Email
Posted by March 22, 2019
BVSTools >> BVSTools Software Discussion >> GreenTools for Microsoft Apps (G4MS) Specific Discussion
Resending Emails that have Errored Out with Updated Router or Authentication Information Resending Emails that have Errored Out with Updated Router or Authentication Information
Posted by March 1, 2019
BVSTools >> BVSTools Software Discussion >> Email Tools (MAILTOOL) Specific Discussion
BVSTools Offers Toolset to Work With HubSpot OAuth 2.0 APIs On Your IBM i BVSTools Offers Toolset to Work With HubSpot OAuth 2.0 APIs On Your IBM i
Posted by January 27, 2019
BVSTools >> BVSTools Announcements
G4MSDRV Currently Not Supported G4MSDRV Currently Not Supported
Posted by January 17, 2019
BVSTools >> BVSTools Announcements >> GreenTools for Microsoft Apps (G4MS) Specific Announcements
Removing Trailing Carriage Returns and/or Line Feeds from a String with RPG Removing Trailing Carriage Returns and/or Line Feeds from a String with RPG
Posted by December 26, 2018
Programming >> RPG Programming
Create QRCODE in DDS Create QRCODE in DDS
Posted by September 21, 2018
Programming >> RPG Programming
Base64 Encoding a File with RPG Base64 Encoding a File with RPG
Posted by September 6, 2018
Programming >> RPG Programming
Building JSON with RPG and YAJL and Writing to Standard Output Building JSON with RPG and YAJL and Writing to Standard Output
Posted by August 31, 2018
Programming >> Proof of Concept (POC)
How to Delete Files or Empty Trash From Your Google Drive with your IBM i and RPG/ILE How to Delete Files or Empty Trash From Your Google Drive with your IBM i and RPG/ILE
Posted by July 24, 2018
BVSTools >> BVSTools Software Discussion >> GreenTools for G Suite (Google Apps) (G4G) Specific Discussion
GreenTools for G Suite (G4G) Updated to Include Delete and Empty Trash Function GreenTools for G Suite (G4G) Updated to Include Delete and Empty Trash Function
Posted by July 24, 2018
BVSTools >> BVSTools Announcements >> GreenTools for G Suite (Google Apps) (G4G) Specific Announcements
What to Do If Your License Keys Don't Work What to Do If Your License Keys Don't Work
Posted by July 18, 2018
BVSTools >> BVSTools Software Discussion
MAILTOOL Updated to Allow Failed Message on Invalid Recipient MAILTOOL Updated to Allow Failed Message on Invalid Recipient
Posted by May 20, 2018
BVSTools >> BVSTools Announcements >> eMail Tool (MAILTOOL) Specific Announcements

Reply




Copyright 1983-2019 BVSTools
GreenBoard(v3) Powered by the eRPG SDK, MAILTOOL Plus!, GreenTools for Google Apps, jQuery, jQuery UI, BlockUI, CKEditor and running on the IBM i (AKA AS/400, iSeries, System i).