Skip to main content
New Participant
July 10, 2025
Answered

CF2021 CFMAIL Error after update 21

  • July 10, 2025
  • 4 replies
  • 3633 views

Trying to wrap my head around this new error I have popping up trying to send an email. This seems to have worked through update 19. I cannot speak for Update 20 because we updated to 20 and then 21 within a few days of each other. I am running the latest approved JVM 11.0.27 from Adobe's site, on Server 2019. 

 

Below is the error I am seeing when I try to send. The page does not end up doing a redirect, but hangs after submit.  Running out of ideas for how to resolve, I have followed another Adobe post but that didn't work either so I reverted back to the old bouncy castle: Solved: CFMAIL Stopped Working After CF2018 Update 14 - Adobe Product Community - 13035484

Any suggestions would be welcome, thanks!


Jul 10, 2025 12:21:07 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [CfmServlet] in context with path [] threw exception [Servlet execution threw an exception] with root cause
java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
coldfusion/mail/MailImpl.signMail(Ljavax/mail/internet/MimeMessage;Ljavax/mail/Session;)Ljavax/mail/internet/MimeMessage; @238: invokevirtual
Reason:
Type 'org/bouncycastle/asn1/smime/SMIMEEncryptionKeyPreferenceAttribute' (current frame, stack[1]) is not assignable to 'org/bouncycastle/asn1/ASN1Encodable'
Current Frame:
bci: @238
flags: { }
locals: { 'coldfusion/mail/MailImpl', 'javax/mail/internet/MimeMessage', 'javax/mail/Session', 'java/security/KeyStore', '[Ljava/security/cert/Certificate;', 'java/security/PrivateKey', 'org/bouncycastle/asn1/ASN1EncodableVector', 'java/security/cert/X509Certificate', 'java/lang/String', 'org/bouncycastle/asn1/cms/IssuerAndSerialNumber' }
stack: { 'org/bouncycastle/asn1/ASN1EncodableVector', 'org/bouncycastle/asn1/smime/SMIMEEncryptionKeyPreferenceAttribute' }
Bytecode:
0000000: 2ab4 0028 c600 212a b400 28b6 009e b600
0000010: 5e99 0014 bb00 e159 2ab4 0028 b700 e2b6
0000020: 00e3 9a00 0fbb 00e4 592a b400 28b7 00e5
0000030: bf2a b400 2bc7 000b 2a2a b400 2ab5 002b
0000040: 2a2a b400 282a b400 2ab7 00e6 4e2a b400
0000050: 29c6 0010 2ab4 0029 b600 9eb6 005e 9a00
0000060: 0c2a 2a2d b700 e7b5 0029 2d2a b400 29b6
0000070: 00e8 3a04 1904 c600 0919 04be 9a00 0fbb
0000080: 00e9 592a b400 29b7 00ea bf2d 2ab4 0029
0000090: 2ab4 002b b600 ebb6 00ec c000 ed3a 05a7
00000a0: 000f 3a06 bb00 ef59 1906 b700 f0bf bb00
00000b0: f159 b700 f23a 0619 0403 32c0 00de 3a07
00000c0: 1907 b600 f3b9 00f4 0100 3a08 bb00 f559
00000d0: bb00 f659 1908 b700 f719 07b6 00f8 b700
00000e0: f93a 0919 06bb 00fa 5919 09b7 00fb b600
00000f0: fc19 06bb 00fd 59b2 00fe b700 ffb6 00fc
0000100: bb01 0059 b701 013a 0a13 0102 1905 b901
0000110: 0301 00b6 0104 9900 09b2 0105 a700 0613
0000120: 0106 3a0b bb01 0759 b701 0812 b5b6 0109
0000130: bb01 0a59 1906 b701 0bb6 010c 190b 1905
0000140: 1907 b601 0d3a 0c19 0a19 0cb6 010e bb00
0000150: 1959 b700 1a3a 0d19 0d19 0403 32b9 008d
0000160: 0200 5719 0abb 010f 5919 0db7 0110 b601
0000170: 1119 0a2b b601 123a 0ebb 00bd 592c b701
0000180: 133a 0f2b b601 143a 1019 10b9 0115 0100
0000190: 9900 1519 0f19 10b9 0116 0100 c001 17b6
00001a0: 0118 a7ff e719 0f19 0eb6 0099 190f b600
00001b0: a519 0fb0 3a04 1904 bf3a 04bb 0119 5919
00001c0: 04b7 011a bf
Exception Handler Table:
bci [139, 159] => handler: 162
bci [77, 435] => handler: 436
bci [77, 435] => handler: 441
Stackmap Table:
same_frame(@37)
same_frame(@49)
same_frame(@64)
append_frame(@97,Object[#679])
same_frame(@106)
append_frame(@127,Object[#680])
same_frame(@139)
same_locals_1_stack_item_frame(@162,Object[#681])
append_frame(@174,Object[#682])
full_frame(@287,{Object[#455],Object[#603],Object[#606],Object[#679],Object[#680],Object[#682],Object[#683],Object[#652],Object[#453],Object[#684],Object[#685]},{})
same_locals_1_stack_item_frame(@290,Object[#453])
full_frame(@393,{Object[#455],Object[#603],Object[#606],Object[#679],Object[#680],Object[#682],Object[#683],Object[#652],Object[#453],Object[#684],Object[#685],Object[#453],Object[#686],Object[#608],Object[#607],Object[#603],Object[#687]},{})
same_frame(@421)
full_frame(@436,{Object[#455],Object[#603],Object[#606],Object[#679]},{Object[#632]})
same_locals_1_stack_item_frame(@441,Object[#612])

    Correct answer Charlie Arehart

    Yep. See the technote for the technote for update 21. There’s a new “known issue” bullet that was added today, showing that this problem is solved by stopping cf and deleting the felix-cache folder, in cfusion/bin.

     

    (Note that if you're running multiple instances, it would be [instancename]/bin.)

     

    Let us know if it works for you both. 

    4 replies

    New Participant
    July 18, 2025

    Had the same issue.

    Weird things happened for me when I cleared the felix-cache.

    I restarted the service running the instance, and it just hung there until the service restart timed out.  No errors in the coldfusion-error.log, exception.log, or server.log.  About 30 or new bundle folder were created in the felix-cache. And going to the website ended up giving me a 500 error.

     

    All in all, it took four attempts to restart the service before it 'took'. About 160 new bundle folders created all told.

     

    So strange - but it works.  I'd hate to have to do this on my QA or PRD system for all the instances we have running....

    Charlie Arehart
    Community Expert
    July 12, 2025

    Thanks, folks, for the kind regards. Of course, the real thanks goes to those who first announced the resolution in comments on the Adobe forum post here about announcing the update--then to Adobe for adding the pointer in the known issue.

     

    As for what this says in the larger sense about cf and Adobe's stewardship, I'll just say it's a big ship with lots of officers and crew--and corporate bigwigs above them. They don't all know everything that's going on, let alone what each other are doing, to affect the passenger experience. It's doesn't excuse failures. I just mean there are sometimes reasons things can't change until there's full alignment of intent, purpose, action, and accountability.

     

    And I don't sense there's a true captain, instead different people with leadership roles (cruise director, executive chef, head of housekeeping, head of engineering, head of sales, etc), each responsible for their own area but none with absolute authority to command resolution of glaring issues, let alone a commitment to "go down with the ship" before all else fails.

     

    Oh well. There are other cruise lines. 🙂 Or we who choose to ride this ship seemingly must accept that it is what it is, until somehow something changes. Often things do, sometimes things don't. It's never really been clear how to truly effect significant change. It's not even about "who you know". Again, see what I said above. So I help how I can and celebrate little victories (like that technote being updated for this issue). 

    /Charlie (troubleshooter, carehart. org)
    Charlie Arehart
    Charlie ArehartCorrect answer
    Community Expert
    July 11, 2025

    Yep. See the technote for the technote for update 21. There’s a new “known issue” bullet that was added today, showing that this problem is solved by stopping cf and deleting the felix-cache folder, in cfusion/bin.

     

    (Note that if you're running multiple instances, it would be [instancename]/bin.)

     

    Let us know if it works for you both. 

    /Charlie (troubleshooter, carehart. org)
    Inspiring
    July 29, 2025

    We ran into this issue after the patch. Cleared the cache. All better.... or so we thought. After a restart many days later the same isseu happened again. Again clearing the cache fixed it, but a recurring issue is a lot different than a problem that just happens when patching. Now I have to figure out some system to monitor for this issue continuously. 

    Charlie Arehart
    Community Expert
    July 29, 2025

    Matt, I think there's a different solution to this new problem you raise (this seeming need to "clear the felix cache" more often than just after a cf update). And I don't think the solution is for you to "monitor anything", thankfully: we just need to fix the root cause problem. 🙂 And I have an educated guess of what it is. This will take a couple of minutes to read, Please bear with me, as I offer some diagnostics which will help you (and other readers) even if my proposed solution might prove not to work for you.

     

    A key to me is that you said the problem started after a CF restart. My bet is that we'll find that for you EACH CF RESTART is causing package updates (which then leads to that need of clearing the felix-cache). SHOULD CF be updating packages on each CF restart? No. Is there a reason it's happening? Yes, there will be. How can you find and resolve it? Let me give it a shot.

     

    1) First, we'll want to look at the coldfusion-out.log (in the logs folder for the cf instance in question, which is cfusion by default, but if you have more than one instance look for a sibling folder with that name). As you may know, that file tracks many lines of info about each CF restart. 

     

    It ALSO tracks still MORE detail whenever CF updates happen. Specifically, in the first startup AFTER such an update the next restart should show lines indicating "uninstalling the package", naming the ones to be updated, and then for each package also it names then the specific jars for the package being uninstalledat that time. (To be clear, we don't then see any line in the log saying "updating" or "installing".) That should ONLY happen when there have been package updates--whether per a CF update or by manually updating some particular package in the admin or via cfpm.

     

    But before looking at the log, it's important to note also that on EVERY restart, we DO see lines for each package you have installed, indicating that it was started, as in "package xxxxx was started".

     

    I suspect that in your case, you may find that this "uninstalling" of packages is happening on each restart, when it should not. And I have found that when this happens, there's a reason and a solution. More on that in a moment. Let's confirm if things are as I suspect. 

     

    2) So let's now look at that coldfusion-out.log of yours. Go to the bottom and search up for the phrase "coldfusion started". That's shown on each restart, and it's preceded by dozens of lines about CF starting up. Within those, for EACH of your restarts, you will again see many  saying each of your packages was "started".

     

    But do you also see with that last restart lines saying also '"uninstalling the package"? Then if you look at each preceding restart (look for that "coldfusion started"), do you see again "uninstalling the package" lines? You SHOULD see them there for the date you did the cf update (which is tracked in the name and date of the log in the hf-updates folder for that update). And you WOULD see them there if anyone were to update some particular package via the admin or cfpm.

     

    But if you find these "uninstalling the package" lines on EVERY cf restart, that's indeed the problem to resolve.

     

    3) Assuming you confirm that issue, let's next check a couple more things:

    a) look at your CF admin (or the CF Admin for the instance in quesiton, if you have more than one). Go to the "package manager" page, and see its available "settings"  tab offered at the top of that page. In there, what is the value for the "packages url"? And for the "default packages url"?

     

    b) Next, if YOU are the one who does the CF updates, do you do them from within the CF Admin or via the command line?

     

    c) And if you do it from the command line, do you also perform the "manual offline steps" (in the update technote) of downloading and extracting the zip offered there? Where do you extract it to?

     

    Often, what is happening is that someone (in a past update) changed that packagesurl (whether in the CF admin or by editing the neo_updates.xml file, as suggested in the technote).  But if you do a later update and should point to a NEW extracted zip, instead CF thinks it should go back to the OLD one...and you end up with it thinking it needs to update packages, when it shouldn't.  And that happens on each restart. 

     

    Could I have just started with point 3? Sure. But then we'd need to await your answer, and THEN I'd have discussed points 1 and 2. I offer all this to help folks in this situation to know better WHERE to look, in order to diagnose the problem rather than just "pop a pill". Often people are told to do that, or are not given complete info.

     

    (Indeed, I would argue that the technote offers incomplete info--because if one does that manual offline update for one update but later gets CF to be able to talk to the internet, they will do a later update that way...but the CF update mechanism will download the new files and put them into the cf bundles folder...but this pointer to the extracted zip from the earlier update will keep the update mechanism from USING those newly updated bundles files...leading to your error.)

     

    Well, it's one common cause. Again, I didn't want to start with that. I wanted to have you assess the coldfusion-out.log to confirm first if WHAT I suspect is happening shows to be happening (packages being updated on each restart). That's the what and how of your problem. The rest is the why, and at least one suggested reason and its resolution.

     

    If it's not the right what or why, we'll have to dig in a different direction to get you out of this hole you're in. 🙂 We've got shovels at the ready. 

     

    Let us know how the above goes for you.

    /Charlie (troubleshooter, carehart. org)
    New Participant
    July 11, 2025

    I'm having the same issue.  Known good code working with CF2021 Update 20 is not working with CF2021 Update 21.  If I comment out the <cfmail> block in that known good code, it works as expected.  

    I cannot find anything in coldfusion-out.log, exception.log or coldfusion-error.log related to the issue.  The app now returns an HTTP 500 error page to the browser.

    New Participant
    July 11, 2025

    Forgot add I'm running OpenJDK 11.0.24