EA Forums - Banner

Tech Summary of Past Event Glitch

datasurgeon
1878 posts Member
This is pure speculation on my part but the conclusions are based on 30 years of IT experience
○ the change is precise, indicating a program that is updating certain variables with incorrect values.
○ the effect is a random time element, indicating human activity. Since the glitch does not effect every player, it cannot be a completely programming error

We know from a job posting that Simpson's Tapped Out (STO) uses a MySQL database. Since the records are not being rejected on update, we can assume that the tables are not in strict mode, therefore invalid values are translated to an empty string which is intepeted as a zero value. So if your tree was at max the value is now at the start.

Several possibilities come to mind. Updates are done in two parts first the read for update, the actual value change, the then the write for update. There is no time limit between the read and the write but it can be canceled.

1) unexpected side effects, which would be a rare combination of events which produces a glitch. For example, the Christmas present tree from several years ago and taking a screen shot locked out the ability to procede in the quest line.
2) an internal error is placing values in another players record which are not the expected values.
3) an external program that is similar to #2 above.

I believe EA developers have been pursuing #1 above for quite a while. The first report of the bug is over a year ago and reports have been increasing steadily since then until we have an estimated 20% player population effected.

How can this HAPPEN? There are 2 ways to reference a database field either by the name itself or by the position in the record. So the reference would be table.field. Say the players IRS building value for example. It could be referenced by TABLE.IRSvalue or by position as TABLE (6) assuming that IRSvalue is the seventh position in the table record.

Referencing a field by position is a bad programming practice. If the database admin inserts another field in the record every position after it will be changed. So programmers use the field name. We can expect EA has protocols to discourage that practice making it easy to see what programs reference those fields. This would make the first two scenarios less likely than the third

But who would not know the field name? Anyone who is not an EA programmer. They may be clever outside programmers but they have to quess the table layout. These outside programmers may also be referencing fields outside their record changing someone else's values. (You can not expect a Quality Assurance procedure from outside programmers.) If this change occurs between the other player's read and write for update process then invalid values were entered for that player.

This external program may have been introduced over a year ago and more players started using it which would explain the gradual increase of players effected by the glitch. To initiate the glitch, in this scenario, both the player causing the glitch and the victim must be updating the database which is why the glitch reoccurs but is not constantly occurs.

If the above scenario holds water then there is always a one to one relationship between the victim of the glitch and the cause of the glitch. A review of the logs can reveal who is also doing updates at the same time as victim of the glitch.

Replies

  • daved7637397
    7234 posts Member
    Thats exactly what I was going to say! Word for word! You must have read my mind :joy::smirk:

    Seriously, you lost me about 10 words in, but thanks for the input. Hopefully someone who knows slightly more then I can make use of it
    I do not accept unsolicited friend requests! PM me and say hi first.
  • MrPepsiMax1
    2736 posts Member
    Wow long read. Why not get job with EA?
  • daved7637397
    7234 posts Member
    Wow long read. Why not get job with EA?

    They probably wouldnt hire him because he wants to fix things :open_mouth::worried:
    I do not accept unsolicited friend requests! PM me and say hi first.
  • MrPepsiMax1
    2736 posts Member
    Wow long read. Why not get job with EA?

    They probably wouldnt hire him because he wants to fix things :open_mouth::worried:

    Oh yeah I forgot silly me :lol:
  • datasurgeon
    1878 posts Member
  • datasurgeon
    1878 posts Member
    Just wrote several paragraphs and it vanished

    Worst scenario, if the problem is an external program, well, EA can't fix what they don't own.

    But
    They can write a program to fix the variables in the glitch fields. Since the variables are on the server, they could even run it on a schedule.

    The only long term solution, I can think of is to ignore the glitch fields and create new ones at the end of the record. The external program would still send invalid values to the old fields but the game would only be using the new fields.

    Not an overnight solution but one that is doable.
  • MrPepsiMax1
    2736 posts Member
    edited May 2018
    Yeah that happens it’s in cyber space. That’s why if it’s long you should copy it so if it does disappear you can paste it that’s if it’s not saved try looking by clicking on the 3 horizontal lines at the top left of each section and you’ll see a list of things like proflie bookmarks etc and there you should see drafts click on that and it might be there if saved.
  • datasurgeon
    1878 posts Member
    I have diagnosed the problem and offered a solution which does not involve any inconvience to the players.

    But I have been thinking about the character button. It seems to be a binary switch but why does every player have one that can be corrupted? Even if it is a feature for reaching a certain level, it can be a global switch not an individual one.

    This could be a simple fix changing to a global switch and abandoning the individual switch.

    Unless someone has a different explanation.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!