Simperium Received Error [Client Error : 412] for object with key [] - ios

Hello Simperium users,
what does this error mean / how to fix this ?
thanks
Frank

Error 412 means that the client sent a diff that caused no changes backend side. You can learn more about the Simperium protocol here:
https://github.com/Simperium/simperium-protocol/blob/master/SYNCING.md
Would it be possible to get the log that caused that error to show up?.
(+ May i ask you which Simperium version you're currently using? You can find that in the SPEnvironment class, constant SPLibraryVersion).
Thank you!

Related

MindbodyApi iOS app throws a "201" error code

While implementing MindbodyApi's soap services particularly ClientServices i continuously got an error code of 201 .. Error code 201 is nested error.
I have been told by mindbody support that this error happens when fields does not match with mindbody online.
Hope it helps :)

Simperium - Diff errors, UniCharMax

I'm serializing an array of dictionaries to a string and it seems that it causes issues on the generation of the diff… or something… I've been seeing a lot of these:
AssertMacros: hash <= (~(UniChar)0x00), Hash value has exceeded UniCharMax! file: /Users/…/Pods/Google-Diff-Match-Patch/DiffMatchPatchCFUtilities.c, line: 391
I didn't look very deep but I didn't understood what am I doing wrong…
Also, I'm having a lot of 440 errors that sometimes appear with the error above. How can I handle these errors? Shouldn't the framework send the full object when the 440 pops up?
Thanks!
Error 440 means 'Invalid Diff'. After checking DiffMatchPatch, it seems that the error you're seeing is caused by an excesively large array of diffs (which, in this case, seems to be a Diff Match Patch internal issue).
Please, take a look at this pull request, which already implements the mechanism you're currently working on: https://github.com/Simperium/simperium-ios/pull/121
Specifically, NSArray+Simperium, SPMemberJsonList and SPJsonDiff contain logic to handle DiffMatchPatch.

Twitter streaming api 140dev error

I am using 140dev Twitter Database Server (PHP) and I am continually getting this error in get_tweet.php. the error I'm getting from the php-error.log file in the Windows/Temp/ directory
PHP Notice: Undefined property: stdClass::$created_at in C:\inetpub\wwwroot\140dev\db\get_tweets.php on line 58
line 58 in get_tweets.php is:
$dateStamp = $this->oDB->telldate($tweet_object->created_at);
I'm not sure why I'm getting this error. There are tons of other instances where $tweet_object->created_at is being used, but I don't get error messages in the php-errors.log file.
Any help would be greatly appreciated!
Okay so I found out that the code I've inherited was not handling all the other messages that occur in the streaming api.
to fix the logged Notice I set an if check before the json processing code:
if(isset($tweet_object->created_at)){
//Do stuff
}
This resolved the Notice messages. It's annoying that I didn't think of a Null check earlier.
*Note: I did try using the property_exists() method in the if statement, but that still displayed the Notice message. Just in case anybody was interested.

Simperium Received an Invalid Change

I am developing integration with Simperium, the integration is complete and has been running on test machines for sometime, I am starting to get this error on one of the devices and it keeps repeating constantly any ideas?
MeetingPad[891:1103] Simperium error (ActionLinks82), received an invalid change for (a18852011efe4964a6fdeb1853c790f3)
2013-02-07 10:07:05:277 MeetingPad[891:1103] Simperium client ios-7f43b434754d882923e966df5d885755 received change (ActionLinks82) ios-4176925448fa8ae0a2f1d0937627aa6b: {
ccids = (
3f3b4550b23147d49e194038feea09a6
);
clientid = "ios-4176925448fa8ae0a2f1d0937627aa6b";
cv = 5112df4b37a401031dcc5be1;
ev = 2;
id = 9ca0b7ad04314ab9888d75691be784b5;
o = "-";
}
If this occured on a user account what would be the guidance?
One thing to check is that you're using the latest version of the code. The repository was recently open sourced on GitHub. There used to be a bug related to nil values that could cause an invalid diff to appear in your change stream, but it should be fixed now.
Assuming you're using the latest code though, does the error repeat continuously for the same "id" value, or are there different values?
Looking at the Simperium code where this error occurs, it's possible it could be displayed if you've deleted an object locally and remotely at around the same time. In your app, might ActionLinks fit that pattern, i.e. are you creating and deleting a lot of them across multiple clients?
If that is indeed the cause, then the error is innocuous and we should patch the code. Let me know what you discover.

Simperium 409 errors, what causes this?

I am setting up an existing app in iOS6 to work with simperium, all has been going well for a few weeks but today I started seeing these errors.
I deleted the App in Simperium and started with a fresh app but still get the error.
The test case is an upgrade for an existing user who already has data in coredata. so they create the simperium account and this is the first sync simperium does.
2012-11-14 10:46:31:931 Simperium POST returned error 409 for change {
ccid = da3d0c7bed984f88872f9e7d7527f0f9;
clientid = "ios-ca84b5cc41cc00962c1141a2854aeee0";
error = 409;
id = 54f58c57de65485f889aa4b30c39c54b;
r = (
50a3760437a401650500001b
);
}
I also see some of these errors but not so many :
2012-11-14 10:44:52:823 Simperium error: transform diff for a ghost member (ghost <SPGhost: 0x1d6324c0>, memberData (null)) that doesn't exist (showInDropDown): {
o = "+";
v = 0;
}
Also this :
Simperium timeout, server didn't respond to GET code 504 (ClipModel82),
The 504 is an expected timeout. The other errors are not expected. 409 is a duplicate change, which is ignored but shouldn't happen. The transform error could be happening if you're making changes via a non-iOS client to an attribute that doesn't exist in your Core Data model.
A couple things to try: use the "iosupdate" branch that is on GitHub as of this writing. It has the latest changes and fixes. Also try setVerboseLoggingEnabled:YES and get in touch with us by email, including log output as an attachment (help#simperium.com).

Resources