Skip to content
This repository has been archived by the owner on Jan 16, 2024. It is now read-only.

Crash in HTTP2Transport::cleanupFinishedStreams() #17

Closed
garmin-holder opened this issue Jun 3, 2017 · 3 comments
Closed

Crash in HTTP2Transport::cleanupFinishedStreams() #17

garmin-holder opened this issue Jun 3, 2017 · 3 comments
Assignees
Milestone

Comments

@garmin-holder
Copy link

We are getting several crashes in two different place in cleanupFinishedStreams (line 354 and 393) in 0.3. We upgraded to 0.3 in hopes that the issue was fixed, but we are still getting it. Is this a known issue and if so is it fixed on 0.4? Interestingly we only seem to be getting in in iOS, not Android.

Crashed: Thread
0 Gecko 0x1006eed28 alexaClientSDK::acl::HTTP2Transport::cleanupFinishedStreams() (HTTP2Transport.cpp:354)
1 Gecko 0x1006ee5f4 alexaClientSDK::acl::HTTP2Transport::networkLoop() (HTTP2Transport.cpp:265)
2 Gecko 0x1006ef738 void* std::__1::__thread_proxy<std::__1::tuple<void (alexaClientSDK::acl::HTTP2Transport::)(), alexaClientSDK::acl::HTTP2Transport> >(void*) (memory:2525)
3 libsystem_pthread.dylib 0x189ca568c _pthread_body + 240
4 libsystem_pthread.dylib 0x189ca559c _pthread_body + 282
5 libsystem_pthread.dylib 0x189ca2cb4 thread_start + 4

@scotthea-amazon scotthea-amazon self-assigned this Jun 5, 2017
@scotthea-amazon
Copy link
Contributor

scotthea-amazon commented Jun 5, 2017

Hello,

There is fix to cleanupFinishedStreams() in the 0.4 release for a segmentation fault. In the 0.4 source you will see that line 391:

curl_multi_remove_handle(m_multi->handle, message->easy_handle);

has been moved from just after line 393. This corrected a segmentation fault that we were seeing occasionally in the ACL integration test. It was caused by a mis-ordring tear-down of libcurl resources. This fix should be appropriate in the 0.3 source as well.

I am not 100% sure that this is the same as the issue you are encountering. The lines numbers in the stack trace you provided do not both match up with cleanupFinishedStreams() in the 0.2 and 0.3 source I am looking at. Perhaps you could provide the source file and I could take a closer look.

Please let us know if this helps,

-SWH

@garmin-holder
Copy link
Author

That is probably the same issue. I believe the 354 crash was with 0.2 and 393 reflects an extra include we had to add in 0.3 for Android. Thanks for the response.

kjkh pushed a commit that referenced this issue Jun 9, 2017
Changes in this update
-Implemented Sensory wake word detector functionality
-Removed the need for a std::recursive_mutex in MessageRouter
-Added AIP unit test
-Added handleDirectiveImmediately functionality to SpeechSynthesizer
-Added memory profiles for:
AIP
SpeechSynthesizer
ContextManager
AVSUtils
AVSCommon
-Bug fix for MultipartParser.h compiler warning
-Suppression of sensitive log data even in debug builds. Use cmake parameter -DACSDK_EMIT_SENSITIVE_LOGS=ON to allow logging of sensitive information in DEBUG builds
-Fix crash in ACL when attempting to use more than 10 streams
-Updated MediaPlayer to use autoaudiosink instead of requiring pulseaudio
-Updated MediaPlayer build to suppport local builds of GStreamer
-Fixes for the following Github issues:
#5
#8
#9
#10
#17
#24
@scotthea-amazon
Copy link
Contributor

A fix for this has been pushed in version 0.4.1.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants