Open lefex opened 6 years ago
Thank you for your feedback. And can you take a picture for the crash page.
------------------------------------------------------------------发件人:Lefe_x notifications@github.com发送时间:2018年1月20日(星期六) 14:20收件人:muhku/FreeStreamer FreeStreamer@noreply.github.com抄 送:Subscribed subscribed@noreply.github.com主 题:[muhku/FreeStreamer] crash AudioConverterFillComplexBuffer (#396) When played. Sometime it will crash. But I can found what happened. I only found it crashed in method decodeSinglePacket when called AudioConverterFillComplexBuffer. I need you help. Thank you very muth. There are two crash log that log in console when crash.Example1:malloc: *** error for object 0x7f9036813610: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
objc[4610]: autorelease pool page 0x7f90368df000 corrupted
magic 0x80000000 0x80000000 0x80000000 0x80000000
should be 0xa1a1a1a1 0x4f545541 0x454c4552 0x21455341
pthread 0x8000000080000000
should be 0x7000069b1000Example2:
malloc: *** error for object 0x60400001a05c: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
*/
OSStatus err = AudioConverterFillComplexBuffer(THIS->m_audioConverter,— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
It crash this method and log in console like:
streamIsReadyReadLine 1088: Audio_Stream::streamIsReadyRead
streamIsReadyReadLine 1144: AudioFileStreamOpen, file parser started..
streamHasBytesAvailableLine 342: Caching started for stream : file:///Users/wangsuyan/Library/Developer/CoreSimulator/Devices/AD246F27-0AEC-4C82-8478-DBCED0CBC911/data/Containers/Data/Application/710CA735-C4CF-4172-ACB7-381BF5C1553E/Library/Caches/ATPlayerCache/FSCache-f06ddeb6692eac6459121e3ed2d171c7989f8e08
propertyValueCallbackLine 2344: file parser propertyValueCallback AudioDataByteCount: 6939083
propertyValueCallbackLine 2356: file parser propertyValueCallback AudioDataPacketCount: 25545
propertyValueCallbackLine 2332: file parser propertyValueCallback dataoffset: 113070
propertyValueCallbackLine 2422: file parser propertyValueCallback ReadyToProducePackets, AudioConverterNew, audioQueue()->init
AiTing_DEV(3860,0x7000037e8000) malloc: *** error for object 0x60400001a05c: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
(lldb) bt
* thread #101, stop reason = signal SIGABRT
frame #0: 0x000000010aeb4d42 libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x000000010aeec457 libsystem_pthread.dylib`pthread_kill + 90
frame #2: 0x000000010ab740e7 libsystem_c.dylib`abort + 127
frame #3: 0x000000010acaef42 libsystem_malloc.dylib`free + 521
frame #4: 0x00000001322f5df3 AudioCodecs`void std::__1::vector<unsigned int, std::__1::allocator<unsigned int> >::__push_back_slow_path<unsigned int>(unsigned int&&) + 193
frame #5: 0x00000001322f572d AudioCodecs`SBRFrequencyBand::cumVectorSum(unsigned int, unsigned char const*, unsigned int) + 165
frame #6: 0x00000001322f564b AudioCodecs`SBRFrequencyBand::SBRCalculateMasterBandTable(unsigned int, unsigned int, unsigned int, unsigned int) + 1131
frame #7: 0x00000001323b8090 AudioCodecs`SBRChannelElement::ResetSBRFreqBandTables() + 212
frame #8: 0x00000001323ba341 AudioCodecs`SBRChannelPairElement::Deserialize(TBitstreamReader<unsigned int>&, int&) + 179
frame #9: 0x00000001323b7dae AudioCodecs`SBRChannelElement::Deserialize(TBitstreamReader<unsigned int>&, int&, bool) + 182
frame #10: 0x00000001323153a4 AudioCodecs`SBRDecoder::Deserialize(TBitstreamReader<unsigned int>&, int&, ElementTagAndID) + 164
frame #11: 0x0000000132337aa1 AudioCodecs`AACDecoder::GetExtensionPayload(TBitstreamReader<unsigned int>&, int&, ElementTagAndID) + 217
frame #12: 0x00000001323372bc AudioCodecs`AACDecoder::Deserialize(TBitstreamReader<unsigned int>&, bool) + 708
frame #13: 0x0000000132336fef AudioCodecs`AACDecoder::Deserialize(unsigned char const*, unsigned int) + 43
frame #14: 0x0000000132337bce AudioCodecs`AACDecoder::DecodeFrame(unsigned char const*, unsigned int, FrameOutRecord&) + 86
frame #15: 0x00000001322ee515 AudioCodecs`MP4HEAACDecoder<AACDecoder>::DecodeFrame(unsigned char const*, unsigned int, FrameOutRecord&) + 311
frame #16: 0x00000001323ddac2 AudioCodecs`ACMP4AACBaseDecoder::ProduceOutputBufferList(AudioBufferList*, unsigned int&, AudioStreamPacketDescription*) + 504
frame #17: 0x00000001323dd8ba AudioCodecs`ACMP4AACBaseDecoder::ProduceOutputPackets(void*, unsigned int&, unsigned int&, AudioStreamPacketDescription*) + 58
frame #18: 0x00000001322ad11c AudioCodecs`ProduceOutputPackets(void*, void*, unsigned int*, unsigned int*, AudioStreamPacketDescription*, unsigned int*) + 20
frame #19: 0x00000001089f5062 AudioToolbox`CodecConverter::DecoderFillBuffer(unsigned int&, AudioBufferList&, AudioStreamPacketDescription*) + 914
frame #20: 0x0000000108942ef6 AudioToolbox`AudioConverterChain::RenderOutput(CABufferList*, unsigned int, unsigned int&, AudioStreamPacketDescription*) + 102
frame #21: 0x000000010891eea9 AudioToolbox`BufferedAudioConverter::FillBuffer(unsigned int&, AudioBufferList&, AudioStreamPacketDescription*) + 825
frame #22: 0x0000000108ae81ad AudioToolbox`AudioConverterFillComplexBuffer + 1037
* frame #23: 0x00000001008def97 AiTing_DEV`astreamer::Audio_Stream::decodeSinglePacket(timer=0x0000600000971f40, info=0x00007fb987ae9000) at audio_stream.mm:1884
frame #24: 0x0000000102fda2a4 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
frame #25: 0x0000000102fd9f62 CoreFoundation`__CFRunLoopDoTimer + 1026
frame #26: 0x0000000102fd9b1a CoreFoundation`__CFRunLoopDoTimers + 266
frame #27: 0x0000000102fd1534 CoreFoundation`__CFRunLoopRun + 2308
frame #28: 0x0000000102fd09b9 CoreFoundation`CFRunLoopRunSpecific + 409
frame #29: 0x000000010300ceb3 CoreFoundation`CFRunLoopRun + 99
frame #30: 0x00000001008d6d6f AiTing_DEV`astreamer::Audio_Stream::decodeLoop(data=0x00007fb987ae9000) at audio_stream.mm:1996
frame #31: 0x000000010aee993b libsystem_pthread.dylib`_pthread_body + 180
frame #32: 0x000000010aee9887 libsystem_pthread.dylib`_pthread_start + 286
frame #33: 0x000000010aee908d libsystem_pthread.dylib`thread_start + 13
(lldb) po encoderDataCallback
(AiTing_DEV`astreamer::Audio_Stream::encoderDataCallback(OpaqueAudioConverter*, unsigned int*, AudioBufferList*, AudioStreamPacketDescription**, void*) at audio_stream.mm:2239)
The crash at here. Thanks. I hope you can deal with this crash.
When played. Sometime it will crash. But I can found what happened. I only found it crashed in method decodeSinglePacket when called AudioConverterFillComplexBuffer. I need you help. Thank you very muth. There are two crash log that log in console when crash.
Example1:
malloc: error for object 0x7f9036813610: incorrect checksum for freed object - object was probably modified after being freed. set a breakpoint in malloc_error_break to debug objc[4610]: autorelease pool page 0x7f90368df000 corrupted magic 0x80000000 0x80000000 0x80000000 0x80000000 should be 0xa1a1a1a1 0x4f545541 0x454c4552 0x21455341 pthread 0x8000000080000000 should be 0x7000069b1000
Example2: malloc: error for object 0x60400001a05c: pointer being freed was not allocated set a breakpoint in malloc_error_break to debug */ OSStatus err = AudioConverterFillComplexBuffer(THIS->m_audioConverter,