| Index: chrome/browser/sync/profile_sync_service.cc
 | 
| ===================================================================
 | 
| --- chrome/browser/sync/profile_sync_service.cc	(revision 48898)
 | 
| +++ chrome/browser/sync/profile_sync_service.cc	(working copy)
 | 
| @@ -400,10 +400,15 @@
 | 
|  
 | 
|  // An invariant has been violated.  Transition to an error state where we try
 | 
|  // to do as little work as possible, to avoid further corruption or crashes.
 | 
| -void ProfileSyncService::OnUnrecoverableError() {
 | 
| +void ProfileSyncService::OnUnrecoverableError(
 | 
| +    const tracked_objects::Location& from_here,
 | 
| +    const std::string& message) {
 | 
|    unrecoverable_error_detected_ = true;
 | 
| -  // TODO(sync) remove this unrecoverable_error_detected_ variable_ as it only
 | 
| -  // affects ShouldPushChanges().
 | 
| +  unrecoverable_error_message_ = message;
 | 
| +  unrecoverable_error_location_.reset(
 | 
| +      new tracked_objects::Location(from_here.function_name(),
 | 
| +                                    from_here.file_name(),
 | 
| +                                    from_here.line_number()));
 | 
|  
 | 
|    // Shut all data types down.
 | 
|    if (data_type_manager_.get())
 | 
| @@ -414,6 +419,9 @@
 | 
|  
 | 
|    FOR_EACH_OBSERVER(Observer, observers_, OnStateChanged());
 | 
|    LOG(ERROR) << "Unrecoverable error detected -- ProfileSyncService unusable.";
 | 
| +  std::string location;
 | 
| +  from_here.Write(true, true, &location);
 | 
| +  LOG(ERROR) << location;
 | 
|  
 | 
|    if (WizardIsVisible()) {
 | 
|      // We've hit an error in the middle of a startup process- shutdown all the
 | 
| @@ -678,7 +686,7 @@
 | 
|        DataTypeManager::ConfigureResult result =
 | 
|            *(Details<DataTypeManager::ConfigureResult>(details).ptr());
 | 
|        if (result != DataTypeManager::OK) {
 | 
| -        OnUnrecoverableError();
 | 
| +        OnUnrecoverableError(FROM_HERE, "Sync Configuration failed.");
 | 
|          return;
 | 
|        }
 | 
|  
 | 
| 
 |