Webtop recurring error message - Webtop service locks up every few weeks needing a full server restart

Hi all,

Has anyone seen this error or know what it means?

Webtop recurring error message - Webtop service locks up every few weeks needing a server restart as restart of service will not start the service up again.

The email account that this error is reported on is always the same email address. The email address is working fine without any usability issues at all. The email account looks fine from a folder level and is only a small email account with no extra folders. The email account does not sync to any devices and there is no Webtop sharing enabled for this account and other accounts do not share with this account.

2022-07-21 11:36:42 [ERROR] com.sonicle.webtop.mail.Service - Unable to get auto identity foldername [have@removed this email address]
java.lang.Exception: Shared folderName is null [have@removed this email address, null]
at com.sonicle.webtop.mail.Service.loadIdentityMailcard(Service.java:8828)
at com.sonicle.webtop.mail.Service.returnServiceVars(Service.java:8728)
at com.sonicle.webtop.core.app.WebTopSession.getServiceVars(WebTopSession.java:905)
at com.sonicle.webtop.core.app.WebTopSession.fillStartupForService(WebTopSession.java:894)
at com.sonicle.webtop.core.app.WebTopSession.fillStartup(WebTopSession.java:840)
at com.sonicle.webtop.core.app.servlet.UIPrivate.writePrivatePage(UIPrivate.java:228)
at com.sonicle.webtop.core.app.servlet.UIPrivate.processRequest(UIPrivate.java:141)
at com.sonicle.webtop.core.app.AbstractServlet.doGet(AbstractServlet.java:73)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at com.sonicle.webtop.core.app.shiro.filter.GZip.doFilterInternal(GZip.java:60)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at com.sonicle.webtop.core.app.shiro.WTShiroFilter.doFilterInternal(WTShiroFilter.java:89)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:747)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1627)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:750)
2022-07-21 11:38:24 [ERROR] com.sonicle.webtop.mail.Service - Exception
jakarta.mail.MessagingException: BOX9 NO [NOPERM] Permission denied (0.001 + 0.000 secs).
at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:1049)
at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:977)
at com.sonicle.webtop.mail.FolderCache.open(FolderCache.java:1008)
at com.sonicle.webtop.mail.FolderCache._getMessages(FolderCache.java:1632)
at com.sonicle.webtop.mail.FolderCache.refresh(FolderCache.java:791)
at com.sonicle.webtop.mail.FolderCache.getMessages(FolderCache.java:909)
at com.sonicle.webtop.mail.Service$MessageListThread.run(Service.java:6822)
at java.lang.Thread.run(Thread.java:750)
Caused by: com.sun.mail.iap.CommandFailedException: BOX9 NO [NOPERM] Permission denied (0.001 + 0.000 secs).
at com.sun.mail.iap.Protocol.handleResult(Protocol.java:413)
at com.sun.mail.imap.protocol.IMAPProtocol.examine(IMAPProtocol.java:1283)
at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:1032)
… 7 common frames omitted
2022-07-21 11:38:25 [ERROR] com.sonicle.webtop.mail.Service - Exception
jakarta.mail.MessagingException: BOX16 NO [NOPERM] Permission denied (0.001 + 0.000 secs).
at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:1049)
at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:977)
at com.sonicle.webtop.mail.FolderCache.open(FolderCache.java:1008)
at com.sonicle.webtop.mail.FolderCache._getMessages(FolderCache.java:1632)
at com.sonicle.webtop.mail.FolderCache.refresh(FolderCache.java:791)
at com.sonicle.webtop.mail.FolderCache.getMessages(FolderCache.java:909)
at com.sonicle.webtop.mail.Service$MessageListThread.run(Service.java:6822)
at java.lang.Thread.run(Thread.java:750)
Caused by: com.sun.mail.iap.CommandFailedException: BOX16 NO [NOPERM] Permission denied (0.001 + 0.000 secs).
at com.sun.mail.iap.Protocol.handleResult(Protocol.java:413)
at com.sun.mail.imap.protocol.IMAPProtocol.examine(IMAPProtocol.java:1283)
at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:1032)
… 7 common frames omitted
2022-07-21 11:38:39 [ERROR] com.sonicle.webtop.mail.JobService - Exception
jakarta.mail.SendFailedException: No recipient addresses
at jakarta.mail.Transport.send0(Transport.java:186)
at jakarta.mail.Transport.send(Transport.java:100)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.sendScheduledMessage(JobService.java:319)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.sendScheduledMails(JobService.java:207)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.executeWork(JobService.java:173)
at com.sonicle.webtop.core.sdk.BaseJobServiceTask.execute(BaseJobServiceTask.java:76)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
2022-07-21 11:40:39 [ERROR] com.sonicle.webtop.mail.JobService - Exception
jakarta.mail.SendFailedException: No recipient addresses
at jakarta.mail.Transport.send0(Transport.java:186)
at jakarta.mail.Transport.send(Transport.java:100)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.sendScheduledMessage(JobService.java:319)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.sendScheduledMails(JobService.java:207)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.executeWork(JobService.java:173)
at com.sonicle.webtop.core.sdk.BaseJobServiceTask.execute(BaseJobServiceTask.java:76)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
2022-07-21 11:42:39 [ERROR] com.sonicle.webtop.mail.JobService - Exception
jakarta.mail.SendFailedException: No recipient addresses
at jakarta.mail.Transport.send0(Transport.java:186)
at jakarta.mail.Transport.send(Transport.java:100)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.sendScheduledMessage(JobService.java:319)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.sendScheduledMails(JobService.java:207)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.executeWork(JobService.java:173)
at com.sonicle.webtop.core.sdk.BaseJobServiceTask.execute(BaseJobServiceTask.java:76)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)

None has any ideas?

Summer holidays are already started, but let’s try to ask @gabriele_bulfon @lucag @matteo.albinola.

:crossed_fingers:

If they will be fast as this, not worth holding the breath.

Please Pike, it is not necessary to be sarcastic.

For this error, it seems a problem with some identities auto-shared. @markareait can you check if identities that you should see there are ok?

It seems something is missing / some old references.

It is necessary not having a meaningful answer for close to five years? Sorry, about the implementations i have 49 reasons to be skeptical. The months I and other people who might like that waiting…

Thanks Federico, Michael and Giacomo,

There is nothing there as expected as there is no shares (see below) -

I might do the following process over the weekend and report back, what to you think?

  1. Create a new temp account in Neth/Webtop
  2. Complete an imap import from affected email address to the temp email address
  3. Delete the affected user account in Neth/Webtop
  4. Complete a DB clean in the Webtop admin account
  5. Check if Webtop errors have stopped
  6. Recreate the user in Neth/Webtop
  7. Complete an imap import from the temp account to the newly recreated email address
  8. Delete the temp account in Neth/Webtop
  9. Check if the Webtop errors are still not present
  10. Report back on this post the findings
1 Like

This error fires only with one account?

Hi Federico,

I think you asked this question.

Does this error only happen with one account?

Yes, only the one email account.

Hi Mark,
this sounds really strange… if you have time you can try with the procedure you suggested.
I think there is something dirty in the DB.

Before proceed you can check if there is something wrong here:

Access your SSH console and type this command

su - postgres -c 'psql webtop5'

Then launch this query:

select * from mail.identities where user_id = 'YOURUSERNAME';

If you don’t have many records you can also get all the output without filter by user_id and check if there is something that sounds strange:

select * from mail.identities;

Hi Federico,

This is what I received.

webtop5=# select * from mail.identities where user_id = ‘’;
identity_id | domain_id | user_id | email | display_name | main_folder | fax | identity_uid
-------------±----------±--------±------±-------------±------------±----±-------------
(0 rows)
webtop5=# select * from mail.identities
webtop5-#

I completed -

  1. Create a new temp account in Neth/Webtop
  2. Complete an imap import from affected email address to the temp email address
  3. Delete the affected user account in Neth/Webtop
  4. Complete a DB clean in the Webtop admin account
  5. Check if Webtop errors have stopped
  6. Recreate the user in Neth/Webtop
  7. Complete an imap import from the temp account to the newly recreated email address
  8. Delete the temp account in Neth/Webtop
  9. Check if the Webtop errors are still not present
  10. Report back on this post the findings

I found I still had the errors, so I deleted the user in the DB after deleting in NS. When I recreated the user in NS I found I could not login to that user via Webtop. Blank page with /login at the end then a 0kb download.

I deleted the user and recreated a different user and imported emails back. Setup an alias of the old email account to the new email account.

Not receiving the original error message anymore but I am now receiving this below error message every two mins -

2022-08-18 18:56:02 [ERROR] com.sonicle.webtop.mail.JobService - Exception
jakarta.mail.SendFailedException: No recipient addresses
at jakarta.mail.Transport.send0(Transport.java:186)
at jakarta.mail.Transport.send(Transport.java:100)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.sendScheduledMessage(JobService.java:319)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.sendScheduledMails(JobService.java:207)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.executeWork(JobService.java:173)
at com.sonicle.webtop.core.sdk.BaseJobServiceTask.execute(BaseJobServiceTask.java:76)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)

Any ideas on clearing this error anyone?

It seems an error on scheduled job. Do you have some scheduled emails?

1 Like

Sorry for the later reply…

No nothing I have set that runs every two minutes. Other Crons I have set have no issue when they run and sending emails if triggered.

Below is an example of the two errors I receive every 2 mins at exactly the same 56 seconds.

Any ideas?

2022-11-18 13:54:56 [ERROR] com.sonicle.webtop.mail.JobService - Exception
jakarta.mail.SendFailedException: No recipient addresses
at jakarta.mail.Transport.send0(Transport.java:186)
at jakarta.mail.Transport.send(Transport.java:100)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.sendScheduledMessage(JobService.java:327)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.sendScheduledMails(JobService.java:211)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.executeWork(JobService.java:173)
at com.sonicle.webtop.core.sdk.BaseJobServiceTask.execute(BaseJobServiceTask.java:76)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
2022-11-18 13:54:56 [ERROR] com.sonicle.webtop.mail.JobService - Exception
jakarta.mail.SendFailedException: No recipient addresses
at jakarta.mail.Transport.send0(Transport.java:186)
at jakarta.mail.Transport.send(Transport.java:100)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.sendScheduledMessage(JobService.java:327)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.sendScheduledMails(JobService.java:211)
at com.sonicle.webtop.mail.JobService$ScheduledSendJob.executeWork(JobService.java:173)
at com.sonicle.webtop.core.sdk.BaseJobServiceTask.execute(BaseJobServiceTask.java:76)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)

You have an email scheduled, without recipients. Check with this:

  • Open a SSH session
  • Go to /var/lib/nethserver/vmail
  • Launch this command:
find . -type d -name ".Drafts" | while read dirname
do
   grep -l "Sonicle-send-scheduled" $dirname/cur/*
done

If you get

grep: ./federico@domain.com/Maildir/.Drafts/cur/*: No such file or directory

it means that the account “federico” doesn’t have any scheduled email.

If you get something like

./federico@domain.com/Maildir/.Drafts/cur/1668793822.M585547P1268.mail.domain.com,S=4470,W=4543:2,

the account has some scheduled emails.

Login into all accounts that have one or more scheduled emails and check if these emails contains the recipient. I think you have one or more that don’t have it.

Please report here your result.

Thanks to @gabriele_bulfon for that command :slight_smile:

1 Like

I not sure how to enter these commands. A few results below but nothing like what you expected -

[root@emails vmail]# find . -type d -name ".drafts" | while read dirname
> do
> grep -l "Sonicle-send-scheduled" $dirname/cur/*
> done
[root@emails vmail]#

– or–

[root@emails vmail]# find . -type d -name ".drafts"
[root@emails vmail]# grep -l "Sonicle-send-scheduled" $dirname/cur/*
grep: /cur/*: No such file or directory

The first one. But there was an error: is not .drafts folder but .Drafts one.

I changed it in previous post.
Can you retry?

OK Thank you federico. I have the list now. I have 4 accounts to check.

I found three emails scheduled without email addresses to send to…

Fixed now and no more errors. Yay. Thanks again. Below is what worked.

  • Open a SSH session
  • Go to /var/lib/nethserver/vmail
  • Launch this command:
find . -type d -name ".Drafts" | while read dirname;do grep -l "Sonicle-send-scheduled" $dirname/cur/*;  done

If you get

grep: ./federico@domain.com/Maildir/.Drafts/cur/*: No such file or directory

it means that the account “federico” doesn’t have any scheduled email.

If you get something like

./federico@domain.com/Maildir/.Drafts/cur/1668793822.M585547P1268.mail.domain.com,S=4470,W=4543:2,

the account has some scheduled emails.

Login into all accounts that have one or more scheduled emails and check if these emails contains the recipient. I think you have one or more that don’t have it.

Might be an idea for the Webtop Devs to have a check on setting a scheduled email to see of there is an address before allowing a scheduled email.

Yes we already opened a bug for this situation.