Quellcode durchsuchen

排查崩溃问题

xuxinyi vor 4 Monaten
Ursprung
Commit
6245a2f9f1
2 geänderte Dateien mit 154 neuen und 12 gelöschten Zeilen
  1. 152 0
      log.md
  2. 2 12
      main/application.cc

+ 152 - 0
log.md

@@ -0,0 +1,152 @@
+I (270403) Application: << 瘦西湖是扬州的明珠,水系连着运河,啥时候想逛啥时候逛!
+I (275503) Application: STATE: listening
+I (282743) Application: >> 哎,在哪看我。
+I (282813) Application: STATE: speaking
+I (282813) Application: STATE: listening
+I (286993) Application: >> 是这个地方吗?
+I (287053) Application: STATE: speaking
+I (287823) Application: STATE: listening
+Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
+
+Core  1 register dump:
+PC      : 0x42047328  PS      : 0x00060030  A0      : 0x8203e8e5  A1      : 0x3fcc6080
+--- 0x42047328: silk_NLSF_encode at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/managed_components/78__esp-opus/silk/NLSF_encode.c:67
+
+A2      : 0x3c3f7664  A3      : 0x3fcc6230  A4      : 0x00000000  A5      : 0x3fcc61b0
+A6      : 0x00000c4a  A7      : 0x3fcc6080  A8      : 0x00000008  A9      : 0x00007fff
+A10     : 0x00008000  A11     : 0x00000000  A12     : 0x3fcc6024  A13     : 0x00000001
+A14     : 0x00020000  A15     : 0x00007fff  SAR     : 0x00000010  EXCCAUSE: 0x0000001c
+EXCVADDR: 0x00000002  LBEG    : 0x40056f5c  LEND    : 0x40056f72  LCOUNT  : 0x00000000
+--- 0x40056f5c: memcpy in ROM
+--- 0x40056f72: memcpy in ROM
+
+
+
+Backtrace: 0x42047325:0x3fcc6080 0x4203e8e2:0x3fcc6180 0x4202cc75:0x3fcc6220 0x4202bb04:0x3fcc62b0 0x42028abb:0x3fcc8d10 0x42024909:0x3fcc9570 0x42026577:0x3fcc9e50 0x4202661d:0x3fcc9f60 0x42022d26:0x3fcc9fa0 0x420125a7:0x3fcc9fd0 0x420125c9:0x3fcca000 0x4200d786:0x3fcca020 0x420157d5:0x3fcca040 0x42015825:0x3fcca070 0x4200d786:0x3fcca090 0x420159d6:0x3fcca0b0 0x42015a25:0x3fcca0f0 0x40385391:0x3fcca110
+--- 0x42047325: silk_NLSF_encode at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/managed_components/78__esp-opus/silk/NLSF_encode.c:47
+--- 0x4203e8e2: silk_process_NLSFs at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/managed_components/78__esp-opus/silk/process_NLSFs.c:88
+--- 0x4202cc75: silk_find_pred_coefs_FIX at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/managed_components/78__esp-opus/silk/fixed/find_pred_coefs_FIX.c:138
+--- 0x4202bb04: silk_encode_frame_FIX at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/managed_components/78__esp-opus/silk/fixed/encode_frame_FIX.c:158
+--- 0x42028abb: silk_Encode at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/managed_components/78__esp-opus/silk/enc_API.c:516
+--- 0x42024909: opus_encode_frame_native at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/managed_components/78__esp-opus/src/opus_encoder.c:2097
+--- 0x42026577: opus_encode_native at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/managed_components/78__esp-opus/src/opus_encoder.c:1748
+--- 0x4202661d: opus_encode at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/managed_components/78__esp-opus/src/opus_encoder.c:2522
+--- 0x42022d26: OpusEncoderWrapper::Encode(std::vector<short, std::allocator<short> >&&, std::function<void (std::vector<unsigned char, std::allocator<unsigned char> >&&)>) at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/managed_components/78__esp-opus-encoder/opus_encoder.cc:42 (discriminator 3)
+--- 0x420125a7: Application::Start()::{lambda(std::vector<short, std::allocator<short> >&&)#1}::operator()(std::vector<short, std::allocator<short> >&&) const::{lambda()#1}::operator()() at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/main/application.cc:548 (discriminator 2)
+--- 0x420125c9: std::_Function_handler<void (), Application::Start()::{lambda(std::vector<short, std::allocator<short> >&&)#1}::operator()(std::vector<short, std::allocator<short> >&&) const::{lambda()#1}>::_M_invoke(std::_Any_data const&) at C:/Users/EDZ/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/invoke.h:61
+---  (inlined by) __invoke_r<void, Application::Start()::<lambda(std::vector<short int>&&)>::<lambda()>&> at C:/Users/EDZ/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/invoke.h:111
+---  (inlined by) _M_invoke at C:/Users/EDZ/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/std_function.h:290
+--- 0x4200d786: std::function<void ()>::operator()() const at C:/Users/EDZ/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/std_function.h:591
+--- 0x420157d5: BackgroundTask::Schedule(std::function<void ()>)::{lambda()#1}::operator()() const at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/main/background_task.cc:31
+--- 0x42015825: std::_Function_handler<void (), BackgroundTask::Schedule(std::function<void ()>)::{lambda()#1}>::_M_invoke(std::_Any_data const&) at C:/Users/EDZ/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/invoke.h:61
+---  (inlined by) __invoke_r<void, BackgroundTask::Schedule(std::function<void()>)::<lambda()>&> at C:/Users/EDZ/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/invoke.h:111
+---  (inlined by) _M_invoke at C:/Users/EDZ/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/std_function.h:290
+--- 0x4200d786: std::function<void ()>::operator()() const at C:/Users/EDZ/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/std_function.h:591
+--- 0x420159d6: BackgroundTask::BackgroundTaskLoop() at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/main/background_task.cc:60
+--- 0x42015a25: BackgroundTask::BackgroundTask(unsigned long)::{lambda(void*)#1}::_FUN(void*) at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/main/background_task.cc:11
+---  (inlined by) _FUN at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/main/background_task.cc:12
+--- 0x40385391: vPortTaskWrapper at D:/ESP32-TOOS/esp-idf/v5.3.3/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:139
+
+
+
+
+
+ELF file SHA256: f3858b16d
+
+Rebooting...
+ESP-ROM:esp32s3-20210327
+Build:Mar 27 2021
+rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
+Saved PC:0x403816fa
+--- 0x403816fa: esp_cpu_wait_for_intr at D:/ESP32-TOOS/esp-idf/v5.3.3/esp-idf/components/esp_hw_support/cpu.c:64
+
+SPIWP:0xee
+mode:DIO, clock div:1
+load:0x3fce2820,len:0x568
+load:0x403c8700,len:0x4
+load:0x403c8704,len:0xc18
+load:0x403cb700,len:0x2df8
+entry 0x403c8904
+I (36) octal_psram: vendor id    : 0x0d (AP)
+I (36) octal_psram: dev id       : 0x02 (generation 3)
+
+
+
+
+
+
+I (227733) Application: << 这锅扬州炒饭,香得比你这数字还诱人!
+I (231043) Application: << 要不要来尝尝?
+I (232073) Application: STATE: listening
+I (232603) Application: >> 123。
+I (232633) Application: STATE: speaking
+I (233713) Application: STATE: listening
+
+
+
+E (233723) OpusEncoderWrapper: Failed to encode audio, error code: -3
+
+
+
+
+I (240233) Application: >> 123。
+I (240293) Application: STATE: speaking
+I (241303) Application: STATE: listening
+Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
+
+Core  1 register dump:
+PC      : 0x42047258  PS      : 0x00060a30  A0      : 0x8203e815  A1      : 0x3fcc5d00
+--- 0x42047258: silk_NLSF_encode at D:/Project/edachu/xiaozhi-esp32-delect-battery-V1-weak-wifi-change-5_13-copy/managed_components/78__esp-opus/silk/NLSF_encode.c:67
+
+A2      : 0x3c3f7664  A3      : 0x3fcc61b0  A4      : 0x00000000  A5      : 0x3fcc5e30
+A6      : 0x00000c4a  A7      : 0x3fcc5d00  A8      : 0x00000008  A9      : 0x00007fff
+A10     : 0x00007f76  A11     : 0x00000000  A12     : 0x3fcc5ca4  A13     : 0x00000001
+A14     : 0x00020000  A15     : 0x00007fff  SAR     : 0x00000010  EXCCAUSE: 0x0000001c
+EXCVADDR: 0x00000002  LBEG    : 0x40056f5c  LEND    : 0x40056f72  LCOUNT  : 0x00000000
+--- 0x40056f5c: memcpy in ROM
+--- 0x40056f72: memcpy in ROM
+
+
+
+有!瘦西湖边趣园茶社,皮薄如纸的翡翠烧卖,一口咬下,满嘴清甜,淮扬早茶必点!
+I (327893) Application: STATE: listening
+I (330933) Application: >> 湖边趣园茶社。
+I (331003) Application: STATE: speaking
+I (332363) Application: << 
+
+湖边趣园茶社,园林雅致,淮扬早茶正宗。
+I (339293) Application: << 皮包水,水包皮,一盅一碟,舌尖上扬州!
+I (340343) Application: Free internal: 32323 minimal internal: 28891
+I (340763) Application: STATE: listening
+I (349343) AudioProcessor: Error code: -1
+I (350343) Application: Free internal: 33403 minimal internal: 28891
+I (352343) AudioProcessor: Error code: -1
+E (355103) TcpTransport: Send failed: -1
+I (355103) WS: Websocket disconnected
+I (355103) wifi:Set ps type: 1, coexist: 0
+
+I (355343) AudioProcessor: Error code: -1
+I (355853) Application: STATE: idle
+I (355863) I2S_IF: Pending out channel for in channel running
+I (355863) AudioCodec: Set output enable to false
+I (365343) Application: Free internal: 31147 minimal internal: 28891
+I (371343) Application: STATE: connecting
+I (371353) WebSocket: Connecting to ws://192.168.99.103:8004/xiaozhi/v1/
+I (371703) WakeWordDetect: Encode wake word opus 33 packets in 347 ms
+I (374303) PowerManager: ADC value: 2463 average: 2452 level: 97
+I (375853) wifi:Set ps type: 0, coexist: 0
+
+W (375853) Application: Server sample rate 16000 does not match device output sample rate 24000, resampling may cause distortion
+I (375873) Application: Wake word detected: 你好小智
+I (375873) Application: STATE: idle
+I (380553) Application: >> 嘿你好呀
+I (380613) Application: STATE: speaking
+I (380613) I2S_IF: Mode 0 need extend bits 64 to 32
+I (380613) I2S_IF: channel mode 0 bits:16/32 channel:2 mask:1
+I (380613) I2S_IF: STD Mode 1 bits:16/32 channel:2 sample_rate:24000 mask:1
+I (380623) Application: << 
+
+你好啊!我是鹅大厨,扬州淮扬菜代表,来迎宾馆等你尝鲜!
+I (380653) Adev_Codec: Open codec device OK
+I (380653) AudioCodec: Set output enable to true
+I (387653) Application: STATE: listening

+ 2 - 12
main/application.cc

@@ -841,6 +841,7 @@ void Application::SetDeviceState(DeviceState state) {
             display->SetStatus(Lang::Strings::LISTENING);
             display->SetEmotion("neutral");
             ResetDecoder();
+            vTaskDelay(pdMS_TO_TICKS(1000));
             opus_encoder_->ResetState();
 #if CONFIG_USE_AUDIO_PROCESSOR
             audio_processor_.Start();
@@ -856,18 +857,7 @@ void Application::SetDeviceState(DeviceState state) {
             ResetDecoder();
             codec->EnableOutput(true);
             //成功打断,但是8次左右,系统会崩溃
-            Schedule([this]() {
-                    if (device_state_ == kDeviceStateSpeaking) {
-                        background_task_->WaitForCompletion();
-                        if (keep_listening_) {
-                            protocol_->SendStartListening(kListeningModeAutoStop);
-                            // SetDeviceState(kDeviceStateListening);
-                            
-                        } else {
-                            SetDeviceState(kDeviceStateIdle);
-                        }
-                    }
-                });
+            protocol_->SendStartListening(kListeningModeAutoStop);
 #if CONFIG_USE_AUDIO_PROCESSOR
             // audio_processor_.Stop();
 #endif