What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 134 Stack Exchange communities.

This user is only displaying 56 rep. http://stackoverflow.com/users/2354107/user2638924

But surely (s)he has much more than that.

The user has also never given out any bounties.

Also, badges are missing:

share|improve this question
6  
This might be related to this: meta.stackexchange.com/questions/212622/… –  Brad Larson Dec 20 '13 at 21:45
14  
Well, take a look at this! –  Shadow Wizard Dec 20 '13 at 21:58
2  
@Shadow There's literally nothing in his history that would indicate something happened here. Definitely only the devs would be able to answer this one. –  animuson Dec 20 '13 at 21:59
3  
@animuson true. I shudder to the thought this will happen to Jon Skeet... imagine he suddenly have a drop of 500,000 points! –  Shadow Wizard Dec 20 '13 at 22:01
3  
@Shadow Wizard, a thousand of us would probably award a 500 rep bounty to one of his answers. –  Frédéric Hamidi Dec 20 '13 at 22:04
2  
It seems this just happened within the last day. If you look at his profile activity you see that about 8 hours ago, he is "JoeZ". About 7 hours ago other people call him "user263...". –  chue x Dec 20 '13 at 23:21
1  
This happened to me too. –  mathguy54 Dec 20 '13 at 23:32
1  
Whatever happened has been reversed. The user's rep is now 8,928. –  Josh Crozier Dec 21 '13 at 3:56
7  
I appreciate everyone looking into this. My rep eventually came back, although I did have to reset my name manually. It was the strangest thing when it happened. When I went back to my profile page, there was a green bubble over the Reputation tab that said something like -8752 or the like (I didn't remember the number, I just remembered it was large and negative), and my rep had dropped to 41. I had come to my profile page when I noticed my name started showing up as user2638924 instead of "Joe Z." My rep eked back up to 56 when someone accepted one of my answers. –  Joe Z Dec 23 '13 at 6:58
20  
We are aware of the issue and are looking into this, though I don't expect that anything will happen before the new year (people are on vacation at Stack Exchange too...). –  Oded Dec 23 '13 at 21:22
3  
@Oded here is another one for you. –  Shadow Wizard Dec 26 '13 at 14:08
1  
@gnat - it might be related - a cached value certainly looks to be the culprit. I am actually taking some time off - so not really had a chance to investigate this (and most of the devs are taking a few days off as well, so this may have to wait till after the new year) –  Oded Dec 26 '13 at 20:25
4  
Is this user one where the issue has come and gone, and they are just not around (last seen Oct 24 '11) to change their display name back? Or did they really post ~2,500 answers under the autogenerated username? –  jadarnel27 Dec 27 '13 at 3:17
1  
Nothing so far, @Sha –  Oded Jan 3 at 12:50
2  
Got the same at Stackoverflow.com –  CodeGroover Jan 9 at 21:38

2 Answers 2

up vote 32 down vote accepted

A fix or this was just deployed, sorry it took to long to track down. The root cause was review audits, the common pattern in these users was they were owners of a post used for a positive review audit in the first post review queue.

Down in the code was this:

post.Owner.Reputation = deterministicFakeStats.Next(0, 10) * 5 + 1;
post.Owner.BadgeSummary = "1=0 2=0 3=0";

The issue was that post.Owner is a Lazy load of a User via User.Get(int id), which is a Linq2SQL query. This means the loaded user is in the relational mapper so when sometimes a SubmitChanges() is later called for another reason (rotating a user cookie, etc.) they get saved. What do they get saved with? You guessed it! a random-ish low amount of rep and no badges.

The change is simple:

- var post = Post.GetReadOnly(reviewTask.PostId);
+ // Note we're loading the owner here as to not screw with the actual database
+ // Otherwise, a Post.Owner trigger of User.Get() underneath would cause mutation on audits
+ var post = Post.GetReadOnly(reviewTask.PostId, Post.UserLoadMode.Owner);

We have a few overloads for the Dapper-based Post.GetReadOnly(), the UserLoadMode.Owner of which will load the User object via a LEFT JOIN where the Linq2SQL mapper is unaware of it, preventing any mutation if a save is called later in the request.

There may be a few more comments added further down too...

share|improve this answer
6  
+1 for making me laugh out loud with that comment. –  jadarnel27 Jan 22 at 2:42
    
Awesome! But it means it happened for long time, wonder how we missed it before. Also, curious to know what restored the rep and badges back to normal? The latest victim for example was affected for long hours, even after being upvoted and downvoted. –  Shadow Wizard Jan 22 at 8:13
1  
@ShadowWizard there is a job that runs nightly that sums up everyone's rep history and compares to their current rep - if it doesn't match it recalcs them to make sure everything's right. The count affected is metric I'll be adding to our new monitoring system so we can see when a source of skew is introduced in the future. –  Nick Craver Jan 22 at 10:01
    
@Nick thanks. Hmm... but it means badges are also re-calculated? Can't it lead to losing some badges that aren't eligible anymore after the recalculation? –  Shadow Wizard Jan 22 at 10:19
1  
@ShadowWizard a rep recalc doesn't affect badges, and the badge counts sync with current actual badge counts via another nightly task as well. User to badge mapping rows in the database aren't added or removed by either process. –  Nick Craver Jan 22 at 10:30

Until this is fixed, I'll keep here a "log" of the victims, starting now. If anyone spot any other victims I miss don't hesitate to edit it in here as well, I've made it CW on purpose.

What they have in common? So far all I could see is that all victims have accounts on other Stack Exchange sites, most including account here on Meta and more than 1000 rep before the reset took place. (not all though)

January 20th, 2014: user2466472

Fixed few hours after posted here, with no clear reason how


January 21st, 2014: user2808697 (rep loss: 6,622)

share|improve this answer
3  
I think they forgot to make hell bans less public =) –  Lorem Ipsum Jan 21 at 2:13
1  
As I posted on the question, I wonder if this user was affected, and is not around to change his name back (hasn't been seen since Oct 2011). According to the comments on several of his posts (this question, and its answers, for instance), it seems his username was patrick_dw at some point. –  jadarnel27 Jan 21 at 15:21
2  
@jadarnel27 - Unlikely. He's had that username since at least last August 2012. wayback machine –  Martin Smith Jan 21 at 15:25
    
Please remove the screenshot of my personal info from here. I don't see how it helps you troubleshoot. I am user2808697. –  peter.petrov Jan 21 at 15:56
2  
@sedefcho it's not personal, everyone can see it by clicking your name same way you can see anyone's profile on any site. It help by keeping a log of the affected users. –  Shadow Wizard Jan 21 at 15:58
    
@ShadowWizard I know that of course. But if I remove it later, it will still stay here. OK? And the rep loss is wrong btw. –  peter.petrov Jan 21 at 15:59
    
@sedefcho have it your way. cheers. –  Shadow Wizard Jan 21 at 16:01
    
Ah, good catch @MartinSmith. –  jadarnel27 Jan 21 at 16:02
    
@ShadowWizard OK. Thank you. –  peter.petrov Jan 21 at 16:02
    
I think my reputation was 7165 on SO before this happened. Now I am at 39 :) / sedefcho == peter.petrov here in meta /. Also, I see my nickname on SO is gone too (was peter.petrov, now just user2808697). –  peter.petrov Jan 21 at 22:14
1  
@peter.petrov true. The bug affects reputation, badges and display name, resetting all to default. Reputation and badges restore themselves at some point (see other cases linked here) but you have to change the display name manually... you can do it now and it will stay. –  Shadow Wizard Jan 21 at 22:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .