Home Dashboard Directory Help
Search

All TFS E-mail notifications stop because of any exception regarding a user alert or user identity by Alex Vezenkov


Status: 

Closed
 as Fixed Help for as Fixed


6
0
Sign in
to vote
Type: Bug
ID: 779506
Opened: 2/19/2013 5:52:19 AM
Access Restriction: Public
2
Workaround(s)
view
2
User(s) can reproduce this bug

Description

Hi TFS gurus,

I am a DevOp at Infragistics and have fun with TFS every day :) One issue that worries me is that when there is a wrong alert of any user the whole e-mail alert system stops. I've been able to identify a few exceptions by querying the [Tfs_Configuration].[tbl_JobHistory] ResultMessage for the notifications job guid:

TF400797: Job extension had an unhandled error: System.ArgumentException: parsing ".*INFRAGISTICS\User.*" - Malformed \p{X} character escape.     at System.Text.RegularExpressions.RegexParser.ParseProperty()     at System.Text.RegularExpressions.RegexParser.ScanBackslash()     at System.Text.RegularExpressions.RegexParser.ScanRegex()     at System.Text.RegularExpressions.RegexParser.Parse(String re, RegexOptions op)     at System.Text.RegularExpressions.Regex..ctor(String pattern, RegexOptions options, TimeSpan matchTimeout, Boolean useCache)     at System.Text.RegularExpressions.Regex.IsMatch(String input, String pattern, RegexOptions options, TimeSpan matchTimeout)     at Microsoft.TeamFoundation.Framework.Server.Alm.StringFieldCondition.EvaluateOneValue(Object fieldValue)     at Microsoft.TeamFoundation.JobService.Extensions.Core.NotificationJobExtension.Matches(TeamFoundationRequestContext requestContext, Subscription subscription, TeamFoundationEvent teamFoundationEvent, TeamFoundationIdentity subscriber)     at Microsoft.TeamFoundation.JobService.Extensions.Core.NotificationJobExtension.ExpandEvents(TeamFoundationRequestContext requestContext)     at Microsoft.TeamFoundation.JobService.Extensions.Core.NotificationJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime jobQueueTime, String& resultMessage)     at Microsoft.TeamFoundation.Framework.Server.JobRunner.ExecuteJob()

TF400797: Job extension had an unhandled error: Microsoft.TeamFoundation.Framework.Server.IdentityNotFoundException: TF14045: The identity with TeamFoundationId c93ecfd0-4a43-424a-xxxx-3d7154da5a45 could not be found.     at Microsoft.TeamFoundation.Framework.Server.Subscription.AfterReadSubscription(TeamFoundationRequestContext requestContext)     at Microsoft.TeamFoundation.JobService.Extensions.Core.NotificationJobExtension.ExpandEvents(TeamFoundationRequestContext requestContext)     at Microsoft.TeamFoundation.JobService.Extensions.Core.NotificationJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime jobQueueTime, String& resultMessage)     at Microsoft.TeamFoundation.Framework.Server.JobRunner.ExecuteJob()

I've fixed both. The first by going to the User's alerts and removing the "Contain" filters. The second by removing the ex-employee subsciptions (it was a deleted domain user) by running:
bissubscribe.exe /unsubscribe /id 1234 /collection http://localhost:8080/tfs/collection

However this is a very blocking issue and is annoying.

Thanks,
Alex
Details
Sign in to post a comment.
Posted by Microsoft on 4/29/2014 at 12:30 PM
Thank you for reporting this issue. This issue has been fixed in Visual Studio 2013. You can install a trial version of Visual Studio 2013 with the fix from: http://go.microsoft.com/?linkid=9832436
Posted by Microsoft on 2/20/2013 at 1:42 AM
Thanks for your feedback.

We are rerouting this issue to the appropriate group within the Visual Studio Product Team for triage and resolution. These specialized experts will follow-up with your issue.
Posted by Microsoft on 2/19/2013 at 6:50 AM
Thank you for your feedback, we are currently reviewing the issue you have submitted. If this issue is urgent, please contact support directly(http://support.microsoft.com)
Sign in to post a workaround.
Posted by Alex Vezenkov on 2/22/2013 at 6:06 AM
I did the same, but this is a workaround, I have it explained in the bug description actually :
" I've been able to identify a few exceptions by querying the [Tfs_Configuration].[tbl_JobHistory] ResultMessage "
" I've fixed both. The first by going to the User's alerts and removing the "Contain" filters. The second by removing the ex-employee subsciptions (it was a deleted domain user) by running: bissubscribe.exe /unsubscribe /id 1234 /collection http://localhost:8080/tfs/collection "
Posted by RobCannon on 2/20/2013 at 8:23 AM
I had to find the TFS Id (a Guid) as part of the ResultMessage column with this query:

SELECT TOP 1000 *
FROM [Tfs_2012_Configuration].[dbo].[tbl_JobHistory]
where StartTime > '02/18/2013'
and Result <> 0

I was then able to find the subscription ids with this query from our collection database:

SELECT *
FROM [Tfs_SalesSolutions].[dbo].[tbl_EventSubscription]
where subscriberid = 'dab143c8-5673-4262-bfe6-6f01e8318d77'

Finally, this command was used to delete the subscriptions

BisSubscribe.exe /unsubscribe /id 224 /collection http://foundation-tfs.turner.com:8080/tfs/SalesSolutions: