amazon-archives / aws-sdk-unity

ARCHIVED: The aws sdk for unity is now distributed as a part of aws sdk for dotnet:
https://github.com/aws/aws-sdk-net
Other
105 stars 43 forks source link

Application hang , unity editor force quit #116

Closed madangosain closed 8 years ago

madangosain commented 8 years ago

It happen when I make calls to multiple different tables almost at same point of time. It usually occur only when making first call to the table. From the logs, it stuck at WaitOne when trying to load config. Please let me know if there is any workaround?

System.Threading.WaitHandle.WaitOne () in /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Threading/WaitHandle.cs:334 Amazon.Runtime.Internal.UnityWebRequest.GetResponse () in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/HttpHandler/_unity/UnityWebRequestFactory.cs:173 Amazon.Runtime.Internal.HttpHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/HttpHandler/HttpHandler.cs:87 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.Unmarshaller.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/Handlers/Unmarshaller.cs:50 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.ErrorHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/ErrorHandler/ErrorHandler.cs:76 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.CallbackHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/Handlers/CallbackHandler.cs:47 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.Signer.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/Handlers/Signer.cs:40 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.CredentialsRetriever.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/Handlers/CredentialsRetriever.cs:74 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.RetryHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/RetryHandler/RetryHandler.cs:76 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.CallbackHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/Handlers/CallbackHandler.cs:47 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.EndpointResolver.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/Handlers/EndpointResolver.cs:36 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.Marshaller.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/Handlers/Marshaller.cs:39 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.CallbackHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/Handlers/CallbackHandler.cs:47 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.ErrorCallbackHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/Handlers/ErrorCallbackHandler.cs:41 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.MetricsHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/Handlers/MetricsHandler.cs:42 Amazon.Runtime.Internal.PipelineHandler.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/PipelineHandler.cs:59 Amazon.Runtime.Internal.RuntimePipeline.InvokeSync (executionContext={Amazon.Runtime.Internal.ExecutionContext}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Pipeline/RuntimePipeline.cs:137 Amazon.Runtime.AmazonServiceClient.Invoke (request={Amazon.DynamoDBv2.Model.DescribeTableRequest}, marshaller={Amazon.DynamoDBv2.Model.Internal.MarshallTransformations.DescribeTableRequestMarshaller}, unmarshaller={Amazon.DynamoDBv2.Model.Internal.MarshallTransformations.DescribeTableResponseUnmarshaller}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/AmazonServiceClient.cs:141 Amazon.DynamoDBv2.AmazonDynamoDBClient.DescribeTable (request={Amazon.DynamoDBv2.Model.DescribeTableRequest}) in /Project/Assets/AWSSDK/src/Services/DynamoDBv2/Generated/_unity/AmazonDynamoDBClient.cs:1474 Amazon.DynamoDBv2.DocumentModel.Table.DescribeTable (tableName="Device") in /Project/Assets/AWSSDK/src/Services/DynamoDBv2/Custom/DocumentModel/Table.cs:297 Amazon.Runtime.Internal.Util.Cache<object,object>.GetValueHelper (key="Device", isStaleItem=true, creator={System.Func<string,Amazon.DynamoDBv2.Model.TableDescription>}) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Internal/Util/SdkCache.cs:426 Amazon.Runtime.Internal.Util.Cache<object,object>.GetValue (key="Device", creator={System.Func<string,Amazon.DynamoDBv2.Model.TableDescription>}, isStaleItem=true) in /Project/Assets/AWSSDK/src/Core/Amazon.Runtime/Internal/Util/SdkCache.cs:317 Amazon.DynamoDBv2.DocumentModel.Table.LoadTableInfo () in /Project/Assets/AWSSDK/src/Services/DynamoDBv2/Custom/DocumentModel/Table.cs:133 Amazon.DynamoDBv2.DocumentModel.Table.LoadTable (ddbClient={Amazon.DynamoDBv2.AmazonDynamoDBClient}, tableName="Device", consumer=The requested item has been unloaded., conversion={Amazon.DynamoDBv2.DynamoDBEntryConversion}) in /Project/Assets/AWSSDK/src/Services/DynamoDBv2/Custom/DocumentModel/Table.cs:354 Amazon.DynamoDBv2.DocumentModel.Table.TryLoadTable (ddbClient={Amazon.DynamoDBv2.AmazonDynamoDBClient}, tableName="Device", consumer=The requested item has been unloaded., conversion={Amazon.DynamoDBv2.DynamoDBEntryConversion}, table=(null)) in /Project/Assets/AWSSDK/src/Services/DynamoDBv2/Custom/DocumentModel/Table.cs:361 Amazon.DynamoDBv2.DataModel.DynamoDBContext.TryGetTable (tableName="Device", flatConfig={Amazon.DynamoDBv2.DataModel.DynamoDBFlatConfig}, table=(null)) in /Project/Assets/AWSSDK/src/Services/DynamoDBv2/Custom/DataModel/ContextInternal.cs:135 Amazon.DynamoDBv2.DataModel.ItemStorageConfigCache.CreateStorageConfig (baseType=The vm is not suspended., actualTableName="Device", flatConfig={Amazon.DynamoDBv2.DataModel.DynamoDBFlatConfig}) in /Project/Assets/AWSSDK/src/Services/DynamoDBv2/Custom/DataModel/InternalModel.cs:642 Amazon.DynamoDBv2.DataModel.ItemStorageConfigCache.GetConfig (type=The vm is not suspended., flatConfig={Amazon.DynamoDBv2.DataModel.DynamoDBFlatConfig}, conversionOnly=false) in /Project/Assets/AWSSDK/src/Services/DynamoDBv2/Custom/DataModel/InternalModel.cs:618 Amazon.DynamoDBv2.DataModel.ItemStorageConfigCache.GetConfig (flatConfig={Amazon.DynamoDBv2.DataModel.DynamoDBFlatConfig}, conversionOnly=false) in /Project/Assets/AWSSDK/src/Services/DynamoDBv2/Custom/DataModel/InternalModel.cs:595 Amazon.DynamoDBv2.DataModel.DynamoDBContext.LoadHelper (hashKey="us-east-1:c17094cb-51f8-41c0-8e16-f7a58be24051", rangeKey="1|||||D7124822-CFA7-546F-87B7-29298DFAAE07", operationConfig=(null), isAsync=true) in /Project/Assets/AWSSDK/src/Services/DynamoDBv2/Custom/DataModel/Context.cs:306 Amazon.DynamoDBv2.DataModel.DynamoDBContext.LoadAsync.AnonymousMethod__C1 () in /Project/Assets/AWSSDK/src/Services/DynamoDBv2/Custom/DataModel/_unity/Context.Async.cs:109

karthiksaligrama commented 8 years ago

Which version of sdk are you using. Also can you specify the API that you are trying to use in dynamoDB?

madangosain commented 8 years ago

SDK: aws-unity-sdk-2.1.0.1 -> aws-sdk-unity-dynamodbv2-2.1.0.1.unitypackage I am calling GetItemAsync, GetItemAsync, GetItemAsync, QueryAsync abd BatchGetAsync from 5 different objects. If I disable the object with BatchGetAsync, all other get/query works fine. If I disable all objects without BatchGetAsync, then also batch get works fine. But If I enable all objects, then GetAsync stuck in infinite loops.

karthiksaligrama commented 8 years ago

can you paste a code snippet here?

karthiksaligrama commented 8 years ago

related to #118 closing this