bug, regex error or clever email sender address? |
Post Reply ![]() |
Author | |
Ronny T ![]() Guest Group ![]() |
![]() ![]() ![]() ![]() ![]() Posted: 02 April 2004 at 4:28am |
04.02.04 11:21:33:361 -- (2484) String matching error for (emailSenderApp+1IPIM4U31S4W3-2T3J2GDFUIM5L-25CJOYEOL8CT5@bounces.amazon.com --and-- ([d+]([-a-za-z0-9_.+])+(@hotmail|@juno|@yahoo).com)) : TRegExpr(exec): Loop Stack Exceeded --------- This is a copy from the activity log as I saw some messages passing the filter by giving spamfilter a stack error... Can anyone see what went wrong with this one? (using version 2.0.1.315 registered) |
|
![]() |
|
Desperado ![]() Senior Member ![]() ![]() Joined: 27 January 2005 Location: United States Status: Offline Points: 1143 |
![]() ![]() ![]() ![]() ![]() |
Actually, This is my RegEx and nothing "oficially" went wrong. The address is so long that the SpamFilter RegEx Parser reached a hard coded limit and the error you get is as you see. This is a non critical error that Roberto can explain MUCH better than I can but it does not cause any issues. The SpamFilter just goes on to the next filter from there. This RegEx, in my system, catches a bunch and barfs on a bunch like you have seen but it still does reduce the spam so I have learned to ignore those errors. Dan S.
|
|
![]() |
|
Desperado ![]() Senior Member ![]() ![]() Joined: 27 January 2005 Location: United States Status: Offline Points: 1143 |
![]() ![]() ![]() ![]() ![]() |
Oh! And I stand corrected ... this is a little changed from the RegEx I uses but the answer is still the same. Mine is as folloes: (\b[\d+]+([\-a-za-z0-9_\.\+])+(@hotmail|@juno)\.com) VERY similar so I think the Loop Stack issue applies to yours also. Regards Dan S. |
|
![]() |
|
LogSat ![]() Admin Group ![]() ![]() Joined: 25 January 2005 Location: United States Status: Offline Points: 4105 |
![]() ![]() ![]() ![]() ![]() |
Ronny T, Dan is absolutely correct in his statement. Some RegEx expressions require a string to be parsed several times with recursive loops in order to match all searches. If the "recursivity" functions are very "deep", meaning a recursive function calls itself, which then calls itself, and calls itself again, and again etc, this could cause some Windows stack overflows and bring the server to its knees (especially if several incoming emails are processed concurrently). In order to avoid this, we've placed a hardcoded limit in how many levels deep a recursive function can go. When the limit is reached a "soft error" breaks the loop and halts the search for that particular string. This is totally harmless, and will not cause any other errors, but will usually cause the particular searh string to be ignored. Roberto F. |
|
![]() |
Post Reply ![]() |
|
Tweet
|
Forum Jump | Forum Permissions ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |
This page was generated in 0.078 seconds.