Search The ForumSearch   RegisterRegister  LoginLogin

MailBee Objects

 AfterLogic Forum : MailBee Objects
Subject Topic: Mailbee.Message.1 CPU 100% Post ReplyPost New Topic
Author
Message << Prev Topic | Next Topic >>
iconbill
Valued Community Member
Valued Community Member


Joined: 07 March 2007
Location: Netherlands
Online Status: Offline
Posts: 76
Posted: 18 November 2008 at 7:43am | IP Logged Quote iconbill

Hello,

We have a strange but serious problem.

Sometimes the Mailbee.Message.1 component is using 100% CPU and will never stop 100% CPU. We investigated it with Component Services. After 'shutdown' in Component Services everything will work again normal.

We have no clue how this is possible, and we do not have any kind idea wich code is causing this problem or who is triggering this problem.

This happend never before, and today it happend two times.



Back to Top View iconbill's Profile Search for other posts by iconbill
 
Alex
AfterLogic Support
AfterLogic Support
Avatar

Joined: 19 November 2003
Online Status: Offline
Posts: 2206
Posted: 18 November 2008 at 10:02am | IP Logged Quote Alex

Probably, certain e-mail message cannot be parsed (maybe, goes to the endless loop).

You need to find out which e-mail message causes the problem. For instance, write the message UID into the log prior to receiving it from the mail server. When it hangs, the last message UID will point you to the problem message.

Of course, this all depends on what you application is doing. If it sends e-mails (rather than processes them), the debug logic will be different.

Anyway, examining the log file is the first step in resolving the problem.

Regards,
Alex
Back to Top View Alex's Profile Search for other posts by Alex
 
iconbill
Valued Community Member
Valued Community Member


Joined: 07 March 2007
Location: Netherlands
Online Status: Offline
Posts: 76
Posted: 24 November 2008 at 1:52am | IP Logged Quote iconbill

Dear Alex,

Finally we found the problem mail wich is causing the 100% CPU. It's GetBodyWithEmbeddedObjectsEx in
Mailbee Object '5.5.0.126'.

I will send the message(EML-file) to you by using the form 'Request for Support').

Please contact us soon as possible!!!!
Back to Top View iconbill's Profile Search for other posts by iconbill
 
iconbill
Valued Community Member
Valued Community Member


Joined: 07 March 2007
Location: Netherlands
Online Status: Offline
Posts: 76
Posted: 24 November 2008 at 6:36am | IP Logged Quote iconbill

Beside the 100% CPU problem we have another problem with 'GetBodyWithEmbeddedObjectsEx'.

If the Content-ID = <14>
then every existing '14' in the source is replaced....

so in the example below also the '14' in the CSS tag:

'body {color:#214188;}'

is getting replaced with the link for download the image!!

Maybe this problem is related to my previous post? But i'm not sure. Strange, because most of the time the inline images are displayed correctly.

Kind regards,
Marco



Example message source:

-------------BEGIN----------------
<html><head>
<style type="text/css">
<!--
body {color:#214188;}
-->
</style>
</head>
<body>
<img src="cid:14" width="503" height="29">
</body>

--b1_4a35c6f8b42bc5972b6761f4d2264825
Content-Type: image/gif; name="14"
Content-Transfer-Encoding: base64
Content-ID: <14>
Content-Disposition: inline; filename="14"

R0lGODlh9wEdAMQAAP///1RlCLLJK5
and lot's more code ofcourse
--b1_4a35c6f8b42bc5972b6761f4d2264825--


-------------END---------------

Back to Top View iconbill's Profile Search for other posts by iconbill
 
Alex
AfterLogic Support
AfterLogic Support
Avatar

Joined: 19 November 2003
Online Status: Offline
Posts: 2206
Posted: 24 November 2008 at 11:21am | IP Logged Quote Alex

Thank you for the test message, we found it's invalid. Content-IDs must be unique string and may appear only where appropriate. In the e-mail in question CIDs are just letters which appear not only in CIDs, and this causes problems (replacements of what should not be CID).

We imlemented a workaround for this, you try the updated version of MailBee.dll now.

Regards,
Alex
Back to Top View Alex's Profile Search for other posts by Alex
 
iconbill
Valued Community Member
Valued Community Member


Joined: 07 March 2007
Location: Netherlands
Online Status: Offline
Posts: 76
Posted: 24 November 2008 at 1:36pm | IP Logged Quote iconbill

Thank you Alex for the fast response! Tomorrow we will give you an update of the new version.
Back to Top View iconbill's Profile Search for other posts by iconbill
 
iconbill
Valued Community Member
Valued Community Member


Joined: 07 March 2007
Location: Netherlands
Online Status: Offline
Posts: 76
Posted: 25 November 2008 at 1:01am | IP Logged Quote iconbill

We tested the new dll without any problems!

Thank you again for your fast response.    
Back to Top View iconbill's Profile Search for other posts by iconbill
 
iconbill
Valued Community Member
Valued Community Member


Joined: 07 March 2007
Location: Netherlands
Online Status: Offline
Posts: 76
Posted: 26 November 2008 at 7:59am | IP Logged Quote iconbill

I'm sorry but here i am ...again :(

problem with 'GetBodyWithEmbeddedObjectsEx'

I have a message with an inline image, and if the content-id is also in the html message as text...it will be replaced !

The component should only replace if it starts with 'cid:'

(we are using version 5.5.0.133)


=BEGIN: SUMMARY EML MESSAGE ===

--b2_3f73e452b76c6df384686b1f885d8bad
Content-Type: text/html; charset = "iso-8859-1"
Content-Transfer-Encoding: 8bit

This is a test message from marco. And all words in this message like 'marco' is getting replaced with the virtualpath when using GetBodyWithEmbeddedObjectsEx.

--b2_3f73e452b76c6df384686b1f885d8bad--
--b1_3f73e452b76c6df384686b1f885d8bad
Content-Type: image/gif; name="justaname.jpg"
Content-Transfer-Encoding: base64
Content-ID: <marco>
Content-Disposition: inline; filename="justaname.jpg"

/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4w ICh1c2luZyBJSkcg
etcccccccc

=END: SUMMARY EML MESSAGE ===
Back to Top View iconbill's Profile Search for other posts by iconbill
 
Andrew
AfterLogic Support
AfterLogic Support


Joined: 28 April 2006
Location: United States
Online Status: Offline
Posts: 1189
Posted: 26 November 2008 at 8:19am | IP Logged Quote Andrew

Actually, many e-mail clients embed images into HTML mails without cid: in src attribute and these cases should be covered too. Even if we implemented processing src with cid only, it would cause other issues with mailers which don't add cid.

Currently, we require cid only if content-id length is less than 3 because minimal length of content-id which may appear without cid is 3 (like "N.E", minimal filename). Strings with greater length (like "marco") will be replaced. There is no workaround possible :(

Best regards,
Andrew
Back to Top View Andrew's Profile Search for other posts by Andrew
 
iconbill
Valued Community Member
Valued Community Member


Joined: 07 March 2007
Location: Netherlands
Online Status: Offline
Posts: 76
Posted: 26 November 2008 at 1:30pm | IP Logged Quote iconbill

But why are the replacements not limited to only inside the image tags? Should be possible i hope.

or else...

only replacing if it's between :
' and '
or between
" and "
or between
= and >

I think the next are the most common possible img-tags (correct and incorrect ones):

<img src="cid:marco"> (between " and ")
<img src='cid:marco'> (between ' and ')
<img src="marco"> (between " and ")
<img src=marco> (between = and >)
<img src=marco.jpg> (between = and >)

PS about the html emails without CID, i had to create allready my own fix for this with some help from Alex (see previous post: http://www.afterlogic.com/forum/forum_posts.asp?TID=2172&PN= 1)

Kind regards
Marco
Back to Top View iconbill's Profile Search for other posts by iconbill
 
iconbill
Valued Community Member
Valued Community Member


Joined: 07 March 2007
Location: Netherlands
Online Status: Offline
Posts: 76
Posted: 27 November 2008 at 5:14am | IP Logged Quote iconbill

Please forget my previous post of yesterday 1:30 PM because i was wrong about my given solution!

I think you should only replace images with a cid: before it.
Alex has already stated something like that in this post: http://www.afterlogic.com/forum/forum_posts.asp?TID=2172&PN= 1

Kind regards,
Marco
Back to Top View iconbill's Profile Search for other posts by iconbill
 
Igor
AfterLogic Support
AfterLogic Support


Joined: 24 June 2008
Location: United States
Online Status: Offline
Posts: 6043
Posted: 27 November 2008 at 5:30am | IP Logged Quote Igor

We would recommend you to get a list of images using MessageCensor so you can store images onto filesystem and replace image CIDs with appropriate links to those images. In fact, this is exactly what GetBodyWithEmbeddedObjectsEx does, but as you already have a technique which allows you to process image references, you can implement more flexible approach and there is not much work left to do.

Regards,
Igor
Back to Top View Igor's Profile Search for other posts by Igor
 

If you wish to post a reply to this topic you must first login
If you are not already registered you must first register

  Post ReplyPost New Topic
Printable version Printable version

Forum Jump

Powered by Web Wiz Forums version 7.9
Copyright ©2001-2004 Web Wiz Guide