Persistent AUTHENTICATION_ERROR problem

4,080 views
Skip to first unread message

Kenneth Corbin

unread,
Sep 28, 2013, 2:00:30 PM9/28/13
to andro...@googlegroups.com
I have one user that cannot register with GCM from reasons that I cannot explain.  Every time he tries it, Google returns an AUTHENTICATION_FAILURE status. We have checked the account configured in Play Store, confirmed that he can sync to that account,  confirmed that he can open the Gmail app and send and receive mail for that account.  Even tried setting up a new Google account for Play Store.  And done multiple factory resets.  He still gets the AUTHENTICATION_FAILURE every time.

Anything else I can check?

Costin Manolache

unread,
Sep 29, 2013, 1:02:12 PM9/29/13
to andro...@googlegroups.com
Please send me ( as private mail ) something to identify the user, I can check server logs. 

In general, it helps a lot to include at least Android version ( Gingerbead ? ) 

Costin


On Sat, Sep 28, 2013 at 11:00 AM, Kenneth Corbin <kencor...@gmail.com> wrote:
I have one user that cannot register with GCM from reasons that I cannot explain.  Every time he tries it, Google returns an AUTHENTICATION_FAILURE status. We have checked the account configured in Play Store, confirmed that he can sync to that account,  confirmed that he can open the Gmail app and send and receive mail for that account.  Even tried setting up a new Google account for Play Store.  And done multiple factory resets.  He still gets the AUTHENTICATION_FAILURE every time.

Anything else I can check?

--
You received this message because you are subscribed to the Google Groups "android-gcm" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-gcm...@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-gcm/ebf43ecb-26fe-4c9b-8302-84cc336b953e%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Kenneth Corbin

unread,
Sep 29, 2013, 1:17:48 PM9/29/13
to andro...@googlegroups.com
The plot thickens.....

User reported that he did yet another factory reset, after which he was able to register for a GCM ID.  After which his system updated to the latest version of Play Store.  The suspicion is there is something wrong with the latest Play Store release.

I'm asking for the Play Store version.  He is currently running 
Sysinfo - verizon/SCH-I510/SCH-I510:2.3.6/GINGERBREAD/FP8:user/release-keys
Model: SCH-I510

I'll try to get that user ID for you...

Kenneth Corbin

unread,
Sep 29, 2013, 3:38:31 PM9/29/13
to andro...@googlegroups.com
Sure enough, attempting to register with latest version of Google PlayStore failed.  Looks like a smoking gun.
Google play store version that works 3.4.7
Version that fails 4.3.11

09-29 13:29:45.196 V/CadPage ( 1720): Comp:net.anei.cadpage.C2DMService
09-29 13:29:45.196 V/CadPage ( 1720):   error:AUTHENTICATION_FAILED
These are local times for Cincinati, OH.  I figure that to be 17:29:45 UMT

Costin Manolache

unread,
Sep 29, 2013, 8:17:15 PM9/29/13
to andro...@googlegroups.com
Interesting. The auth is play services is (supposedly) more reliable, it's the code used in ICS/JB, i.e. it 
doesn't require an account and only depends on the initial checkin/registration. 
I've seen devices where the initial registration has failed ( network problems, etc ), usually 
it recovers in few retries ( but may take hours even days ). However for Gingerbread it 
was a problem - even if registration succeeds, the delivery of messages would still fail,
since the server doesn't know about the device.

If you happen to have a full bugreport or more log lines - please send it to me (cos...@google.com).



Costin 


amits

unread,
Sep 30, 2013, 5:09:48 AM9/30/13
to andro...@googlegroups.com
Hi Costin,

We are seeing the same issue with Android OS: 2.3.6. I will send you more info directly to your email.

-Amit

Costin Manolache

unread,
Sep 30, 2013, 8:05:23 PM9/30/13
to andro...@googlegroups.com
Can you check the version of Google Play Services ?

GCM is not using anything in GooglePlayServices, except the periodic update of Google Play Services.

Another data point - can you check if "Clear data" was used on the device for Google Services Framework or GooglePlayServices ? 



Thanks,
Costin
o




On Sun, Sep 29, 2013 at 12:38 PM, Kenneth Corbin <kencor...@gmail.com> wrote:

Kenneth Corbin

unread,
Sep 30, 2013, 8:46:04 PM9/30/13
to andro...@googlegroups.com
I'll ask the user for the Google Play Services version.  Since most users have never heard of Google Play Services, much less how to find it in the Application Manager and clear it's data, I can pretty confidently claim that a Clear Data was not done.  Is there an expectation that performing a clear data might solve things, or make them worse?

Costin Manolache

unread,
Sep 30, 2013, 9:50:05 PM9/30/13
to andro...@googlegroups.com

Make them worse.

Kenneth Corbin

unread,
Oct 1, 2013, 11:35:31 AM10/1/13
to andro...@googlegroups.com
My user is running  Google Play Services version 3.2.65 (834000-34).  This is the same version that I have installed, which means it is probably the latest one available.

Is there an easy way to get my hands on an earlier version that could be installed on devices that run into this problem.  Doing a factory reset just get get GCM enabled can be a drag.

Thanks,
-Ken

Costin Manolache

unread,
Oct 1, 2013, 1:29:27 PM10/1/13
to andro...@googlegroups.com
The only problem I'm aware of that would require a factory reset is if the user manually clears data for Google ServicesFramework. This will cause the device ID to be lost, and all existing registrations will still point to the old ID. 

Play Services is updated automatically - almost all users should have the same version, I don't think it would help to test with older versions. Some apps require a user to upgrade and don't work until user has the current version.



Costin


Costin


Kenneth Corbin

unread,
Oct 1, 2013, 2:32:58 PM10/1/13
to andro...@googlegroups.com
The factory reset works by rolling the entire system back to an earlier version of everything.  Once he does that, he can register for a GCM ID, but as soon as he installs the latest versions of everything, he starts getting authentication failures again.

I now have a second user that appears to be in the same fix.  They are running Android 2.3.6 and presumably have the latest version of Google Play Services.  They actually started reporting the issue on 9/24.  But I did not identify them as having a permanent problem until now.

Other than doing a factory reset, or trying to find a system upgrade for their device, what can I tell them to do????

Costin Manolache

unread,
Oct 1, 2013, 3:41:54 PM10/1/13
to andro...@googlegroups.com
Please send me some info to identify the device. 

There are some settings I can push, if I can identify a pattern - so far I can't reproduce and I don't have enough info. 

Costin


Kenneth Corbin

unread,
Oct 1, 2013, 3:55:29 PM10/1/13
to andro...@googlegroups.com
What information would you need to identify the device?  I can get a phone number, a Google account associated with the request, and the exact date/time the request went in.  Would anything else be helpful?

Costin Manolache

unread,
Oct 1, 2013, 4:55:00 PM10/1/13
to andro...@googlegroups.com
Account is ok, exact time is not required but needs to be in the last week. 
Phone number doesn't help at all. 

Bugreport is best - but requires someone who can run 'adb bugreport'. 

We have a pretty large number of devices - so far the stats and logs don't show any change, but it is possible that some particular device (or devices) may behave differently. 

Costin


p.k...@gmail.com

unread,
Oct 2, 2013, 7:43:38 AM10/2/13
to andro...@googlegroups.com
hello, i'm having the same problem here.
i've tried everything, including a total reset of the phone and creating a new google account for it,
still getting the AUTHENTICATION_FAILED error constantly.

even building and running the gcm demo, which is referred to in the gcm reference, brought the same result.

the phone is a samsung gt-i9000, running android 2.2

here is the log from the gcm demo app:
10-02 11:19:24.709: D/dalvikvm(4952): DexOpt: couldn't find field Landroid/content/res/Configuration;.smallestScreenWidthDp
10-02 11:19:24.709: W/dalvikvm(4952): VFY: unable to resolve instance field 28
10-02 11:19:24.709: D/dalvikvm(4952): VFY: replacing opcode 0x52 at 0x0012
10-02 11:19:24.709: D/dalvikvm(4952): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z
10-02 11:19:24.728: I/GCM Demo(4952): Registration not found.
 

any help would be very much appreciated,
thanks, 
peter


Itay Avtalyon

unread,
Oct 4, 2013, 12:34:42 PM10/4/13
to andro...@googlegroups.com
Hello everyone,

I am having the same problem with my app. On an Android 4 device, the code works fine and I manage to register the device.

On my Samsung Galaxy I (running Gingerbread) I keep getting the AUTHENTICATIN_FAILED error.

I've get the device right here, so I can help with the debugging....

Thanks!

Costin Manolache

unread,
Oct 4, 2013, 4:07:53 PM10/4/13
to andro...@googlegroups.com
Bugreports to me please.  "adb bugreport".

It looks like the number of affected devices is small ( at least as percentage ), it also affects some more recent devices, but so far we can't repro and I only have one good bugreport, thanks again Peter !

Costin


--
You received this message because you are subscribed to the Google Groups "android-gcm" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-gcm...@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.

Kenneth Corbin

unread,
Oct 4, 2013, 10:56:51 PM10/4/13
to andro...@googlegroups.com
It looks like I have lost my two users reporting this issue.  One got Verizon tech support to replace his old Gingerbread phone with a new one.   Other may be going the same route.  Good for them, but doesn't do anything to help you isolate the problem.

Kenneth Corbin

unread,
Oct 6, 2013, 12:35:30 PM10/6/13
to andro...@googlegroups.com
Had another user run into this.  Details reported by private mail.

How badly do you need those bugreport files?  Getting non-tech savy users to install the SDK so they can run a adb bugreport is going to be challenging at best.  But I could modify my app to do an internal bugreport when Google returns an AUTHENTICATION_FAILURE status.  Then have them forward the resulting file to me.  It is a very lengthy operation, I would have to do it in a separate thread or process, which makes it non-trivial.  But I can do that if it would be helpful.

Kind of surprised someone hasn't written an app to do that yet...


On Friday, October 4, 2013 1:07:53 PM UTC-7, Costin Manolache wrote:

Santiago G. Marín

unread,
Oct 7, 2013, 12:54:29 PM10/7/13
to andro...@googlegroups.com
Don't know if this helps, but I'm having this issue too. I've implemented GCM on an Android 4.1.2 device without problem, but sometimes it gives "SERVICE_NOT_AVAILABLE" error. I've managed to bypass that error by adding "<action android:name="com.google.android.c2dm.intent.REGISTRATION" />" to my "GCMBroadcastReceiver" and that works every time. Even if the "SERVICE_NOT_AVAILABLE" error appears, the Broadcast Receiver filters the intent and calls "onRecieve()" with a valid "registration_id" in the intent extras.

Yesterday I faced the persistent "AUTHENTICATION_FAILED" on an Android 2.3.6 device. I've tried reinstalling Google Play Services and nothing. I can use Hangouts, Google+ and every other service with my Google Accounts, but the GCM registration fails in my app every time with "AUTHENTICATION_FAILED".

I'm using the app support library, don't if it has any influence over GCM.

I'd be glad to help with any more debugging needed, since many of the Androids in my country are 2.2 to 2.3.x and this limits my audience a lot.

Erik Åberg

unread,
Oct 8, 2013, 2:54:55 AM10/8/13
to andro...@googlegroups.com
I'm having the same problem. The user is running an Android 2.2 device and I think the  user have cleared the data for Google Play Service. Is factory reset only option or is the problem some where else? 

/Eric

Erik Åberg

unread,
Oct 8, 2013, 6:55:08 AM10/8/13
to andro...@googlegroups.com
Should also say that for those who receive AUTHENTICATION_FAILED the  old GCMRegister.register() procedure works, so for those I use the old way as fallback.

Itay Avtalyon

unread,
Oct 8, 2013, 10:46:14 AM10/8/13
to andro...@googlegroups.com
What is the old procedure?


--
You received this message because you are subscribed to a topic in the Google Groups "android-gcm" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/android-gcm/ecG-RfH-Aso/unsubscribe.
To unsubscribe from this group and all its topics, send an email to android-gcm...@googlegroups.com.

To post to this group, send email to andro...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.



--

איתי אבטליון
מפתח ראשי
אימוגי מערכות מידע

Costin Manolache

unread,
Oct 8, 2013, 7:11:17 PM10/8/13
to andro...@googlegroups.com
Some background: 
Froyo and Gingerbread registration is implemented in GoogleServicesFramework, using the Google account for registration. This has resulted in a lot of auth errors for people where the account was not in a good state.

Starting with ICS, GCM doesn't depend or uses the Google account - you can use it before you add an account or without any accounts.

The "Play Services" update is implementing the new scheme on all devices - but it seems a small number of devices have problems with this, we're investigating - but the numbers are far lower than those with the old scheme. 

If you want to use the code in GSF, for Froyo and Gingerbread - you need to use the previous library, which sets package name explicitly. The new library in GCM is using the new registration code. 

The actual connection to google is following the same path - we're gradually (and slowly) moving devices to the new code in play services. 

So far I have 2 bugreports, and we have a few suspects. We know that if a device is not connected for >9 months it's going to be in this state, and a factory reset will be needed. 

We had some reports where a factory reset didn't solve the problem - but I have no bugreport or information to confirm or trace this. The only case I identified where a factory reset wouldn't help is if the phone is sending bad information to the server in the initial checkin - we're adding extra checks for this.

If you have a phone in this state - please send a bugreport to me. If it happens on a dev/rooted phone - please let me know, this is the easiest to debug.

Costin



--
You received this message because you are subscribed to the Google Groups "android-gcm" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-gcm...@googlegroups.com.

To post to this group, send email to andro...@googlegroups.com.

Itay Avtalyon

unread,
Oct 9, 2013, 9:04:00 AM10/9/13
to andro...@googlegroups.com
I have sent a bug report from my Samsung Galaxy I device. Did you get it?

Would it help if I do a factory reset and try again and sent a bug report if it fails?

Thanks for the help!



For more options, visit https://groups.google.com/groups/opt_out.

Kenneth Corbin

unread,
Oct 13, 2013, 11:15:40 AM10/13/13
to andro...@googlegroups.com
Just submitted another bugreport from a new incident.

Is there anything we can tell the user to do to work around this.  In particular isl doing a clear data / cache on Google Play Store and Google Play Services likely to help.  It may or may not be a coincidence but the last user to run into this was getting server error 500 errors when they tried download a file manager app.  And the recommended way to resolve that issue was to clear data on a lot of internal Google apps.

Santiago G. Marín

unread,
Oct 13, 2013, 1:00:21 PM10/13/13
to andro...@googlegroups.com
What's been working for me right now is to check if the error appears and, if it does, fallback to the deprecated GCMRegistrar.register() method. You must import the gcm.jar to use it, located inside your Android sdk folder.

Also, your broadcast receiver must filter the REGISTER intent also in order to receive both calls, from the current and deprecated registers.

Itay Avtalyon

unread,
Oct 13, 2013, 2:50:22 PM10/13/13
to andro...@googlegroups.com
Hey Santiage,

Thanks for the advice. Can you share some code? :)

Thanks anyhoo,



On Sun, Oct 13, 2013 at 8:00 PM, Santiago G. Marín <stgo....@gmail.com> wrote:
What's been working for me right now is to check if the error appears and, if it does, fallback to the deprecated GCMRegistrar.register() method. You must import the gcm.jar to use it, located inside your Android sdk folder.

Also, your broadcast receiver must filter the REGISTER intent also in order to receive both calls,  from the  current and deprecated registers.
--
You received this message because you are subscribed to a topic in the Google Groups "android-gcm" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/android-gcm/ecG-RfH-Aso/unsubscribe.
To unsubscribe from this group and all its topics, send an email to android-gcm...@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.

Itay Avtalyon

unread,
Oct 13, 2013, 2:51:01 PM10/13/13
to andro...@googlegroups.com
* Sorry - meant Santiago

Costin Manolache

unread,
Oct 13, 2013, 2:54:19 PM10/13/13
to andro...@googlegroups.com
Using the deprecated register() will help indeed on Gingerbread/Froyo, since it'll use the google account for registration instead of the device ID.

We found some cases in the logs on ICS and JB too - the deprecated register() won't make any difference in this case.

On clearing the data: it's a very dangerous operation, and we know for sure that clearing GoogleServicesFramework data will invalidate the device ID - and all the registration IDs that any installed app have gotten will no longer work.
However in this particular bug - it may help, since the problem seems to be that some devices just don't have a good deviceID.  Much safer to do a factory reset, or wait until we find the bug.

Costin


On Sun, Oct 13, 2013 at 10:00 AM, Santiago G. Marín <stgo....@gmail.com> wrote:
What's been working for me right now is to check if the error appears and, if it does, fallback to the deprecated GCMRegistrar.register() method. You must import the gcm.jar to use it, located inside your Android sdk folder.

Also, your broadcast receiver must filter the REGISTER intent also in order to receive both calls,  from the  current and deprecated registers.
--
You received this message because you are subscribed to the Google Groups "android-gcm" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-gcm...@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.

Santiago G. Marín

unread,
Oct 13, 2013, 4:04:32 PM10/13/13
to andro...@googlegroups.com
No problem Itay. Here's the approach I've been using, it may not be the best, but it works fine for now.

https://dl.dropboxusercontent.com/u/42549969/GCMRegisterApp.zip

You have to add the google-play-services_lib to your android libs. The gcm.jar is included.
Don't forget to change the Sender ID in the GcmHelper class.

Let me know how it goes ;)

Kenneth Corbin

unread,
Oct 14, 2013, 1:33:59 AM10/14/13
to andro...@googlegroups.com
We use the even older logic, left over from the old C2DM days where we generate the register request intents and process the responses ourselves.  We are using the GCM registration, but we build and broadcast the register intent's ourselves, and listen for and process the responding intents.  I was assuming that newer logic in gcm.jar and whatever replaced that does the same thing, the real GCM registration logic was taking place in Google Play Services or whoever is processing the intents that we broadcast.

Is there something we can do to force use of the older Gingerbread logic.

Itay Avtalyon

unread,
Oct 14, 2013, 6:13:05 AM10/14/13
to andro...@googlegroups.com
Thanks, Santiago!

I will try and update!


--
You received this message because you are subscribed to a topic in the Google Groups "android-gcm" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/android-gcm/ecG-RfH-Aso/unsubscribe.
To unsubscribe from this group and all its topics, send an email to android-gcm...@googlegroups.com.

To post to this group, send email to andro...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

Costin Manolache

unread,
Oct 14, 2013, 2:32:58 PM10/14/13
to andro...@googlegroups.com
The 'old logic' from C2DM, the deprecated gcm library and the new library in GooglePlayServices all do similar things. The new library avoids the need of a receiver, it can return the registration ID using a blocking call, and it is 'bound' to the GooglePlayServices implementation, which uses the new scheme.

The deprecated GCM library is mostly the same with the old C2DM logic, the main difference is that it has a call to "setPackage(GSF)" - so it is bound to GoogleServicesFramework, can't use the new implementation in play services.  If you remove this call or if you use the 'old logic', the system will choose an implementation based on some configuration, which right now is to use old GSF implementation on Froyo/GB and new implementation in newer versions.  

This problem affects a pretty small percentage of devices - if you really want to work around while we're looking for the cause and fixing it, the best bet is to first try the new implementation, using the new play services library, and than fallback to the deprecated library. At the moment there are more people getting registration failures caused by bad account status - i.e. more people can register using the new play services library. This is only needed for Gingerbread and Froyo, later versions use the new scheme. 


Costin


Jonathan Woo

unread,
Oct 17, 2013, 2:07:27 PM10/17/13
to andro...@googlegroups.com
Currently, we are using the new implementation first and then falling back to a generated Intent that tries to register with GCM.

Here is a log from one of our users:
V/Active911Service-GCMThread(17777): Starting Background Task
V/Active911Service-GCMThread(17777): Getting GCM Instance
V/Active911Service-GCMThread(17777): Registering...
D/dalvikvm(   81): GC_EXPLICIT freed 13K, 49% free 2771K/5379K, external 1610K/2122K, paused 43ms
D/dalvikvm(   81): GC_EXPLICIT freed <1K, 49% free 2771K/5379K, external 1610K/2122K, paused 59ms
D/dalvikvm(   81): GC_EXPLICIT freed <1K, 49% free 2771K/5379K, external 1610K/2122K, paused 41ms
I/ActivityThread(17786): Pub com.google.android.gms.plus;com.google.android.gms.plus.action: com.google.android.gms.plus.provider.PlusProvider
E/dalvikvm(17786): Could not find class 'android.database.sqlite.SQLiteCantOpenDatabaseException', referenced from method com.google.android.gms.plus.provider.PlusProvider.a
W/dalvikvm(17786): VFY: unable to resolve instanceof 472 (Landroid/database/sqlite/SQLiteCantOpenDatabaseException;) in Lcom/google/android/gms/plus/provider/PlusProvider;
D/dalvikvm(17786): VFY: replacing opcode 0x20 at 0x0048
D/dalvikvm(17786): VFY: dead code 0x004a-0058 in Lcom/google/android/gms/plus/provider/PlusProvider;.a ([Landroid/accounts/Account;)V
I/ActivityThread(17786): Pub com.google.android.gms.games: com.google.android.gms.games.provider.NotificationStubContentProvider
I/ActivityThread(17786): Pub com.google.android.gms.games.background: com.google.android.gms.games.provider.GamesContentProvider
I/ActivityManager(  141): Process com.active911.app (pid 17707) has died.
D/KeyguardViewMediator(  141): setHidden false
D/KeyguardViewMediator(  141): setHidden false
I/WindowManager(  141): WIN DEATH: Window{40555050 com.active911.app/com.active911.app.MainActivity paused=false}
I/WindowManager(  141): WIN DEATH: Window{40579ae8 com.active911.app/com.active911.app.SettingsActivity paused=false}
D/SensorManager( 6733): unregisterListener:: disable all sensors for this listener,  listener = ecb@40677ad0
I/ActivityThread(17786): Pub com.google.android.gms.people: com.google.android.gms.people.service.PeopleContentProvider
I/ActivityThread(17786): Pub com.google.android.gms.appstate: com.google.android.gms.appstate.provider.AppStateContentProvider
I/ActivityThread(17786): Pub com.google.android.gms.people.export: com.google.android.gms.people.debug.PeopleExportProvider
I/dalvikvm(17786): Could not find method android.net.TrafficStats.setThreadStatsTag, referenced from method hw.run
W/dalvikvm(17786): VFY: unable to resolve static method 3345: Landroid/net/TrafficStats;.setThreadStatsTag (I)V
D/dalvikvm(17786): VFY: replacing opcode 0x71 at 0x0039
D/GCM     (17786): No ConnectivityManager.isNetworkTypeMobile
W/GCM     (  258): DIR: /data/data/com.google.android.gms/app_APP /data/data/com.google.android.gsf
W/GCM     (  258): DIR: /data/data/com.google.android.gms/app_APP /data/data/com.google.android.gsf
I/Recovery(17786): Received: Intent { act=com.google.android.gms.INITIALIZE pkg=com.google.android.gms cmp=com.google.android.gms/.auth.be.recovery.AccountRecoveryBackgroundService$Receiver }
D/GCM     (  258): GcmService start Intent { act=com.google.android.gms.INITIALIZE pkg=com.google.android.gms cmp=com.google.android.gms/.gcm.GcmService } com.google.android.gms.INITIALIZE
I/MainActivity(17777): Canceling timer
I/GcmBroadcastReceiver(17777): Received intent with keys:[error]
I/GcmBroadcastReceiver(17777): error: AUTHENTICATION_FAILED
E/WifiService(  141): notifyOnDataActivity Call....Tx 17403RX is 19052
D/dalvikvm(17777): GC_FOR_MALLOC freed 1100K, 53% free 3141K/6663K, external 1987K/2122K, paused 31ms
D/dalvikvm(17777): GC_FOR_MALLOC freed 449K, 53% free 3180K/6663K, external 1610K/2122K, paused 27ms
D/dalvikvm(17777): GC_CONCURRENT freed 600K, 52% free 3255K/6663K, external 1610K/2122K, paused 20ms+2ms
I/ActivityManager(  141): Process com.google.android.gms (pid 17786) has died.
D/dalvikvm(17777): GC_FOR_MALLOC freed 93K, 52% free 3216K/6663K, external 1610K/2122K, paused 32ms
I/dalvikvm-heap(17777): Grow heap (frag case) to 7.567MB for 543260-byte allocation
D/dalvikvm(17777): GC_FOR_MALLOC freed 0K, 49% free 3746K/7239K, external 1610K/2122K, paused 14ms
D/dalvikvm(17777): GC_FOR_MALLOC freed 935K, 54% free 3392K/7239K, external 1610K/2122K, paused 31ms
I/dalvikvm-heap(17777): Grow heap (frag case) to 7.999MB for 814886-byte allocation
D/dalvikvm(17777): GC_FOR_MALLOC freed 0K, 49% free 4188K/8071K, external 1610K/2122K, paused 15ms
D/dalvikvm(17777): GC_CONCURRENT freed 1025K, 55% free 3695K/8071K, external 1610K/2122K, paused 2ms+11ms
E/WifiService(  141): notifyOnDataActivity Call....Tx 17403RX is 19053
D/dalvikvm(17777): GC_FOR_MALLOC freed 403K, 55% free 3657K/8071K, external 1610K/2122K, paused 36ms
I/dalvikvm-heap(17777): Grow heap (frag case) to 8.646MB for 1222324-byte allocation
D/dalvikvm(17777): GC_FOR_MALLOC freed 0K, 48% free 4850K/9287K, external 1610K/2122K, paused 20ms
D/dalvikvm(17777): GC_CONCURRENT freed 1346K, 55% free 4222K/9287K, external 1610K/2122K, paused 2ms+2ms
D/dalvikvm(17777): GC_FOR_MALLOC freed 728K, 57% free 4055K/9287K, external 1610K/2122K, paused 28ms
I/dalvikvm-heap(17777): Grow heap (frag case) to 9.618MB for 1833482-byte allocation
D/dalvikvm(17777): GC_FOR_MALLOC freed 0K, 48% free 5845K/11079K, external 1610K/2122K, paused 19ms
D/dalvikvm(17777): GC_CONCURRENT freed 1641K, 58% free 4704K/11079K, external 1610K/2122K, paused 2ms+3ms
D/dalvikvm(17777): GC_FOR_MALLOC freed 52K, 59% free 4651K/11079K, external 1610K/2122K, paused 14ms
I/dalvikvm-heap(17777): Grow heap (frag case) to 9.774MB for 1386952-byte allocation
I/POWER_OFF_TEST(  141): mBatteryLevel = 67   mBatteryDecimalPoint = 0
D/dalvikvm(17777): GC_CONCURRENT freed 0K, 46% free 6006K/11079K, external 1610K/2122K, paused 2ms+2ms
D/MainActivity(17777): Sending Post Request
W/Active911Service-GCMThread(17777): GCM registration failed.  Trying manual intent for older version support
I/ActivityThread(17812): Pub com.google.android.gms.plus;com.google.android.gms.plus.action: com.google.android.gms.plus.provider.PlusProvider
E/dalvikvm(17812): Could not find class 'android.database.sqlite.SQLiteCantOpenDatabaseException', referenced from method com.google.android.gms.plus.provider.PlusProvider.a
W/dalvikvm(17812): VFY: unable to resolve instanceof 472 (Landroid/database/sqlite/SQLiteCantOpenDatabaseException;) in Lcom/google/android/gms/plus/provider/PlusProvider;
D/dalvikvm(17812): VFY: replacing opcode 0x20 at 0x0048
D/dalvikvm(17812): VFY: dead code 0x004a-0058 in Lcom/google/android/gms/plus/provider/PlusProvider;.a ([Landroid/accounts/Account;)V
I/ActivityThread(17812): Pub com.google.android.gms.games: com.google.android.gms.games.provider.NotificationStubContentProvider
I/ActivityThread(17812): Pub com.google.android.gms.games.background: com.google.android.gms.games.provider.GamesContentProvider
I/ActivityThread(17812): Pub com.google.android.gms.people: com.google.android.gms.people.service.PeopleContentProvider
I/ActivityThread(17812): Pub com.google.android.gms.appstate: com.google.android.gms.appstate.provider.AppStateContentProvider
I/ActivityThread(17812): Pub com.google.android.gms.people.export: com.google.android.gms.people.debug.PeopleExportProvider
D/dalvikvm(17777): GC_CONCURRENT freed 2040K, 50% free 5566K/11079K, external 1610K/2122K, paused 2ms+2ms
I/dalvikvm(17812): Could not find method android.net.TrafficStats.setThreadStatsTag, referenced from method hw.run
W/dalvikvm(17812): VFY: unable to resolve static method 3345: Landroid/net/TrafficStats;.setThreadStatsTag (I)V
D/dalvikvm(17812): VFY: replacing opcode 0x71 at 0x0039
D/GCM     (17812): No ConnectivityManager.isNetworkTypeMobile
D/dalvikvm(  258): GC_EXPLICIT freed 827K, 44% free 4597K/8199K, external 1610K/2122K, paused 87ms
W/GCM     (  258): DIR: /data/data/com.google.android.gms/app_APP /data/data/com.google.android.gsf
W/GCM     (  258): DIR: /data/data/com.google.android.gms/app_APP /data/data/com.google.android.gsf
I/Recovery(17812): Received: Intent { act=com.google.android.gms.INITIALIZE pkg=com.google.android.gms cmp=com.google.android.gms/.auth.be.recovery.AccountRecoveryBackgroundService$Receiver }
D/GCM     (  258): GcmService start Intent { act=com.google.android.gms.INITIALIZE pkg=com.google.android.gms cmp=com.google.android.gms/.gcm.GcmService } com.google.android.gms.INITIALIZE
I/MainActivity(17777): Canceling timer
I/GcmBroadcastReceiver(17777): Received intent with keys:[error]
I/GcmBroadcastReceiver(17777): error: AUTHENTICATION_FAILED

Jonathan Woo

unread,
Oct 17, 2013, 3:48:14 PM10/17/13
to andro...@googlegroups.com
I have posted the code we use to gather logs as an Android project on Github, it can be found here: https://github.com/jwred5/GcmDebugLogger

If anyone else would like to use it, feel free to fork it and use it for your own userbase to gather logs on this issue.

Here is another log:
V/Active911Service-GCMThread( 5296): Starting Background Task
V/Active911Service-GCMThread( 5296): Getting GCM Instance
V/Active911Service-GCMThread( 5296): Registering...
W/GCM     (  276): DIR: /data/data/com.google.android.gms/app_APP /data/data/com.google.android.gsf
W/GCM     (  276): DIR: /data/data/com.google.android.gms/app_APP /data/data/com.google.android.gsf
W/Active911Service-GCMThread( 5296): GCM registration failed.  Trying manual intent for older version support
I/MainActivity( 5296): Canceling timer
I/GcmBroadcastReceiver( 5296): Received intent with keys:[error]
I/GcmBroadcastReceiver( 5296): error: AUTHENTICATION_FAILED

Jonathan Woo

unread,
Oct 17, 2013, 8:36:09 PM10/17/13
to andro...@googlegroups.com
One more log.  Should I keep posting them here, or send them directly to Costin?

V/Active911Service-GCMThread( 8451): Starting Background Task
V/Active911Service-GCMThread( 8451): Getting GCM Instance
V/Active911Service-GCMThread( 8451): Registering...
E/WifiService(  141): notifyOnDataActivity Call....Tx 13408RX is 36702
D/GCM     ( 8442): No ConnectivityManager.isNetworkTypeMobile
W/GCM     (  285): DIR: /data/data/com.google.android.gms/app_APP /data/data/com.google.android.gsf
W/GCM     (  285): DIR: /data/data/com.google.android.gms/app_APP /data/data/com.google.android.gsf
I/MainActivity( 8451): Canceling timer
I/GcmBroadcastReceiver( 8451): Received intent with keys:[error]
I/GcmBroadcastReceiver( 8451): error: AUTHENTICATION_FAILED

Jonathan Woo

unread,
Oct 21, 2013, 7:00:40 PM10/21/13
to andro...@googlegroups.com
Any update on this issue?  I also have the 64-bit IDs of the devices if that would help you traceback to the request serverside.

Jonathan Woo

unread,
Nov 4, 2013, 1:51:00 PM11/4/13
to andro...@googlegroups.com
Is there any update in regards to this issue.  We have about 500 customers still experiencing the problem.

Santiago G. Marín

unread,
Nov 4, 2013, 1:53:04 PM11/4/13
to andro...@googlegroups.com

Looks like there's no solution but to fallback to the GcmRegistrar...

--
You received this message because you are subscribed to a topic in the Google Groups "android-gcm" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/android-gcm/ecG-RfH-Aso/unsubscribe.
To unsubscribe from this group and all its topics, send an email to android-gcm...@googlegroups.com.

To post to this group, send email to andro...@googlegroups.com.

Costin Manolache

unread,
Nov 5, 2013, 2:47:09 PM11/5/13
to andro...@googlegroups.com
It's a pretty complicated issue - and it doesn't have a single cause. We are working to improve some of the cases, but it may take a while, the numbers are pretty low and some changes are risky and require lots of testing.

To help developers getting this problem, some more details:

What happens is that the 'android ID' is missing or can't be verified on the server. 
We believe most cases would be solved by a factory reset, in particular if the device hasn't been used for >9 months. We are working on a workaround for the 9-month expiration, it seems the most common cause.

The only case we identified where a factory reset wouldn't help is if the device reports invalid IMEI/hardware ID, and get flagged as spammers or broken. We've seen "0000000", too few digits, etc. There is also some work to identify this. 

For Gingerbread/Froyo devices - falling back to the old library for registration is _probably_ going to work - but if possible it would be better to do a factory reset and get the phone into a good state. This may also be one of the few cases where clearing data on the GoogleServicesFramework may improve things - but keep in mind that any registration IDs that apps got before the 'clear data' will become invalid.

If you have reports of "factory reset" not working - please send me a private email, I'm interested in the IMEI ( at least how many digits and if they look odd, like all 0) and phone type/version. If the device is rooted - please let me know, there is additional debugging that would help a lot.

Costin




--
You received this message because you are subscribed to the Google Groups "android-gcm" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-gcm...@googlegroups.com.

To post to this group, send email to andro...@googlegroups.com.

Kenneth Corbin

unread,
Dec 14, 2013, 2:36:30 PM12/14/13
to andro...@googlegroups.com
Just had a user run into this, and his device is reporting an MEID of A000002AEEAC9F.
Which looks to me like it is a hex rather than decimal dump of something.
Is there any chance whatsoever that a device reset will fix him?

Kenneth Corbin

unread,
Dec 22, 2013, 11:59:20 AM12/22/13
to andro...@googlegroups.com
We really need a better solution than a factory reset.  All users object to being forced to reset their phone.  The vast majority have abandoned our product features that require this rather than go through with a factory reset :(


On Tuesday, November 5, 2013 11:47:09 AM UTC-8, Costin Manolache wrote:

Costin Manolache

unread,
Dec 22, 2013, 12:31:56 PM12/22/13
to andro...@googlegroups.com
We are working on it, but it requires some bigger changes in different
 components. Sorry for the delay. 

This may be the one case where clearing data for GoogleServicesFramework would be acceptable. The 'authentication' errors are caused by the device registration - it is likely that no app will be able to use GCM on a device is in this state. I recommend factory reset because it allows all apps to clear any data that is associated with the old registration.

Costin



Kenneth Corbin

unread,
Dec 22, 2013, 5:04:05 PM12/22/13
to andro...@googlegroups.com
I've been checking back with all of the users who reported this problem to see how things have turned out.  So far, none have been willing to do a factory reset, and they have had no luck clearing data for Google Services Framework.  The most recent one is, surprisingly, still receiving GCM messages posted with a registration ID we got way before this all started happening, probably back in September.  Since then he has probably installed 10 application upgrades, we do about one a week.  Each time we try to get a new registration ID, which fails with the AUTHENTICATION_FAILED problem.  But messages posted with the old registration ID keep on coming.

Tyler Lyman

unread,
Jan 3, 2014, 4:28:36 PM1/3/14
to andro...@googlegroups.com
Is there any sort of time frame for this?

We have seen a few users successfully reset their devices and fix the issue, but just as many are reporting that no number of factory resets  or clearing the GSF data have solved this.

We have many people using identical hardware and software builds; registration works on some and not on others, or a reset fixes it on one and does nothing to the next one. This is very common with Motorola Admiral or Samsung Stratosphere.


Message has been deleted

Tyler Lyman

unread,
Feb 17, 2014, 11:42:45 AM2/17/14
to andro...@googlegroups.com
Any updates in the last few months, or can we assume that this issue isn't going to be fixed and we just need to tell our clients that "Google isn't going to fix this; they will just have to wait until they upgrade their phone"? Gingerbread phones are still being sold or replaces by many carriers and the customers expect the new smartphone they just received to be able to run the same apps as the person next to them with the exact same phone, build, etc.

Shawn Martin

unread,
Feb 28, 2014, 1:28:01 AM2/28/14
to andro...@googlegroups.com
I reported this problem back in Sept or Oct and about a month or two ago, it randomly started working again while I was at the station. Factory resets did absolutely nothing except waste time and produce large amounts of frustration putting all info back into the phone. Seems to be the "solve all" solution for Google, Verizon, and Samsung while never solving anything. Not sure what the problem was or even if y'all fixed it or if my phone fixed itself, but I'm happy to have it back up. To the person who was able to get a new device because of this issue, I envy you, Verizon basically told me too bad, not our problem.
Reply all
Reply to author
Forward
0 new messages