mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 18:57:19 +02:00
Merge branch 'feature/espcoredump_py_riscv_support_v4.3' into 'release/v4.3'
feature: espcoredump py riscv support (v4.3) See merge request espressif/esp-idf!16840
This commit is contained in:
@ -70,7 +70,7 @@ variables:
|
||||
export IDF_MIRROR_PREFIX_MAP=
|
||||
fi
|
||||
if [[ "$SETUP_TOOLS" == "1" || "$CI_JOB_STAGE" != "target_test" ]]; then
|
||||
tools/idf_tools.py --non-interactive install && eval "$(tools/idf_tools.py --non-interactive export)" || exit 1
|
||||
tools/idf_tools.py --non-interactive install ${SETUP_TOOLS_LIST:-} && eval "$(tools/idf_tools.py --non-interactive export)" || exit 1
|
||||
fi
|
||||
|
||||
before_script:
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 2021 Espressif Systems (Shanghai) PTE LTD
|
||||
# Copyright 2021 Espressif Systems (Shanghai) CO., LTD
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@ -16,7 +16,22 @@
|
||||
|
||||
__version__ = '0.4-dev'
|
||||
|
||||
import abc
|
||||
import os
|
||||
from abc import abstractmethod
|
||||
from importlib import import_module
|
||||
|
||||
from future.utils import with_metaclass
|
||||
|
||||
try:
|
||||
from typing import Optional, Tuple
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
IDF_PATH = os.path.normpath(os.getenv('IDF_PATH', '.'))
|
||||
XTENSA_TARGETS = ['esp32', 'esp32s2']
|
||||
RISCV_TARGETS = ['esp32c3']
|
||||
SUPPORTED_TARGETS = XTENSA_TARGETS + RISCV_TARGETS
|
||||
|
||||
|
||||
class ESPCoreDumpError(RuntimeError):
|
||||
@ -27,42 +42,84 @@ class ESPCoreDumpLoaderError(ESPCoreDumpError):
|
||||
pass
|
||||
|
||||
|
||||
class _TargetMethodsBase(object):
|
||||
@staticmethod
|
||||
@abstractmethod
|
||||
def tcb_is_sane(tcb_addr, tcb_size):
|
||||
"""
|
||||
Check tcb address if it is correct
|
||||
"""
|
||||
return False
|
||||
|
||||
@staticmethod
|
||||
@abstractmethod
|
||||
def stack_is_sane(sp):
|
||||
"""
|
||||
Check stack address if it is correct
|
||||
"""
|
||||
return False
|
||||
|
||||
@staticmethod
|
||||
@abstractmethod
|
||||
def addr_is_fake(addr):
|
||||
"""
|
||||
Check if address is in fake area
|
||||
"""
|
||||
return False
|
||||
|
||||
|
||||
class _ArchMethodsBase(object):
|
||||
class BaseArchMethodsMixin(with_metaclass(abc.ABCMeta)): # type: ignore
|
||||
@staticmethod
|
||||
@abstractmethod
|
||||
def get_registers_from_stack(data, grows_down):
|
||||
# type: (bytes, bool) -> Tuple[list[int], Optional[dict[int, int]]]
|
||||
"""
|
||||
Returns list of registers (in GDB format) from stack frame
|
||||
Parse stack data, growing up stacks are not supported for now.
|
||||
:param data: stack data
|
||||
:param grows_down: stack grow direction
|
||||
:return: return tuple (regs, exception_regs)
|
||||
"""
|
||||
return [], {}
|
||||
pass
|
||||
|
||||
@staticmethod
|
||||
@abstractmethod
|
||||
def build_prstatus_data(tcb_addr, task_regs):
|
||||
return b''
|
||||
def build_prstatus_data(tcb_addr, task_regs): # type: (int, list[int]) -> str
|
||||
"""
|
||||
Build PrStatus note section
|
||||
:param tcb_addr: tcb addr
|
||||
:param task_regs: registers
|
||||
:return: str
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
class BaseTargetMethods(with_metaclass(abc.ABCMeta, BaseArchMethodsMixin)): # type: ignore
|
||||
UNKNOWN = 'unknown'
|
||||
TARGET = UNKNOWN
|
||||
|
||||
COREDUMP_FAKE_STACK_START = 0x20000000
|
||||
COREDUMP_FAKE_STACK_LIMIT = 0x30000000
|
||||
COREDUMP_MAX_TASK_STACK_SIZE = 64 * 1024
|
||||
|
||||
def __init__(self): # type: () -> None
|
||||
if self.TARGET == self.UNKNOWN:
|
||||
raise ValueError('Please use the derived child-class with valid TARGET')
|
||||
|
||||
self._set_attr_from_soc_header()
|
||||
|
||||
def _set_attr_from_soc_header(self): # type: () -> None
|
||||
module = import_module('corefile.soc_headers.{}'.format(self.TARGET))
|
||||
for k, v in module.__dict__.items():
|
||||
if k.startswith('SOC_'):
|
||||
setattr(self, k, v)
|
||||
|
||||
def _esp_ptr_in_dram(self, addr): # type: (int) -> bool
|
||||
return self.SOC_DRAM_LOW <= addr < self.SOC_DRAM_HIGH # type: ignore
|
||||
|
||||
def _esp_ptr_in_iram(self, addr): # type: (int) -> bool
|
||||
return self.SOC_IRAM_LOW <= addr < self.SOC_IRAM_HIGH # type: ignore
|
||||
|
||||
def _esp_ptr_in_rtc_slow(self, addr): # type: (int) -> bool
|
||||
return self.SOC_RTC_DATA_LOW <= addr < self.SOC_RTC_DATA_HIGH # type: ignore
|
||||
|
||||
def _esp_ptr_in_rtc_dram_fast(self, addr): # type: (int) -> bool
|
||||
return self.SOC_RTC_DRAM_LOW <= addr < self.SOC_RTC_DRAM_HIGH # type: ignore
|
||||
|
||||
def tcb_is_sane(self, tcb_addr, tcb_size): # type: (int, int) -> bool
|
||||
for func in [self._esp_ptr_in_dram,
|
||||
self._esp_ptr_in_iram,
|
||||
self._esp_ptr_in_rtc_slow,
|
||||
self._esp_ptr_in_rtc_dram_fast]:
|
||||
res = func(tcb_addr) and func(tcb_addr + tcb_size - 1)
|
||||
if res:
|
||||
return True
|
||||
return False
|
||||
|
||||
def _esp_stack_ptr_in_dram(self, addr): # type: (int) -> bool
|
||||
return not (addr < self.SOC_DRAM_LOW + 0x10
|
||||
or addr > self.SOC_DRAM_HIGH - 0x10
|
||||
or (addr & 0xF) != 0)
|
||||
|
||||
def stack_is_sane(self, stack_start, stack_end): # type: (int, int) -> bool
|
||||
return (self._esp_stack_ptr_in_dram(stack_start)
|
||||
and self._esp_ptr_in_dram(stack_end)
|
||||
and stack_start < stack_end
|
||||
and (stack_end - stack_start) < self.COREDUMP_MAX_TASK_STACK_SIZE)
|
||||
|
||||
def addr_is_fake(self, addr): # type: (int) -> bool
|
||||
return (self.COREDUMP_FAKE_STACK_START <= addr < self.COREDUMP_FAKE_STACK_LIMIT
|
||||
or addr > 2 ** 31 - 1)
|
||||
|
44
components/espcoredump/corefile/_parse_soc_header.py
Normal file
44
components/espcoredump/corefile/_parse_soc_header.py
Normal file
@ -0,0 +1,44 @@
|
||||
"""
|
||||
This file is used to generate soc header constants into sub-package soc_headers
|
||||
"""
|
||||
import os
|
||||
from ast import literal_eval
|
||||
|
||||
from . import IDF_PATH, SUPPORTED_TARGETS
|
||||
|
||||
|
||||
def main(): # type: () -> None
|
||||
constants = [
|
||||
'SOC_DRAM_LOW',
|
||||
'SOC_DRAM_HIGH',
|
||||
'SOC_IRAM_LOW',
|
||||
'SOC_IRAM_HIGH',
|
||||
'SOC_RTC_DATA_LOW',
|
||||
'SOC_RTC_DATA_HIGH',
|
||||
'SOC_RTC_DRAM_LOW',
|
||||
'SOC_RTC_DRAM_HIGH',
|
||||
]
|
||||
|
||||
for target in SUPPORTED_TARGETS:
|
||||
target_constants = {}
|
||||
soc_header_fp = os.path.join(IDF_PATH, 'components/soc/{}/include/soc/soc.h'.format(target))
|
||||
module_fp = os.path.join(IDF_PATH, 'components', 'espcoredump', 'corefile', 'soc_headers',
|
||||
'{}.py'.format(target))
|
||||
|
||||
with open(soc_header_fp) as fr:
|
||||
for line in fr.readlines():
|
||||
for attr in constants:
|
||||
if '#define {}'.format(attr) in line:
|
||||
target_constants[attr] = literal_eval(line.strip().split()[-1])
|
||||
|
||||
for attr in constants:
|
||||
if attr not in target_constants:
|
||||
raise ValueError('ERROR: Attr {} is missing in {}'.format(attr, soc_header_fp))
|
||||
|
||||
with open(module_fp, 'w') as fw:
|
||||
for k, v in target_constants.items():
|
||||
fw.write('{} = {}\n'.format(k, hex(v)))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 2021 Espressif Systems (Shanghai) PTE LTD
|
||||
# Copyright 2021 Espressif Systems (Shanghai) CO., LTD
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@ -17,8 +17,13 @@
|
||||
import hashlib
|
||||
import os
|
||||
|
||||
from construct import (AlignedStruct, Bytes, Const, GreedyRange, Int16ul, Int32ul, Padding, Pointer, Sequence, Struct,
|
||||
this)
|
||||
from construct import (AlignedStruct, Bytes, Const, Container, GreedyRange, Int16ul, Int32ul, Padding, Pointer,
|
||||
Sequence, Struct, this)
|
||||
|
||||
try:
|
||||
from typing import Optional
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
# Following structs are based on spec
|
||||
# https://refspecs.linuxfoundation.org/elf/elf.pdf
|
||||
@ -110,12 +115,13 @@ class ElfFile(object):
|
||||
EV_CURRENT = 0x01
|
||||
|
||||
def __init__(self, elf_path=None, e_type=None, e_machine=None):
|
||||
# type: (Optional[str], Optional[int], Optional[int]) -> None
|
||||
self.e_type = e_type
|
||||
self.e_machine = e_machine
|
||||
|
||||
self._struct = None # construct Struct
|
||||
self._model = None # construct Container
|
||||
self._section_names = [] # type: list[str]
|
||||
self._struct = None # type: Optional[Struct]
|
||||
self._model = None # type: Optional[Container]
|
||||
self._section_names = {} # type: dict[int, str]
|
||||
|
||||
self.sections = [] # type: list[ElfSection]
|
||||
self.load_segments = [] # type: list[ElfSegment]
|
||||
@ -171,7 +177,7 @@ class ElfFile(object):
|
||||
name += c
|
||||
return res
|
||||
|
||||
def _generate_struct_from_headers(self, header_tables):
|
||||
def _generate_struct_from_headers(self, header_tables): # type: (Container) -> Struct
|
||||
"""
|
||||
Generate ``construct`` Struct for this file
|
||||
:param header_tables: contains elf_header, program_headers, section_headers
|
||||
@ -219,12 +225,12 @@ class ElfFile(object):
|
||||
return Struct(*args)
|
||||
|
||||
@property
|
||||
def sha256(self):
|
||||
def sha256(self): # type: () -> bytes
|
||||
"""
|
||||
:return: SHA256 hash of the input ELF file
|
||||
"""
|
||||
sha256 = hashlib.sha256()
|
||||
sha256.update(self._struct.build(self._model))
|
||||
sha256.update(self._struct.build(self._model)) # type: ignore
|
||||
return sha256.digest()
|
||||
|
||||
|
||||
@ -234,13 +240,13 @@ class ElfSection(object):
|
||||
SHF_EXECINSTR = 0x04
|
||||
SHF_MASKPROC = 0xf0000000
|
||||
|
||||
def __init__(self, name, addr, data, flags):
|
||||
def __init__(self, name, addr, data, flags): # type: (str, int, bytes, int) -> None
|
||||
self.name = name
|
||||
self.addr = addr
|
||||
self.data = data
|
||||
self.flags = flags
|
||||
|
||||
def attr_str(self):
|
||||
def attr_str(self): # type: () -> str
|
||||
if self.flags & self.SHF_MASKPROC:
|
||||
return 'MS'
|
||||
|
||||
@ -250,7 +256,7 @@ class ElfSection(object):
|
||||
res += 'A' if self.flags & self.SHF_ALLOC else ' '
|
||||
return res
|
||||
|
||||
def __repr__(self):
|
||||
def __repr__(self): # type: () -> str
|
||||
return '{:>32} [Addr] 0x{:>08X}, [Size] 0x{:>08X} {:>4}' \
|
||||
.format(self.name, self.addr, len(self.data), self.attr_str())
|
||||
|
||||
@ -260,13 +266,13 @@ class ElfSegment(object):
|
||||
PF_W = 0x02
|
||||
PF_R = 0x04
|
||||
|
||||
def __init__(self, addr, data, flags):
|
||||
def __init__(self, addr, data, flags): # type: (int, bytes, int) -> None
|
||||
self.addr = addr
|
||||
self.data = data
|
||||
self.flags = flags
|
||||
self.type = ElfFile.PT_LOAD
|
||||
|
||||
def attr_str(self):
|
||||
def attr_str(self): # type: () -> str
|
||||
res = ''
|
||||
res += 'R' if self.flags & self.PF_R else ' '
|
||||
res += 'W' if self.flags & self.PF_W else ' '
|
||||
@ -274,22 +280,22 @@ class ElfSegment(object):
|
||||
return res
|
||||
|
||||
@staticmethod
|
||||
def _type_str():
|
||||
def _type_str(): # type: () -> str
|
||||
return 'LOAD'
|
||||
|
||||
def __repr__(self):
|
||||
def __repr__(self): # type: () -> str
|
||||
return '{:>8} Addr 0x{:>08X}, Size 0x{:>08X} Flags {:4}' \
|
||||
.format(self._type_str(), self.addr, len(self.data), self.attr_str())
|
||||
|
||||
|
||||
class ElfNoteSegment(ElfSegment):
|
||||
def __init__(self, addr, data, flags):
|
||||
def __init__(self, addr, data, flags): # type: (int, bytes, int) -> None
|
||||
super(ElfNoteSegment, self).__init__(addr, data, flags)
|
||||
self.type = ElfFile.PT_NOTE
|
||||
self.note_secs = NoteSections.parse(self.data)
|
||||
|
||||
@staticmethod
|
||||
def _type_str():
|
||||
def _type_str(): # type: () -> str
|
||||
return 'NOTE'
|
||||
|
||||
|
||||
@ -316,13 +322,15 @@ class ESPCoreDumpElfFile(ElfFile):
|
||||
|
||||
# ELF file machine type
|
||||
EM_XTENSA = 0x5E
|
||||
EM_RISCV = 0xF3
|
||||
|
||||
def __init__(self, elf_path=None, e_type=None, e_machine=None):
|
||||
# type: (Optional[str], Optional[int], Optional[int]) -> None
|
||||
_e_type = e_type or self.ET_CORE
|
||||
_e_machine = e_machine or self.EM_XTENSA
|
||||
super(ESPCoreDumpElfFile, self).__init__(elf_path, _e_type, _e_machine)
|
||||
|
||||
def add_segment(self, addr, data, seg_type, flags):
|
||||
def add_segment(self, addr, data, seg_type, flags): # type: (int, bytes, int, int) -> None
|
||||
if seg_type != self.PT_NOTE:
|
||||
self.load_segments.append(ElfSegment(addr, data, flags))
|
||||
else:
|
||||
@ -352,7 +360,7 @@ class ESPCoreDumpElfFile(ElfFile):
|
||||
})
|
||||
|
||||
offset = ElfHeader.sizeof() + (len(self.load_segments) + len(self.note_segments)) * ProgramHeader.sizeof()
|
||||
_segments = self.load_segments + self.note_segments
|
||||
_segments = self.load_segments + self.note_segments # type: ignore
|
||||
for seg in _segments:
|
||||
res += ProgramHeader.build({
|
||||
'p_type': seg.type,
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 2021 Espressif Systems (Shanghai) PTE LTD
|
||||
# Copyright 2021 Espressif Systems (Shanghai) CO., LTD
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@ -18,19 +18,14 @@ import logging
|
||||
import re
|
||||
import time
|
||||
|
||||
from . import ESPCoreDumpError
|
||||
|
||||
try:
|
||||
import typing
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
from pygdbmi.gdbcontroller import DEFAULT_GDB_TIMEOUT_SEC, GdbController
|
||||
|
||||
from . import ESPCoreDumpError
|
||||
|
||||
|
||||
class EspGDB(object):
|
||||
def __init__(self, gdb_path, gdb_cmds, core_filename, prog_filename, timeout_sec=DEFAULT_GDB_TIMEOUT_SEC):
|
||||
# type: (str, typing.List[str], str, str, int) -> None
|
||||
|
||||
"""
|
||||
Start GDB and initialize a GdbController instance
|
||||
"""
|
||||
@ -59,7 +54,7 @@ class EspGDB(object):
|
||||
|
||||
def _gdbmi_run_cmd_get_responses(self, cmd, resp_message, resp_type, multiple=True,
|
||||
done_message=None, done_type=None):
|
||||
# type: (str, typing.Optional[str], str, bool, typing.Optional[str], typing.Optional[str]) -> list
|
||||
|
||||
self.p.write(cmd, read_response=False)
|
||||
t_end = time.time() + self.timeout
|
||||
filtered_response_list = []
|
||||
@ -80,15 +75,15 @@ class EspGDB(object):
|
||||
return filtered_response_list
|
||||
|
||||
def _gdbmi_run_cmd_get_one_response(self, cmd, resp_message, resp_type):
|
||||
# type: ( str, typing.Optional[str], str) -> dict
|
||||
|
||||
return self._gdbmi_run_cmd_get_responses(cmd, resp_message, resp_type, multiple=False)[0]
|
||||
|
||||
def _gdbmi_data_evaluate_expression(self, expr): # type: (str) -> str
|
||||
def _gdbmi_data_evaluate_expression(self, expr):
|
||||
""" Get the value of an expression, similar to the 'print' command """
|
||||
return self._gdbmi_run_cmd_get_one_response("-data-evaluate-expression \"%s\"" % expr,
|
||||
'done', 'result')['payload']['value']
|
||||
|
||||
def get_freertos_task_name(self, tcb_addr): # type: (int) -> str
|
||||
def get_freertos_task_name(self, tcb_addr):
|
||||
""" Get FreeRTOS task name given the TCB address """
|
||||
try:
|
||||
val = self._gdbmi_data_evaluate_expression('(char*)((TCB_t *)0x%x)->pcTaskName' % tcb_addr)
|
||||
@ -102,7 +97,7 @@ class EspGDB(object):
|
||||
return result.group(1)
|
||||
return ''
|
||||
|
||||
def run_cmd(self, gdb_cmd): # type: (str) -> str
|
||||
def run_cmd(self, gdb_cmd):
|
||||
""" Execute a generic GDB console command via MI2
|
||||
"""
|
||||
filtered_responses = self._gdbmi_run_cmd_get_responses(cmd="-interpreter-exec console \"%s\"" % gdb_cmd,
|
||||
@ -113,14 +108,14 @@ class EspGDB(object):
|
||||
.replace('\\t', '\t') \
|
||||
.rstrip('\n')
|
||||
|
||||
def get_thread_info(self): # type: () -> (typing.List[dict], str)
|
||||
def get_thread_info(self):
|
||||
""" Get information about all threads known to GDB, and the current thread ID """
|
||||
result = self._gdbmi_run_cmd_get_one_response('-thread-info', 'done', 'result')['payload']
|
||||
current_thread_id = result['current-thread-id']
|
||||
threads = result['threads']
|
||||
return threads, current_thread_id
|
||||
|
||||
def switch_thread(self, thr_id): # type: (int) -> None
|
||||
def switch_thread(self, thr_id):
|
||||
""" Tell GDB to switch to a specific thread, given its ID """
|
||||
self._gdbmi_run_cmd_get_one_response('-thread-select %s' % thr_id, 'done', 'result')
|
||||
|
||||
@ -129,6 +124,6 @@ class EspGDB(object):
|
||||
return list(filter(lambda rsp: rsp['message'] == resp_message and rsp['type'] == resp_type, responses))
|
||||
|
||||
@staticmethod
|
||||
def gdb2freertos_thread_id(gdb_target_id): # type: (str) -> int
|
||||
def gdb2freertos_thread_id(gdb_target_id):
|
||||
""" Convert GDB 'target ID' to the FreeRTOS TCB address """
|
||||
return int(gdb_target_id.replace('process ', ''), 0)
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 2021 Espressif Systems (Shanghai) PTE LTD
|
||||
# Copyright 2021 Espressif Systems (Shanghai) CO., LTD
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@ -25,12 +25,18 @@ import tempfile
|
||||
|
||||
from construct import AlignedStruct, Bytes, GreedyRange, Int32ul, Padding, Struct, abs_, this
|
||||
|
||||
from . import ESPCoreDumpLoaderError, _ArchMethodsBase, _TargetMethodsBase
|
||||
from . import ESPCoreDumpLoaderError
|
||||
from .elf import (TASK_STATUS_CORRECT, TASK_STATUS_TCB_CORRUPTED, ElfFile, ElfSegment, ESPCoreDumpElfFile,
|
||||
EspTaskStatus, NoteSection)
|
||||
from .xtensa import _ArchMethodsXtensa, _TargetMethodsESP32
|
||||
from .riscv import Esp32c3Methods
|
||||
from .xtensa import Esp32Methods, Esp32S2Methods
|
||||
|
||||
IDF_PATH = os.getenv('IDF_PATH')
|
||||
try:
|
||||
from typing import Optional, Tuple
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
IDF_PATH = os.getenv('IDF_PATH', '')
|
||||
PARTTOOL_PY = os.path.join(IDF_PATH, 'components', 'partition_table', 'parttool.py')
|
||||
ESPTOOL_PY = os.path.join(IDF_PATH, 'components', 'esptool_py', 'esptool', 'esptool.py')
|
||||
|
||||
@ -74,12 +80,14 @@ class EspCoreDumpVersion(object):
|
||||
# This class contains all version-dependent params
|
||||
ESP32 = 0
|
||||
ESP32S2 = 2
|
||||
|
||||
XTENSA_CHIPS = [ESP32, ESP32S2]
|
||||
|
||||
ESP_COREDUMP_TARGETS = XTENSA_CHIPS
|
||||
ESP32C3 = 5
|
||||
RISCV_CHIPS = [ESP32C3]
|
||||
|
||||
def __init__(self, version=None):
|
||||
COREDUMP_SUPPORTED_TARGETS = XTENSA_CHIPS + RISCV_CHIPS
|
||||
|
||||
def __init__(self, version=None): # type: (int) -> None
|
||||
"""Constructor for core dump version
|
||||
"""
|
||||
super(EspCoreDumpVersion, self).__init__()
|
||||
@ -89,26 +97,26 @@ class EspCoreDumpVersion(object):
|
||||
self.set_version(version)
|
||||
|
||||
@staticmethod
|
||||
def make_dump_ver(major, minor):
|
||||
def make_dump_ver(major, minor): # type: (int, int) -> int
|
||||
return ((major & 0xFF) << 8) | ((minor & 0xFF) << 0)
|
||||
|
||||
def set_version(self, version):
|
||||
def set_version(self, version): # type: (int) -> None
|
||||
self.version = version
|
||||
|
||||
@property
|
||||
def chip_ver(self):
|
||||
def chip_ver(self): # type: () -> int
|
||||
return (self.version & 0xFFFF0000) >> 16
|
||||
|
||||
@property
|
||||
def dump_ver(self):
|
||||
def dump_ver(self): # type: () -> int
|
||||
return self.version & 0x0000FFFF
|
||||
|
||||
@property
|
||||
def major(self):
|
||||
def major(self): # type: () -> int
|
||||
return (self.version & 0x0000FF00) >> 8
|
||||
|
||||
@property
|
||||
def minor(self):
|
||||
def minor(self): # type: () -> int
|
||||
return self.version & 0x000000FF
|
||||
|
||||
|
||||
@ -119,42 +127,37 @@ class EspCoreDumpLoader(EspCoreDumpVersion):
|
||||
ELF_CRC32 = EspCoreDumpVersion.make_dump_ver(1, 0)
|
||||
ELF_SHA256 = EspCoreDumpVersion.make_dump_ver(1, 1)
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self): # type: () -> None
|
||||
super(EspCoreDumpLoader, self).__init__()
|
||||
self.core_src_file = None
|
||||
self.core_src_file = None # type: Optional[str]
|
||||
self.core_src_struct = None
|
||||
self.core_src = None
|
||||
|
||||
self.core_elf_file = None
|
||||
self.core_elf_file = None # type: Optional[str]
|
||||
|
||||
self.header = None
|
||||
self.header_struct = EspCoreDumpV1Header
|
||||
self.checksum_struct = CRC
|
||||
|
||||
# These two method classes will be assigned in ``reload_coredump``
|
||||
self.target_method_cls = _TargetMethodsBase
|
||||
self.arch_method_cls = _ArchMethodsBase
|
||||
# target classes will be assigned in ``_reload_coredump``
|
||||
self.target_methods = Esp32Methods()
|
||||
|
||||
self._temp_files = []
|
||||
self.temp_files = [] # type: list[str]
|
||||
|
||||
def __del__(self):
|
||||
if self.core_src_file:
|
||||
self.core_src_file.close()
|
||||
if self.core_elf_file:
|
||||
self.core_elf_file.close()
|
||||
for f in self._temp_files:
|
||||
try:
|
||||
os.remove(f)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
def _create_temp_file(self):
|
||||
def _create_temp_file(self): # type: () -> str
|
||||
t = tempfile.NamedTemporaryFile('wb', delete=False)
|
||||
self._temp_files.append(t.name)
|
||||
return t
|
||||
# Here we close this at first to make sure the read/write is wrapped in context manager
|
||||
# Otherwise the result will be wrong if you read while open in another session
|
||||
t.close()
|
||||
self.temp_files.append(t.name)
|
||||
return t.name
|
||||
|
||||
def _reload_coredump(self):
|
||||
with open(self.core_src_file.name, 'rb') as fr:
|
||||
def _load_core_src(self): # type: () -> str
|
||||
"""
|
||||
Write core elf into ``self.core_src``,
|
||||
Return the target str by reading core elf
|
||||
"""
|
||||
with open(self.core_src_file, 'rb') as fr: # type: ignore
|
||||
coredump_bytes = fr.read()
|
||||
|
||||
_header = EspCoreDumpV1Header.parse(coredump_bytes) # first we use V1 format to get version
|
||||
@ -179,23 +182,28 @@ class EspCoreDumpLoader(EspCoreDumpVersion):
|
||||
'data' / Bytes(this.header.tot_len - self.header_struct.sizeof() - self.checksum_struct.sizeof()),
|
||||
'checksum' / self.checksum_struct,
|
||||
)
|
||||
self.core_src = self.core_src_struct.parse(coredump_bytes)
|
||||
self.core_src = self.core_src_struct.parse(coredump_bytes) # type: ignore
|
||||
|
||||
# Reload header if header struct changes after parsing
|
||||
if self.header_struct != EspCoreDumpV1Header:
|
||||
self.header = EspCoreDumpV2Header.parse(coredump_bytes)
|
||||
|
||||
if self.chip_ver in self.ESP_COREDUMP_TARGETS:
|
||||
if self.chip_ver in self.COREDUMP_SUPPORTED_TARGETS:
|
||||
if self.chip_ver == self.ESP32:
|
||||
self.target_method_cls = _TargetMethodsESP32
|
||||
|
||||
if self.chip_ver in self.XTENSA_CHIPS:
|
||||
self.arch_method_cls = _ArchMethodsXtensa
|
||||
self.target_methods = Esp32Methods() # type: ignore
|
||||
elif self.chip_ver == self.ESP32S2:
|
||||
self.target_methods = Esp32S2Methods() # type: ignore
|
||||
elif self.chip_ver == self.ESP32C3:
|
||||
self.target_methods = Esp32c3Methods() # type: ignore
|
||||
else:
|
||||
raise NotImplementedError
|
||||
else:
|
||||
raise ESPCoreDumpLoaderError('Core dump chip "0x%x" is not supported!' % self.chip_ver)
|
||||
|
||||
def _validate_dump_file(self):
|
||||
if self.chip_ver not in self.ESP_COREDUMP_TARGETS:
|
||||
return self.target_methods.TARGET # type: ignore
|
||||
|
||||
def _validate_dump_file(self): # type: () -> None
|
||||
if self.chip_ver not in self.COREDUMP_SUPPORTED_TARGETS:
|
||||
raise ESPCoreDumpLoaderError('Invalid core dump chip version: "{}", should be <= "0x{:X}"'
|
||||
.format(self.chip_ver, self.ESP32S2))
|
||||
|
||||
@ -204,20 +212,24 @@ class EspCoreDumpLoader(EspCoreDumpVersion):
|
||||
elif self.checksum_struct == SHA256:
|
||||
self._sha256_validate()
|
||||
|
||||
def _crc_validate(self):
|
||||
data_crc = binascii.crc32(EspCoreDumpV2Header.build(self.core_src.header) + self.core_src.data) & 0xffffffff
|
||||
if data_crc != self.core_src.checksum:
|
||||
raise ESPCoreDumpLoaderError('Invalid core dump CRC %x, should be %x' % (data_crc, self.core_src.crc))
|
||||
def _crc_validate(self): # type: () -> None
|
||||
data_crc = binascii.crc32(
|
||||
EspCoreDumpV2Header.build(self.core_src.header) + self.core_src.data) & 0xffffffff # type: ignore
|
||||
if data_crc != self.core_src.checksum: # type: ignore
|
||||
raise ESPCoreDumpLoaderError(
|
||||
'Invalid core dump CRC %x, should be %x' % (data_crc, self.core_src.crc)) # type: ignore
|
||||
|
||||
def _sha256_validate(self):
|
||||
data_sha256 = hashlib.sha256(EspCoreDumpV2Header.build(self.core_src.header) + self.core_src.data)
|
||||
def _sha256_validate(self): # type: () -> None
|
||||
data_sha256 = hashlib.sha256(
|
||||
EspCoreDumpV2Header.build(self.core_src.header) + self.core_src.data) # type: ignore
|
||||
data_sha256_str = data_sha256.hexdigest()
|
||||
sha256_str = binascii.hexlify(self.core_src.checksum).decode('ascii')
|
||||
sha256_str = binascii.hexlify(self.core_src.checksum).decode('ascii') # type: ignore
|
||||
if data_sha256_str != sha256_str:
|
||||
raise ESPCoreDumpLoaderError('Invalid core dump SHA256 "{}", should be "{}"'
|
||||
.format(data_sha256_str, sha256_str))
|
||||
|
||||
def create_corefile(self, exe_name=None): # type: (str) -> None
|
||||
def create_corefile(self, exe_name=None, e_machine=ESPCoreDumpElfFile.EM_XTENSA):
|
||||
# type: (Optional[str], int) -> None
|
||||
"""
|
||||
Creates core dump ELF file
|
||||
"""
|
||||
@ -226,22 +238,21 @@ class EspCoreDumpLoader(EspCoreDumpVersion):
|
||||
|
||||
if self.dump_ver in [self.ELF_CRC32,
|
||||
self.ELF_SHA256]:
|
||||
self._extract_elf_corefile(exe_name)
|
||||
self._extract_elf_corefile(exe_name, e_machine)
|
||||
elif self.dump_ver in [self.BIN_V1,
|
||||
self.BIN_V2]:
|
||||
self._extract_bin_corefile()
|
||||
self._extract_bin_corefile(e_machine)
|
||||
else:
|
||||
raise NotImplementedError
|
||||
|
||||
def _extract_elf_corefile(self, exe_name=None):
|
||||
def _extract_elf_corefile(self, exe_name=None, e_machine=ESPCoreDumpElfFile.EM_XTENSA): # type: (str, int) -> None
|
||||
"""
|
||||
Reads the ELF formatted core dump image and parse it
|
||||
"""
|
||||
self.core_elf_file.write(self.core_src.data)
|
||||
# Need to be closed before read. Otherwise the result will be wrong
|
||||
self.core_elf_file.close()
|
||||
with open(self.core_elf_file, 'wb') as fw: # type: ignore
|
||||
fw.write(self.core_src.data) # type: ignore
|
||||
|
||||
core_elf = ESPCoreDumpElfFile(self.core_elf_file.name)
|
||||
core_elf = ESPCoreDumpElfFile(self.core_elf_file, e_machine=e_machine) # type: ignore
|
||||
|
||||
# Read note segments from core file which are belong to tasks (TCB or stack)
|
||||
for seg in core_elf.note_segments:
|
||||
@ -259,7 +270,7 @@ class EspCoreDumpLoader(EspCoreDumpVersion):
|
||||
coredump_sha256 = coredump_sha256_struct.parse(note_sec.desc[:coredump_sha256_struct.sizeof()])
|
||||
if coredump_sha256.sha256 != app_sha256:
|
||||
raise ESPCoreDumpLoaderError(
|
||||
'Invalid application image for coredump: coredump SHA256({}) != app SHA256({}).'
|
||||
'Invalid application image for coredump: coredump SHA256({!r}) != app SHA256({!r}).'
|
||||
.format(coredump_sha256, app_sha256))
|
||||
if coredump_sha256.ver != self.version:
|
||||
raise ESPCoreDumpLoaderError(
|
||||
@ -267,46 +278,43 @@ class EspCoreDumpLoader(EspCoreDumpVersion):
|
||||
.format(coredump_sha256.ver, self.version))
|
||||
|
||||
@staticmethod
|
||||
def _get_aligned_size(size, align_with=4):
|
||||
def _get_aligned_size(size, align_with=4): # type: (int, int) -> int
|
||||
if size % align_with:
|
||||
return align_with * (size // align_with + 1)
|
||||
return size
|
||||
|
||||
@staticmethod
|
||||
def _build_note_section(name, sec_type, desc):
|
||||
name = bytearray(name, encoding='ascii') + b'\0'
|
||||
return NoteSection.build({
|
||||
'namesz': len(name),
|
||||
def _build_note_section(name, sec_type, desc): # type: (str, int, str) -> bytes
|
||||
b_name = bytearray(name, encoding='ascii') + b'\0'
|
||||
return NoteSection.build({ # type: ignore
|
||||
'namesz': len(b_name),
|
||||
'descsz': len(desc),
|
||||
'type': sec_type,
|
||||
'name': name,
|
||||
'name': b_name,
|
||||
'desc': desc,
|
||||
})
|
||||
|
||||
def _extract_bin_corefile(self):
|
||||
def _extract_bin_corefile(self, e_machine=ESPCoreDumpElfFile.EM_XTENSA): # type: (int) -> None
|
||||
"""
|
||||
Creates core dump ELF file
|
||||
"""
|
||||
tcbsz_aligned = self._get_aligned_size(self.header.tcbsz)
|
||||
|
||||
coredump_data_struct = Struct(
|
||||
'tasks' / GreedyRange(
|
||||
AlignedStruct(
|
||||
4,
|
||||
'task_header' / TaskHeader,
|
||||
'tcb' / Bytes(self.header.tcbsz),
|
||||
'stack' / Bytes(abs_(this.task_header.stack_top - this.task_header.stack_end)),
|
||||
'tcb' / Bytes(self.header.tcbsz), # type: ignore
|
||||
'stack' / Bytes(abs_(this.task_header.stack_top - this.task_header.stack_end)), # type: ignore
|
||||
)
|
||||
),
|
||||
'mem_seg_headers' / MemSegmentHeader[self.core_src.header.segs_num]
|
||||
'mem_seg_headers' / MemSegmentHeader[self.core_src.header.segs_num] # type: ignore
|
||||
)
|
||||
|
||||
core_elf = ESPCoreDumpElfFile()
|
||||
core_elf = ESPCoreDumpElfFile(e_machine=e_machine)
|
||||
notes = b''
|
||||
core_dump_info_notes = b''
|
||||
task_info_notes = b''
|
||||
|
||||
coredump_data = coredump_data_struct.parse(self.core_src.data)
|
||||
coredump_data = coredump_data_struct.parse(self.core_src.data) # type: ignore
|
||||
for i, task in enumerate(coredump_data.tasks):
|
||||
stack_len_aligned = self._get_aligned_size(abs(task.task_header.stack_top - task.task_header.stack_end))
|
||||
task_status_kwargs = {
|
||||
@ -314,32 +322,34 @@ class EspCoreDumpLoader(EspCoreDumpVersion):
|
||||
'task_flags': TASK_STATUS_CORRECT,
|
||||
'task_tcb_addr': task.task_header.tcb_addr,
|
||||
'task_stack_start': min(task.task_header.stack_top, task.task_header.stack_end),
|
||||
'task_stack_end': max(task.task_header.stack_top, task.task_header.stack_end),
|
||||
'task_stack_len': stack_len_aligned,
|
||||
'task_name': Padding(16).build({}) # currently we don't have task_name, keep it as padding
|
||||
}
|
||||
|
||||
# Write TCB
|
||||
try:
|
||||
if self.target_method_cls.tcb_is_sane(task.task_header.tcb_addr, tcbsz_aligned):
|
||||
if self.target_methods.tcb_is_sane(task.task_header.tcb_addr, self.header.tcbsz): # type: ignore
|
||||
core_elf.add_segment(task.task_header.tcb_addr,
|
||||
task.tcb,
|
||||
ElfFile.PT_LOAD,
|
||||
ElfSegment.PF_R | ElfSegment.PF_W)
|
||||
elif task.task_header.tcb_addr and self.target_method_cls.addr_is_fake(task.task_header.tcb_addr):
|
||||
elif task.task_header.tcb_addr and self.target_methods.addr_is_fake(task.task_header.tcb_addr):
|
||||
task_status_kwargs['task_flags'] |= TASK_STATUS_TCB_CORRUPTED
|
||||
except ESPCoreDumpLoaderError as e:
|
||||
logging.warning('Skip TCB {} bytes @ 0x{:x}. (Reason: {})'
|
||||
.format(tcbsz_aligned, task.task_header.tcb_addr, e))
|
||||
.format(self.header.tcbsz, task.task_header.tcb_addr, e)) # type: ignore
|
||||
|
||||
# Write stack
|
||||
try:
|
||||
if self.target_method_cls.stack_is_sane(task_status_kwargs['task_stack_start']):
|
||||
if self.target_methods.stack_is_sane(task_status_kwargs['task_stack_start'],
|
||||
task_status_kwargs['task_stack_end']):
|
||||
core_elf.add_segment(task_status_kwargs['task_stack_start'],
|
||||
task.stack,
|
||||
ElfFile.PT_LOAD,
|
||||
ElfSegment.PF_R | ElfSegment.PF_W)
|
||||
elif task_status_kwargs['task_stack_start'] \
|
||||
and self.target_method_cls.addr_is_fake(task_status_kwargs['task_stack_start']):
|
||||
elif (task_status_kwargs['task_stack_start']
|
||||
and self.target_methods.addr_is_fake(task_status_kwargs['task_stack_start'])):
|
||||
task_status_kwargs['task_flags'] |= TASK_STATUS_TCB_CORRUPTED
|
||||
core_elf.add_segment(task_status_kwargs['task_stack_start'],
|
||||
task.stack,
|
||||
@ -355,7 +365,7 @@ class EspCoreDumpLoader(EspCoreDumpVersion):
|
||||
try:
|
||||
logging.debug('Stack start_end: 0x{:x} @ 0x{:x}'
|
||||
.format(task.task_header.stack_top, task.task_header.stack_end))
|
||||
task_regs, extra_regs = self.arch_method_cls.get_registers_from_stack(
|
||||
task_regs, extra_regs = self.target_methods.get_registers_from_stack(
|
||||
task.stack,
|
||||
task.task_header.stack_end > task.task_header.stack_top
|
||||
)
|
||||
@ -367,23 +377,24 @@ class EspCoreDumpLoader(EspCoreDumpVersion):
|
||||
EspTaskStatus.build(task_status_kwargs))
|
||||
notes += self._build_note_section('CORE',
|
||||
ElfFile.PT_LOAD,
|
||||
self.arch_method_cls.build_prstatus_data(task.task_header.tcb_addr,
|
||||
task_regs))
|
||||
self.target_methods.build_prstatus_data(task.task_header.tcb_addr,
|
||||
task_regs))
|
||||
|
||||
if extra_regs and len(core_dump_info_notes) == 0:
|
||||
# actually there will be only one such note - for crashed task
|
||||
if len(core_dump_info_notes) == 0: # the first task is the crashed task
|
||||
core_dump_info_notes += self._build_note_section('ESP_CORE_DUMP_INFO',
|
||||
ESPCoreDumpElfFile.PT_INFO,
|
||||
Int32ul.build(self.header.ver))
|
||||
Int32ul.build(self.header.ver)) # type: ignore
|
||||
_regs = [task.task_header.tcb_addr]
|
||||
|
||||
# For xtensa, we need to put the exception registers into the extra info as well
|
||||
if e_machine == ESPCoreDumpElfFile.EM_XTENSA and extra_regs:
|
||||
for reg_id in extra_regs:
|
||||
_regs.extend([reg_id, extra_regs[reg_id]])
|
||||
|
||||
exc_regs = []
|
||||
for reg_id in extra_regs:
|
||||
exc_regs.extend([reg_id, extra_regs[reg_id]])
|
||||
_regs = [task.task_header.tcb_addr] + exc_regs
|
||||
core_dump_info_notes += self._build_note_section(
|
||||
'EXTRA_INFO',
|
||||
ESPCoreDumpElfFile.PT_EXTRA_INFO,
|
||||
Int32ul[1 + len(exc_regs)].build(_regs)
|
||||
Int32ul[len(_regs)].build(_regs)
|
||||
)
|
||||
|
||||
if self.dump_ver == self.BIN_V2:
|
||||
@ -409,30 +420,29 @@ class EspCoreDumpLoader(EspCoreDumpVersion):
|
||||
.format(len(task_info_notes), 0, e))
|
||||
# dump core ELF
|
||||
core_elf.e_type = ElfFile.ET_CORE
|
||||
core_elf.e_machine = ESPCoreDumpElfFile.EM_XTENSA
|
||||
core_elf.dump(self.core_elf_file.name)
|
||||
core_elf.dump(self.core_elf_file) # type: ignore
|
||||
|
||||
|
||||
class ESPCoreDumpFlashLoader(EspCoreDumpLoader):
|
||||
ESP_COREDUMP_PART_TABLE_OFF = 0x8000
|
||||
|
||||
def __init__(self, offset, target='esp32', port=None, baud=None):
|
||||
def __init__(self, offset, target=None, port=None, baud=None):
|
||||
# type: (int, Optional[str], Optional[str], Optional[int]) -> None
|
||||
super(ESPCoreDumpFlashLoader, self).__init__()
|
||||
self.port = port
|
||||
self.baud = baud
|
||||
self.target = target
|
||||
|
||||
self._get_coredump(offset)
|
||||
self._reload_coredump()
|
||||
self._get_core_src(offset, target)
|
||||
self.target = self._load_core_src()
|
||||
|
||||
def _get_coredump(self, off):
|
||||
def _get_core_src(self, off, target=None): # type: (int, Optional[str]) -> None
|
||||
"""
|
||||
Loads core dump from flash using parttool or elftool (if offset is set)
|
||||
"""
|
||||
try:
|
||||
if off:
|
||||
logging.info('Invoke esptool to read image.')
|
||||
self._invoke_esptool(off=off)
|
||||
self._invoke_esptool(off=off, target=target)
|
||||
else:
|
||||
logging.info('Invoke parttool to read image.')
|
||||
self._invoke_parttool()
|
||||
@ -440,15 +450,14 @@ class ESPCoreDumpFlashLoader(EspCoreDumpLoader):
|
||||
if e.output:
|
||||
logging.info(e.output)
|
||||
logging.error('Error during the subprocess execution')
|
||||
else:
|
||||
# Need to be closed before read. Otherwise the result will be wrong
|
||||
self.core_src_file.close()
|
||||
|
||||
def _invoke_esptool(self, off=None):
|
||||
def _invoke_esptool(self, off=None, target=None): # type: (Optional[int], Optional[str]) -> None
|
||||
"""
|
||||
Loads core dump from flash using elftool
|
||||
"""
|
||||
tool_args = [sys.executable, ESPTOOL_PY, '-c', self.target]
|
||||
if target is None:
|
||||
target = 'auto'
|
||||
tool_args = [sys.executable, ESPTOOL_PY, '-c', target]
|
||||
if self.port:
|
||||
tool_args.extend(['-p', self.port])
|
||||
if self.baud:
|
||||
@ -466,14 +475,14 @@ class ESPCoreDumpFlashLoader(EspCoreDumpLoader):
|
||||
|
||||
# Here we use V1 format to locate the size
|
||||
tool_args.extend(['read_flash', str(off), str(EspCoreDumpV1Header.sizeof())])
|
||||
tool_args.append(self.core_src_file.name)
|
||||
tool_args.append(self.core_src_file) # type: ignore
|
||||
|
||||
# read core dump length
|
||||
et_out = subprocess.check_output(tool_args)
|
||||
if et_out:
|
||||
logging.info(et_out.decode('utf-8'))
|
||||
|
||||
header = EspCoreDumpV1Header.parse(open(self.core_src_file.name, 'rb').read())
|
||||
header = EspCoreDumpV1Header.parse(open(self.core_src_file, 'rb').read()) # type: ignore
|
||||
if not header or not 0 < header.tot_len <= part_size:
|
||||
logging.error('Incorrect size of core dump image: {}, use partition size instead: {}'
|
||||
.format(header.tot_len, part_size))
|
||||
@ -492,7 +501,7 @@ class ESPCoreDumpFlashLoader(EspCoreDumpLoader):
|
||||
logging.debug(e.output)
|
||||
raise e
|
||||
|
||||
def _invoke_parttool(self):
|
||||
def _invoke_parttool(self): # type: () -> None
|
||||
"""
|
||||
Loads core dump from flash using parttool
|
||||
"""
|
||||
@ -503,7 +512,7 @@ class ESPCoreDumpFlashLoader(EspCoreDumpLoader):
|
||||
|
||||
self.core_src_file = self._create_temp_file()
|
||||
try:
|
||||
tool_args.append(self.core_src_file.name)
|
||||
tool_args.append(self.core_src_file) # type: ignore
|
||||
# read core dump partition
|
||||
et_out = subprocess.check_output(tool_args)
|
||||
if et_out:
|
||||
@ -515,7 +524,7 @@ class ESPCoreDumpFlashLoader(EspCoreDumpLoader):
|
||||
logging.debug(e.output)
|
||||
raise e
|
||||
|
||||
def _get_core_dump_partition_info(self, part_off=None):
|
||||
def _get_core_dump_partition_info(self, part_off=None): # type: (Optional[int]) -> Tuple[int, int]
|
||||
"""
|
||||
Get core dump partition info using parttool
|
||||
"""
|
||||
@ -545,28 +554,27 @@ class ESPCoreDumpFlashLoader(EspCoreDumpLoader):
|
||||
|
||||
|
||||
class ESPCoreDumpFileLoader(EspCoreDumpLoader):
|
||||
def __init__(self, path, is_b64=False):
|
||||
def __init__(self, path, is_b64=False): # type: (str, bool) -> None
|
||||
super(ESPCoreDumpFileLoader, self).__init__()
|
||||
self.is_b64 = is_b64
|
||||
|
||||
self._get_coredump(path)
|
||||
self._reload_coredump()
|
||||
self._get_core_src(path)
|
||||
self.target = self._load_core_src()
|
||||
|
||||
def _get_coredump(self, path):
|
||||
def _get_core_src(self, path): # type: (str) -> None
|
||||
"""
|
||||
Loads core dump from (raw binary or base64-encoded) file
|
||||
"""
|
||||
logging.debug('Load core dump from "%s", %s format', path, 'b64' if self.is_b64 else 'raw')
|
||||
if not self.is_b64:
|
||||
self.core_src_file = open(path, mode='rb')
|
||||
self.core_src_file = path
|
||||
else:
|
||||
self.core_src_file = self._create_temp_file()
|
||||
with open(path, 'rb') as fb64:
|
||||
while True:
|
||||
line = fb64.readline()
|
||||
if len(line) == 0:
|
||||
break
|
||||
data = base64.standard_b64decode(line.rstrip(b'\r\n'))
|
||||
self.core_src_file.write(data)
|
||||
self.core_src_file.flush()
|
||||
self.core_src_file.seek(0)
|
||||
with open(self.core_src_file, 'wb') as fw:
|
||||
with open(path, 'rb') as fb64:
|
||||
while True:
|
||||
line = fb64.readline()
|
||||
if len(line) == 0:
|
||||
break
|
||||
data = base64.standard_b64decode(line.rstrip(b'\r\n'))
|
||||
fw.write(data) # type: ignore
|
||||
|
63
components/espcoredump/corefile/riscv.py
Normal file
63
components/espcoredump/corefile/riscv.py
Normal file
@ -0,0 +1,63 @@
|
||||
#
|
||||
# Copyright 2021 Espressif Systems (Shanghai) CO., LTD
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
from construct import Int16ul, Int32ul, Padding, Struct
|
||||
|
||||
from . import BaseArchMethodsMixin, BaseTargetMethods, ESPCoreDumpLoaderError
|
||||
|
||||
try:
|
||||
from typing import Any, Optional, Tuple
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
RISCV_GP_REGS_COUNT = 32
|
||||
PRSTATUS_SIZE = 204
|
||||
PRSTATUS_OFFSET_PR_CURSIG = 12
|
||||
PRSTATUS_OFFSET_PR_PID = 24
|
||||
PRSTATUS_OFFSET_PR_REG = 72
|
||||
ELF_GREGSET_T_SIZE = 128
|
||||
|
||||
PrStruct = Struct(
|
||||
Padding(PRSTATUS_OFFSET_PR_CURSIG),
|
||||
'pr_cursig' / Int16ul,
|
||||
Padding(PRSTATUS_OFFSET_PR_PID - PRSTATUS_OFFSET_PR_CURSIG - Int16ul.sizeof()),
|
||||
'pr_pid' / Int32ul,
|
||||
Padding(PRSTATUS_OFFSET_PR_REG - PRSTATUS_OFFSET_PR_PID - Int32ul.sizeof()),
|
||||
'regs' / Int32ul[RISCV_GP_REGS_COUNT],
|
||||
Padding(PRSTATUS_SIZE - PRSTATUS_OFFSET_PR_REG - ELF_GREGSET_T_SIZE)
|
||||
)
|
||||
|
||||
|
||||
class RiscvMethodsMixin(BaseArchMethodsMixin):
|
||||
@staticmethod
|
||||
def get_registers_from_stack(data, grows_down):
|
||||
# type: (bytes, bool) -> Tuple[list[int], Optional[dict[int, int]]]
|
||||
regs = Int32ul[RISCV_GP_REGS_COUNT].parse(data)
|
||||
if not grows_down:
|
||||
raise ESPCoreDumpLoaderError('Growing up stacks are not supported for now!')
|
||||
return regs, None
|
||||
|
||||
@staticmethod
|
||||
def build_prstatus_data(tcb_addr, task_regs): # type: (int, list[int]) -> Any
|
||||
return PrStruct.build({
|
||||
'pr_cursig': 0,
|
||||
'pr_pid': tcb_addr,
|
||||
'regs': task_regs,
|
||||
})
|
||||
|
||||
|
||||
class Esp32c3Methods(BaseTargetMethods, RiscvMethodsMixin):
|
||||
TARGET = 'esp32c3'
|
8
components/espcoredump/corefile/soc_headers/esp32.py
Normal file
8
components/espcoredump/corefile/soc_headers/esp32.py
Normal file
@ -0,0 +1,8 @@
|
||||
SOC_DRAM_LOW = 0x3ffae000
|
||||
SOC_DRAM_HIGH = 0x40000000
|
||||
SOC_IRAM_LOW = 0x40080000
|
||||
SOC_IRAM_HIGH = 0x400a0000
|
||||
SOC_RTC_DRAM_LOW = 0x3ff80000
|
||||
SOC_RTC_DRAM_HIGH = 0x3ff82000
|
||||
SOC_RTC_DATA_LOW = 0x50000000
|
||||
SOC_RTC_DATA_HIGH = 0x50002000
|
8
components/espcoredump/corefile/soc_headers/esp32c3.py
Normal file
8
components/espcoredump/corefile/soc_headers/esp32c3.py
Normal file
@ -0,0 +1,8 @@
|
||||
SOC_IRAM_LOW = 0x4037c000
|
||||
SOC_IRAM_HIGH = 0x403e0000
|
||||
SOC_DRAM_LOW = 0x3fc80000
|
||||
SOC_DRAM_HIGH = 0x3fce0000
|
||||
SOC_RTC_DRAM_LOW = 0x50000000
|
||||
SOC_RTC_DRAM_HIGH = 0x50002000
|
||||
SOC_RTC_DATA_LOW = 0x50000000
|
||||
SOC_RTC_DATA_HIGH = 0x50002000
|
8
components/espcoredump/corefile/soc_headers/esp32s2.py
Normal file
8
components/espcoredump/corefile/soc_headers/esp32s2.py
Normal file
@ -0,0 +1,8 @@
|
||||
SOC_IRAM_LOW = 0x40020000
|
||||
SOC_IRAM_HIGH = 0x40070000
|
||||
SOC_DRAM_LOW = 0x3ffb0000
|
||||
SOC_DRAM_HIGH = 0x40000000
|
||||
SOC_RTC_DRAM_LOW = 0x3ff9e000
|
||||
SOC_RTC_DRAM_HIGH = 0x3ffa0000
|
||||
SOC_RTC_DATA_LOW = 0x50000000
|
||||
SOC_RTC_DATA_HIGH = 0x50002000
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 2021 Espressif Systems (Shanghai) PTE LTD
|
||||
# Copyright 2021 Espressif Systems (Shanghai) CO., LTD
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@ -16,12 +16,16 @@
|
||||
|
||||
from construct import Int16ul, Int32ul, Int64ul, Struct
|
||||
|
||||
from . import ESPCoreDumpLoaderError, _ArchMethodsBase, _TargetMethodsBase
|
||||
from . import BaseArchMethodsMixin, BaseTargetMethods, ESPCoreDumpLoaderError
|
||||
|
||||
try:
|
||||
from typing import Any, Optional, Tuple
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
INVALID_CAUSE_VALUE = 0xFFFF
|
||||
XCHAL_EXCCAUSE_NUM = 64
|
||||
|
||||
|
||||
# Exception cause dictionary to get translation of exccause register
|
||||
# From 4.4.1.5 table 4-64 Exception Causes of Xtensa
|
||||
# Instruction Set Architecture (ISA) Reference Manual
|
||||
@ -81,7 +85,7 @@ XTENSA_EXCEPTION_CAUSE_DICT = {
|
||||
}
|
||||
|
||||
|
||||
class XtensaRegisters(object):
|
||||
class ExceptionRegisters(object):
|
||||
# extra regs IDs used in EXTRA_INFO note
|
||||
EXCCAUSE_IDX = 0
|
||||
EXCVADDR_IDX = 1
|
||||
@ -100,14 +104,14 @@ class XtensaRegisters(object):
|
||||
EPS7_IDX = 199
|
||||
|
||||
@property
|
||||
def registers(self):
|
||||
def registers(self): # type: () -> dict[str, int]
|
||||
return {k: v for k, v in self.__class__.__dict__.items()
|
||||
if not k.startswith('__') and isinstance(v, int)}
|
||||
|
||||
|
||||
# Following structs are based on source code
|
||||
# IDF_PATH/components/espcoredump/src/core_dump_port.c
|
||||
XtensaPrStatus = Struct(
|
||||
PrStatus = Struct(
|
||||
'si_signo' / Int32ul,
|
||||
'si_code' / Int32ul,
|
||||
'si_errno' / Int32ul,
|
||||
@ -126,28 +130,28 @@ XtensaPrStatus = Struct(
|
||||
)
|
||||
|
||||
|
||||
def print_exc_regs_info(extra_info):
|
||||
def print_exc_regs_info(extra_info): # type: (list[int]) -> None
|
||||
"""
|
||||
Print the register info by parsing extra_info
|
||||
:param extra_info: extra info data str
|
||||
:return: None
|
||||
"""
|
||||
exccause = extra_info[1 + 2 * XtensaRegisters.EXCCAUSE_IDX + 1]
|
||||
exccause = extra_info[1 + 2 * ExceptionRegisters.EXCCAUSE_IDX + 1]
|
||||
exccause_str = XTENSA_EXCEPTION_CAUSE_DICT.get(exccause)
|
||||
if not exccause_str:
|
||||
exccause_str = ('Invalid EXCCAUSE code', 'Invalid EXCAUSE description or not found.')
|
||||
print('exccause 0x%x (%s)' % (exccause, exccause_str[0]))
|
||||
print('excvaddr 0x%x' % extra_info[1 + 2 * XtensaRegisters.EXCVADDR_IDX + 1])
|
||||
print('excvaddr 0x%x' % extra_info[1 + 2 * ExceptionRegisters.EXCVADDR_IDX + 1])
|
||||
|
||||
# skip crashed_task_tcb, exccause, and excvaddr
|
||||
for i in range(5, len(extra_info), 2):
|
||||
if (extra_info[i] >= XtensaRegisters.EPC1_IDX and extra_info[i] <= XtensaRegisters.EPC7_IDX):
|
||||
print('epc%d 0x%x' % ((extra_info[i] - XtensaRegisters.EPC1_IDX + 1), extra_info[i + 1]))
|
||||
if (extra_info[i] >= ExceptionRegisters.EPC1_IDX and extra_info[i] <= ExceptionRegisters.EPC7_IDX):
|
||||
print('epc%d 0x%x' % ((extra_info[i] - ExceptionRegisters.EPC1_IDX + 1), extra_info[i + 1]))
|
||||
|
||||
# skip crashed_task_tcb, exccause, and excvaddr
|
||||
for i in range(5, len(extra_info), 2):
|
||||
if (extra_info[i] >= XtensaRegisters.EPS2_IDX and extra_info[i] <= XtensaRegisters.EPS7_IDX):
|
||||
print('eps%d 0x%x' % ((extra_info[i] - XtensaRegisters.EPS2_IDX + 2), extra_info[i + 1]))
|
||||
if (extra_info[i] >= ExceptionRegisters.EPS2_IDX and extra_info[i] <= ExceptionRegisters.EPS7_IDX):
|
||||
print('eps%d 0x%x' % ((extra_info[i] - ExceptionRegisters.EPS2_IDX + 2), extra_info[i + 1]))
|
||||
|
||||
|
||||
# from "gdb/xtensa-tdep.h"
|
||||
@ -200,24 +204,11 @@ XT_STK_LCOUNT = 24
|
||||
XT_STK_FRMSZ = 25
|
||||
|
||||
|
||||
class _TargetMethodsESP32(_TargetMethodsBase):
|
||||
@staticmethod
|
||||
def tcb_is_sane(tcb_addr, tcb_size):
|
||||
return not (tcb_addr < 0x3ffae000 or (tcb_addr + tcb_size) > 0x40000000)
|
||||
|
||||
@staticmethod
|
||||
def stack_is_sane(sp):
|
||||
return not (sp < 0x3ffae010 or sp > 0x3fffffff)
|
||||
|
||||
@staticmethod
|
||||
def addr_is_fake(addr):
|
||||
return (0x20000000 <= addr < 0x3f3fffff) or addr >= 0x80000000
|
||||
|
||||
|
||||
class _ArchMethodsXtensa(_ArchMethodsBase):
|
||||
class XtensaMethodsMixin(BaseArchMethodsMixin):
|
||||
@staticmethod
|
||||
def get_registers_from_stack(data, grows_down):
|
||||
extra_regs = {v: 0 for v in XtensaRegisters().registers.values()}
|
||||
# type: (bytes, bool) -> Tuple[list[int], Optional[dict[int, int]]]
|
||||
extra_regs = {v: 0 for v in ExceptionRegisters().registers.values()}
|
||||
regs = [0] * REG_NUM
|
||||
# TODO: support for growing up stacks
|
||||
if not grows_down:
|
||||
@ -245,10 +236,10 @@ class _ArchMethodsXtensa(_ArchMethodsBase):
|
||||
if regs[REG_PS_IDX] & (1 << 5):
|
||||
regs[REG_PS_IDX] &= ~(1 << 4)
|
||||
if stack[XT_STK_EXCCAUSE] in XTENSA_EXCEPTION_CAUSE_DICT:
|
||||
extra_regs[XtensaRegisters.EXCCAUSE_IDX] = stack[XT_STK_EXCCAUSE]
|
||||
extra_regs[ExceptionRegisters.EXCCAUSE_IDX] = stack[XT_STK_EXCCAUSE]
|
||||
else:
|
||||
extra_regs[XtensaRegisters.EXCCAUSE_IDX] = INVALID_CAUSE_VALUE
|
||||
extra_regs[XtensaRegisters.EXCVADDR_IDX] = stack[XT_STK_EXCVADDR]
|
||||
extra_regs[ExceptionRegisters.EXCCAUSE_IDX] = INVALID_CAUSE_VALUE
|
||||
extra_regs[ExceptionRegisters.EXCVADDR_IDX] = stack[XT_STK_EXCVADDR]
|
||||
else:
|
||||
regs[REG_PC_IDX] = stack[XT_SOL_PC]
|
||||
regs[REG_PS_IDX] = stack[XT_SOL_PS]
|
||||
@ -258,8 +249,8 @@ class _ArchMethodsXtensa(_ArchMethodsBase):
|
||||
return regs, extra_regs
|
||||
|
||||
@staticmethod
|
||||
def build_prstatus_data(tcb_addr, task_regs):
|
||||
return XtensaPrStatus.build({
|
||||
def build_prstatus_data(tcb_addr, task_regs): # type: (int, list[int]) -> Any
|
||||
return PrStatus.build({
|
||||
'si_signo': 0,
|
||||
'si_code': 0,
|
||||
'si_errno': 0,
|
||||
@ -276,3 +267,11 @@ class _ArchMethodsXtensa(_ArchMethodsBase):
|
||||
'pr_cutime': 0,
|
||||
'pr_cstime': 0,
|
||||
}) + Int32ul[len(task_regs)].build(task_regs)
|
||||
|
||||
|
||||
class Esp32Methods(BaseTargetMethods, XtensaMethodsMixin):
|
||||
TARGET = 'esp32'
|
||||
|
||||
|
||||
class Esp32S2Methods(BaseTargetMethods, XtensaMethodsMixin):
|
||||
TARGET = 'esp32s2'
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# ESP32 core dump Utility
|
||||
# ESP-IDF Core Dump Utility
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
@ -10,7 +10,7 @@ import sys
|
||||
from shutil import copyfile
|
||||
|
||||
from construct import GreedyRange, Int32ul, Struct
|
||||
from corefile import __version__, xtensa
|
||||
from corefile import RISCV_TARGETS, SUPPORTED_TARGETS, XTENSA_TARGETS, __version__, xtensa
|
||||
from corefile.elf import TASK_STATUS_CORRECT, ElfFile, ElfSegment, ESPCoreDumpElfFile, EspTaskStatus
|
||||
from corefile.gdb import EspGDB
|
||||
from corefile.loader import ESPCoreDumpFileLoader, ESPCoreDumpFlashLoader
|
||||
@ -28,32 +28,40 @@ except ImportError:
|
||||
sys.stderr.write('esptool is not found!\n')
|
||||
sys.exit(2)
|
||||
|
||||
try:
|
||||
from typing import Optional, Tuple
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
if os.name == 'nt':
|
||||
CLOSE_FDS = False
|
||||
else:
|
||||
CLOSE_FDS = True
|
||||
|
||||
|
||||
def load_aux_elf(elf_path): # type: (str) -> (ElfFile, str)
|
||||
def load_aux_elf(elf_path): # type: (str) -> str
|
||||
"""
|
||||
Loads auxiliary ELF file and composes GDB command to read its symbols.
|
||||
"""
|
||||
elf = None
|
||||
sym_cmd = ''
|
||||
if os.path.exists(elf_path):
|
||||
elf = ElfFile(elf_path)
|
||||
for s in elf.sections:
|
||||
if s.name == '.text':
|
||||
sym_cmd = 'add-symbol-file %s 0x%x' % (elf_path, s.addr)
|
||||
return elf, sym_cmd
|
||||
return sym_cmd
|
||||
|
||||
|
||||
def core_prepare():
|
||||
def get_core_dump_elf(e_machine=ESPCoreDumpFileLoader.ESP32):
|
||||
# type: (int) -> Tuple[str, Optional[str], Optional[list[str]]]
|
||||
loader = None
|
||||
core_filename = None
|
||||
target = None
|
||||
temp_files = None
|
||||
|
||||
if not args.core:
|
||||
# Core file not specified, try to read core dump from flash.
|
||||
loader = ESPCoreDumpFlashLoader(args.off, port=args.port, baud=args.baud)
|
||||
loader = ESPCoreDumpFlashLoader(args.off, args.chip, port=args.port, baud=args.baud)
|
||||
elif args.core_format != 'elf':
|
||||
# Core file specified, but not yet in ELF format. Convert it from raw or base64 into ELF.
|
||||
loader = ESPCoreDumpFileLoader(args.core, args.core_format == 'b64')
|
||||
@ -63,51 +71,86 @@ def core_prepare():
|
||||
|
||||
# Load/convert the core file
|
||||
if loader:
|
||||
loader.create_corefile(exe_name=args.prog)
|
||||
core_filename = loader.core_elf_file.name
|
||||
loader.create_corefile(exe_name=args.prog, e_machine=e_machine)
|
||||
core_filename = loader.core_elf_file
|
||||
if args.save_core:
|
||||
# We got asked to save the core file, make a copy
|
||||
copyfile(loader.core_elf_file.name, args.save_core)
|
||||
copyfile(loader.core_elf_file, args.save_core)
|
||||
target = loader.target
|
||||
temp_files = loader.temp_files
|
||||
|
||||
return core_filename, loader
|
||||
return core_filename, target, temp_files # type: ignore
|
||||
|
||||
|
||||
def dbg_corefile():
|
||||
def get_target(): # type: () -> str
|
||||
if args.chip != 'auto':
|
||||
return args.chip # type: ignore
|
||||
|
||||
inst = esptool.ESPLoader.detect_chip(args.port, args.baud)
|
||||
return inst.CHIP_NAME.lower().replace('-', '') # type: ignore
|
||||
|
||||
|
||||
def get_gdb_path(target=None): # type: (Optional[str]) -> str
|
||||
if args.gdb:
|
||||
return args.gdb # type: ignore
|
||||
|
||||
if target is None:
|
||||
target = get_target()
|
||||
|
||||
if target in XTENSA_TARGETS:
|
||||
# For some reason, xtensa-esp32s2-elf-gdb will report some issue.
|
||||
# Use xtensa-esp32-elf-gdb instead.
|
||||
return 'xtensa-esp32-elf-gdb'
|
||||
if target in RISCV_TARGETS:
|
||||
return 'riscv32-esp-elf-gdb'
|
||||
raise ValueError('Invalid value: {}. For now we only support {}'.format(target, SUPPORTED_TARGETS))
|
||||
|
||||
|
||||
def get_rom_elf_path(target=None): # type: (Optional[str]) -> str
|
||||
if args.rom_elf:
|
||||
return args.rom_elf # type: ignore
|
||||
|
||||
if target is None:
|
||||
target = get_target()
|
||||
|
||||
return '{}_rom.elf'.format(target)
|
||||
|
||||
|
||||
def dbg_corefile(): # type: () -> Optional[list[str]]
|
||||
"""
|
||||
Command to load core dump from file or flash and run GDB debug session with it
|
||||
"""
|
||||
rom_elf, rom_sym_cmd = load_aux_elf(args.rom_elf)
|
||||
core_filename, loader = core_prepare()
|
||||
exe_elf = ESPCoreDumpElfFile(args.prog)
|
||||
core_elf_path, target, temp_files = get_core_dump_elf(e_machine=exe_elf.e_machine)
|
||||
|
||||
rom_elf_path = get_rom_elf_path(target)
|
||||
rom_sym_cmd = load_aux_elf(rom_elf_path)
|
||||
|
||||
gdb_tool = get_gdb_path(target)
|
||||
p = subprocess.Popen(bufsize=0,
|
||||
args=[args.gdb,
|
||||
args=[gdb_tool,
|
||||
'--nw', # ignore .gdbinit
|
||||
'--core=%s' % core_filename, # core file,
|
||||
'--core=%s' % core_elf_path, # core file,
|
||||
'-ex', rom_sym_cmd,
|
||||
args.prog],
|
||||
stdin=None, stdout=None, stderr=None,
|
||||
close_fds=CLOSE_FDS)
|
||||
p.wait()
|
||||
print('Done!')
|
||||
return temp_files
|
||||
|
||||
|
||||
def info_corefile():
|
||||
def info_corefile(): # type: () -> Optional[list[str]]
|
||||
"""
|
||||
Command to load core dump from file or flash and print it's data in user friendly form
|
||||
"""
|
||||
core_filename, loader = core_prepare()
|
||||
|
||||
exe_elf = ElfFile(args.prog)
|
||||
core_elf = ESPCoreDumpElfFile(core_filename)
|
||||
exe_elf = ESPCoreDumpElfFile(args.prog)
|
||||
core_elf_path, target, temp_files = get_core_dump_elf(e_machine=exe_elf.e_machine)
|
||||
core_elf = ESPCoreDumpElfFile(core_elf_path)
|
||||
|
||||
if exe_elf.e_machine != core_elf.e_machine:
|
||||
raise ValueError('The arch should be the same between core elf and exe elf')
|
||||
|
||||
if core_elf.e_machine == ESPCoreDumpElfFile.EM_XTENSA:
|
||||
exception_registers_info = xtensa.print_exc_regs_info
|
||||
else:
|
||||
raise NotImplementedError
|
||||
|
||||
extra_note = None
|
||||
task_info = []
|
||||
for seg in core_elf.note_segments:
|
||||
@ -119,8 +162,11 @@ def info_corefile():
|
||||
task_info.append(task_info_struct)
|
||||
print('===============================================================')
|
||||
print('==================== ESP32 CORE DUMP START ====================')
|
||||
rom_elf, rom_sym_cmd = load_aux_elf(args.rom_elf)
|
||||
gdb = EspGDB(args.gdb, [rom_sym_cmd], core_filename, args.prog, timeout_sec=args.gdb_timeout_sec)
|
||||
rom_elf_path = get_rom_elf_path(target)
|
||||
rom_sym_cmd = load_aux_elf(rom_elf_path)
|
||||
|
||||
gdb_tool = get_gdb_path(target)
|
||||
gdb = EspGDB(gdb_tool, [rom_sym_cmd], core_elf_path, args.prog, timeout_sec=args.gdb_timeout_sec)
|
||||
|
||||
extra_info = None
|
||||
if extra_note:
|
||||
@ -132,10 +178,12 @@ def info_corefile():
|
||||
task_name = gdb.get_freertos_task_name(marker)
|
||||
print("\nCrashed task handle: 0x%x, name: '%s', GDB name: 'process %d'" % (marker, task_name, marker))
|
||||
print('\n================== CURRENT THREAD REGISTERS ===================')
|
||||
if extra_note and extra_info:
|
||||
exception_registers_info(extra_info)
|
||||
else:
|
||||
print('Exception registers have not been found!')
|
||||
# Only xtensa have exception registers
|
||||
if exe_elf.e_machine == ESPCoreDumpElfFile.EM_XTENSA:
|
||||
if extra_note and extra_info:
|
||||
xtensa.print_exc_regs_info(extra_info)
|
||||
else:
|
||||
print('Exception registers have not been found!')
|
||||
print(gdb.run_cmd('info registers'))
|
||||
print('\n==================== CURRENT THREAD STACK =====================')
|
||||
print(gdb.run_cmd('bt'))
|
||||
@ -235,10 +283,14 @@ def info_corefile():
|
||||
|
||||
del gdb
|
||||
print('Done!')
|
||||
return temp_files
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='espcoredump.py v%s - ESP32 Core Dump Utility' % __version__)
|
||||
parser.add_argument('--chip', default=os.environ.get('ESPTOOL_CHIP', 'auto'),
|
||||
choices=['auto'] + SUPPORTED_TARGETS,
|
||||
help='Target chip type')
|
||||
parser.add_argument('--port', '-p', default=os.environ.get('ESPTOOL_PORT', esptool.ESPLoader.DEFAULT_PORT),
|
||||
help='Serial port device')
|
||||
parser.add_argument('--baud', '-b', type=int,
|
||||
@ -250,20 +302,20 @@ if __name__ == '__main__':
|
||||
common_args = argparse.ArgumentParser(add_help=False)
|
||||
common_args.add_argument('--debug', '-d', type=int, default=3,
|
||||
help='Log level (0..3)')
|
||||
common_args.add_argument('--gdb', '-g', default='xtensa-esp32-elf-gdb',
|
||||
common_args.add_argument('--gdb', '-g',
|
||||
help='Path to gdb')
|
||||
common_args.add_argument('--core', '-c',
|
||||
help='Path to core dump file (if skipped core dump will be read from flash)')
|
||||
common_args.add_argument('--core-format', '-t', choices=['b64', 'elf', 'raw'], default='elf',
|
||||
help='(elf, raw or b64). File specified with "-c" is an ELF ("elf"), '
|
||||
help='File specified with "-c" is an ELF ("elf"), '
|
||||
'raw (raw) or base64-encoded (b64) binary')
|
||||
common_args.add_argument('--off', '-o', type=int,
|
||||
help='Offset of coredump partition in flash (type "make partition_table" to see).')
|
||||
common_args.add_argument('--save-core', '-s',
|
||||
help='Save core to file. Otherwise temporary core file will be deleted. '
|
||||
'Does not work with "-c"', )
|
||||
common_args.add_argument('--rom-elf', '-r', default='esp32_rom.elf',
|
||||
help='Path to ROM ELF file.')
|
||||
common_args.add_argument('--rom-elf', '-r',
|
||||
help='Path to ROM ELF file. Will use "<target>_rom.elf" if not specified')
|
||||
common_args.add_argument('prog', help='Path to program\'s ELF binary')
|
||||
|
||||
operations = parser.add_subparsers(dest='operation')
|
||||
@ -291,9 +343,18 @@ if __name__ == '__main__':
|
||||
logging.basicConfig(format='%(levelname)s: %(message)s', level=log_level)
|
||||
|
||||
print('espcoredump.py v%s' % __version__)
|
||||
if args.operation == 'info_corefile':
|
||||
info_corefile()
|
||||
elif args.operation == 'dbg_corefile':
|
||||
dbg_corefile()
|
||||
else:
|
||||
raise ValueError('Please specify action, should be info_corefile or dbg_corefile')
|
||||
temp_core_files = None
|
||||
try:
|
||||
if args.operation == 'info_corefile':
|
||||
temp_core_files = info_corefile()
|
||||
elif args.operation == 'dbg_corefile':
|
||||
temp_core_files = dbg_corefile()
|
||||
else:
|
||||
raise ValueError('Please specify action, should be info_corefile or dbg_corefile')
|
||||
finally:
|
||||
if temp_core_files:
|
||||
for f in temp_core_files:
|
||||
try:
|
||||
os.remove(f)
|
||||
except OSError:
|
||||
pass
|
||||
|
@ -115,7 +115,7 @@ typedef union {
|
||||
|
||||
/* We can determine the padding thank to the previous macros */
|
||||
#define PRSTATUS_SIG_PADDING (PRSTATUS_OFFSET_PR_CURSIG)
|
||||
#define PRSTATUS_PID_PADDING (PRSTATUS_OFFSET_PR_PID - PRSTATUS_OFFSET_PR_CURSIG - sizeof(uint32_t))
|
||||
#define PRSTATUS_PID_PADDING (PRSTATUS_OFFSET_PR_PID - PRSTATUS_OFFSET_PR_CURSIG - sizeof(uint16_t))
|
||||
#define PRSTATUS_REG_PADDING (PRSTATUS_OFFSET_PR_REG - PRSTATUS_OFFSET_PR_PID - sizeof(uint32_t))
|
||||
#define PRSTATUS_END_PADDING (PRSTATUS_SIZE - PRSTATUS_OFFSET_PR_REG - ELF_GREGSET_T_SIZE)
|
||||
|
||||
|
@ -1,369 +0,0 @@
|
||||
ID0AAAABAAAKAAAAfAEAAAAAAAA=
|
||||
f0VMRgEBAQAAAAAAAAAAAAQAXgABAAAAAAAAADQAAAAAAAAAAAAAADQAIAAWACgA
|
||||
AAAAAA==
|
||||
BAAAAPQCAAAAAAAAAAAAAMAXAADAFwAABgAAAAAAAAA=
|
||||
AQAAALQaAABgYvs/YGL7P3wBAAB8AQAABgAAAAAAAAA=
|
||||
AQAAADAcAAAQqvs/EKr7P/ABAADwAQAABgAAAAAAAAA=
|
||||
AQAAACAeAAB4ovs/eKL7P3wBAAB8AQAABgAAAAAAAAA=
|
||||
AQAAAJwfAABgn/s/YJ/7PwQDAAAEAwAABgAAAAAAAAA=
|
||||
AQAAAKAiAAA0dvs/NHb7P3wBAAB8AQAABgAAAAAAAAA=
|
||||
AQAAABwkAACAdPs/gHT7P6ABAACgAQAABgAAAAAAAAA=
|
||||
AQAAALwlAACYbvs/mG77P3wBAAB8AQAABgAAAAAAAAA=
|
||||
AQAAADgnAADgbPs/4Gz7P6QBAACkAQAABgAAAAAAAAA=
|
||||
AQAAANwoAADUYPs/1GD7P3wBAAB8AQAABgAAAAAAAAA=
|
||||
AQAAAFgqAAAgX/s/IF/7P6ABAACgAQAABgAAAAAAAAA=
|
||||
AQAAAPgrAABYZPs/WGT7P3wBAAB8AQAABgAAAAAAAAA=
|
||||
AQAAAHQtAABwsvs/cLL7P6ABAACgAQAABgAAAAAAAAA=
|
||||
AQAAABQvAADcgPs/3ID7P3wBAAB8AQAABgAAAAAAAAA=
|
||||
AQAAAJAwAAAAf/s/AH/7P8gBAADIAQAABgAAAAAAAAA=
|
||||
AQAAAFgyAAA0+/o/NPv6P3wBAAB8AQAABgAAAAAAAAA=
|
||||
AQAAANQzAABg+fo/YPn6P8ABAADAAQAABgAAAAAAAAA=
|
||||
AQAAAJQ1AABYUPs/WFD7P3wBAAB8AQAABgAAAAAAAAA=
|
||||
AQAAABA3AACgTvs/oE77P6QBAACkAQAABgAAAAAAAAA=
|
||||
AQAAALQ4AAB4Sfs/eEn7P3wBAAB8AQAABgAAAAAAAAA=
|
||||
AQAAADA6AACgR/s/oEf7P8QBAADEAQAABgAAAAAAAAA=
|
||||
BAAAAPQ7AAAAAAAAAAAAABQBAAAUAQAABgAAAAAAAAA=
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYGL7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQ4NQCAIBgD9FABADRUAQP////8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAODYDQqvs/
|
||||
AgAAAByr+z8Qq/s/cOn6PwAAAAAAAAAABQAAAK3///8gAAAA4GL7PwEAAACAAAAA
|
||||
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeKL7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3JIAQCAFBgD9FABADRUAQP////8XAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+TAIAgoPs/
|
||||
nKD7PwAAAAAAAAAA0hQBAFcAAAA3AAAA9D8AAAAAAAAAAAAAAAAAAHiDCIDAXvs/
|
||||
AAAAAICC+z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHb7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsoUOQCAABgBsxABAd8QAQP////8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFI4DYBAdfs/
|
||||
AAAAAAAAAAABAAAAAQAAgAMAAAAjAAYAeJcIgDB1+z8DAAAAIwgGACAIBgABAAAA
|
||||
IAgGANCE+z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmG77PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsoUOQCAFBgBsxABAd8QAQP////8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFI4DYCgbfs/
|
||||
AAAAAAMAAAABAAAAAQAAgAMAAAAjCgYAHpEIgIBt+z/8Zvs/SB0AQCAEBgABAAAA
|
||||
IAQGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1GD7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBQIQCADBgD9FABADRUAQPn///8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF6bCIDgX/s/
|
||||
AAAAAGwcAQB4lwiA8E77PwMAAAAjCAYAFBQIgMBf+z/cAPA/AQAAADgA+z8BAAAA
|
||||
IAMGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWGT7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBQIQCABBgD9FABADRUAQPj///8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF6bCIAws/s/
|
||||
AAAAAGwcAQBxWA2A0J/7PwAIAAAEAPs/FBQIgBCz+z/cAPA/AQAAADgA+z8BAAAA
|
||||
IAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3ID7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBQIQCAABgAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpCIDAf/s/
|
||||
AAAAAAAAAAAUePs/AAAAAAAAAABQVPs/FBQIgKB/+z/cAPA/AQAAADgA+z9gVPs/
|
||||
UCsNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANPv6PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBQIQCAGBgAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADSNCIAg+vo/
|
||||
AAAAAAAAAADQOfs/FQAAAFUAAADQSPs/FBQIgAD6+j/cAPA/AQAAADgA+z8BAAAA
|
||||
IAYGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFD7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANI0IQCAIBgAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8dCIBgT/s/
|
||||
3Ev7PwAAAAAwTPs/AAAAAAEAAAAAAAAANI0IgEBP+z8BAAAABAAAANQ5+z8KAAAA
|
||||
AACAABwA9D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeEn7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBQIQCAOBgAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADSNCIBgSPs/
|
||||
AAAAAAAAAADQOfs/zc0AAAEAAAAAAAAAFBQIgEBI+z/cAPA/AQAAADgA+z8BAAAA
|
||||
IAAGAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
gKr7P6Cr+z+EGAEAcDj7P3A4+z9gYvs/aDj7PxIAAAAYZPs/GGT7P2Bi+z8AAAAA
|
||||
BwAAAASk+z91bmFsaWduZWRfcHRyX3QAAQAAAACs+z8AAAAAIAwGAA8AAADOzs7O
|
||||
BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOn6P3Dp+j/Y6fo/
|
||||
AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAASB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOzs4=
|
||||
776t3kUODUAwCAYAIA4NgNCq+z8CAAAAHKv7PxCr+z9w6fo/AAAAAAAAAAAFAAAA
|
||||
rf///yAAAADgYvs/AQAAAIAAAAABAAAAAAAAAAAAAAAdAAAABQAAAP0UAEANFQBA
|
||||
/////wEAAACAAAAABCQIQNw++z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAEAAACAAAAAAQAAAAAAAAAgDg2AAKv7PwEAAABw6fo/
|
||||
vLUNgACr+z8KAAAAAwAAABCr+z9w6fo/AAAAAAAAAABoDg2AMKv7PwoAAACUDPs/
|
||||
lAJAPx4AAADmV0A/AwAAAKSNCIAQX/s/AQAAAO8BvNBggQiAYKv7PwAAAAAAAAAA
|
||||
YIEIgGCr+z8AAAAAAwAAACAAAAAAAACAIQAGAAEAAAAAAAAAgKv7P1AODUAAAAAA
|
||||
IwAGAHA4+z9gYvs/AAAAAAAAAACgq/s/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArKv7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAA==
|
||||
YJ/7PwCi+z+hFAEASDj7P0g4+z94ovs/QDj7PxQAAACcS/s/nEv7P3ii+z8AAAAA
|
||||
BQAAAGiC+z91bml0eVRhc2sAzs7Ozs4AAAAAAGSi+z8AAAAAIQAGAAwAAADOzs7O
|
||||
BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOn6P3Dp+j/Y6fo/
|
||||
AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAASB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOzs4=
|
||||
aCQIQNySAEAwBQYAD5MAgCCg+z+coPs/AAAAAAAAAADSFAEAVwAAADcAAAD0PwAA
|
||||
AAAAAAAAAAAAAAAAeIMIgMBe+z8AAAAAgIL7PxcAAAD//wAAAAAAAP0UAEANFQBA
|
||||
/////2gmCEDAXvs/oIMIQDw1+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAP//P7MAAAAAAAAAAAAAAAC3YA2AQKD7P5yg+z//AAAA
|
||||
PDX7PwAAAAAAAAAAAAAAALpcDYBgoPs/nKD7P/8AAABlXwTAAP8AAAAA/wAAAAD/
|
||||
J2ENgJCg+z8BAAAAoKH7PydhDYCQoPs/AQAAAO8BvND+AAAAnKH7PwAAAAAQAAAA
|
||||
YIEIgMCh+z8AAAAAAAAAAKWlpaWlpaWlpaWlpQAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvAbzQ
|
||||
nKD7PwAAAIAhAAYAAFf7PwAAAADgofs/HGENQAAAAAAjAAYASDj7P3ii+z8AAAAA
|
||||
AAAAAACi+z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAMovs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAA==
|
||||
gHT7P8B1+z/Ozs7O5Df7P6Bu+z80dvs/3Df7PxkAAADOzs7Ozs7OzjR2+z8AAAAA
|
||||
AAAAACRw+z9JRExFMQDOzs7Ozs7Ozs4AAQAAACB2+z8AAAAAIQAGAAcAAADOzs7O
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOn6P3Dp+j/Y6fo/
|
||||
AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAASB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOzs4=
|
||||
aCQIQLKFDkAwAAYAUjgNgEB1+z8AAAAAAAAAAAEAAAABAACAAwAAACMABgB4lwiA
|
||||
MHX7PwMAAAAjCAYAIAgGAAEAAAAgCAYA0IT7PwAAAAD//wAAAAAAAGzEAEB3xABA
|
||||
/////2gmCEABAAAAoIMIQPwI+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAACAnQhAAAAAAAAAAACJnQiAYHX7PwgAAAABAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAGCBCICAdfs/AAAAAAAAAAABAAAAAAAAgCEABgAAAAAA
|
||||
AAAAAKB1+z+AnQhAAAAAACMABgDkN/s/mG77PwAAAAAAAAAAwHX7PwAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMx1+z8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
4Gz7PyBu+z/Ozs7OPHb7P+Q3+z+Ybvs/3Df7PxkAAADOzs7Ozs7Ozphu+z8AAAAA
|
||||
AAAAAIho+z9JRExFMADOzs7Ozs7Ozs4AAAAAAIRu+z8AAAAAIQAGAAYAAADOzs7O
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOn6P3Dp+j/Y6fo/
|
||||
AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAASB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOzs4=
|
||||
aCQIQLKFDkAwBQYAUjgNgKBt+z8AAAAAAwAAAAEAAAABAACAAwAAACMKBgAekQiA
|
||||
gG37P/xm+z9IHQBAIAQGAAEAAAAgBAYAAAAAAAAAAAD//wAAAAAAAGzEAEB3xABA
|
||||
/////2gmCEABAAAAoIMIQFwB+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAACAnQhAAAAAAAAAAACJnQiAwG37PwgAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAGCBCIDgbfs/AAAAAAAAAAABAAAAAAAAgCEABgAjCwYA
|
||||
AAAAAABu+z+AnQhAAAAAACMABgDkN/s/NHb7PwAAAAAAAAAAIG77PwAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxu+z8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
IF/7P2Bg+z9sHAEA0Df7P2Bk+z/UYPs/yDf7PxQAAADOzs7Ozs7OztRg+z8AAAAA
|
||||
BQAAAMRY+z9iYWRfcHRyX3Rhc2sAzs4A////f8Bg+z8AAAAAIQAGAA4AAADOzs7O
|
||||
BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOn6P3Dp+j/Y6fo/
|
||||
AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAASB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOzs4=
|
||||
aCQIQBQUCEAwAwYAXpsIgOBf+z8AAAAAbBwBAHiXCIDwTvs/AwAAACMIBgAUFAiA
|
||||
wF/7P9wA8D8BAAAAOAD7PwEAAAAgAwYAAAAAAAAAAAD//wAAAAAAAP0UAEANFQBA
|
||||
+f///2gmCEABAAAAoIMIQJzz+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAADACQD8YAAAA5ldAPwEAAADjDQ2AAGD7P2wcAQCUDPs/
|
||||
eJcIgPBO+z8DAAAAIwgGAGCBCIAgYPs/AAAAAAAAAAAgAAAAAAAAgCEABgAAAAAA
|
||||
AAAAAEBg+z/UDQ1AAAAAACMABgBIOPs/eKL7PwAAAAAAAAAAYGD7PwAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxg+z8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
cLL7P7Cz+z9sHAEA3GD7P9A3+z9YZPs/yDf7Pw8AAADOzs7Ozs7Ozlhk+z8AAAAA
|
||||
CgAAABSs+z9mYWlsZWRfYXNzZXJ0X3QAAAAAABC0+z8AAAAAIQAGABAAAADOzs7O
|
||||
CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOn6P3Dp+j/Y6fo/
|
||||
AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAASB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOzs4=
|
||||
aCQIQBQUCEAwAQYAXpsIgDCz+z8AAAAAbBwBAHFYDYDQn/s/AAgAAAQA+z8UFAiA
|
||||
ELP7P9wA8D8BAAAAOAD7PwEAAAAgAQYAAAAAAAAAAAD//wAAAAAAAP0UAEANFQBA
|
||||
+P///2gmCEABAAAAoIMIQOxG+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAEQBQD8eAAAA5ldAPwEAAAAjDQ2AULP7P2wcAQCUDPs/
|
||||
cVgNgNCf+z8ACAAABAD7P2CBCIBws/s/AAAAAAAAAAAgAAAAAAAAgCEABgAAAAAA
|
||||
AAAAAJCz+z8UDQ1AAAAAACMABgCsOPs/WGT7PwAAAAAAAAAAsLP7PwAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyz+z8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
AH/7P2CA+z8AAAAAvDf7P7w3+z/cgPs/tDf7PxgAAADsd/s/7Hf7P9yA+z/kd/s/
|
||||
AQAAAMx4+z9UbXIgU3ZjAM7Ozs7Ozs4AAAAAAMiA+z8AAAAAIQAGAAgAAADOzs7O
|
||||
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOn6P3Dp+j/Y6fo/
|
||||
AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAASB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOzs4=
|
||||
aCQIQBQUCEAwAAYAAakIgMB/+z8AAAAAAAAAABR4+z8AAAAAAAAAAFBU+z8UFAiA
|
||||
oH/7P9wA8D8BAAAAOAD7P2BU+z9QKw1AAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAGgmCEBgVPs/oIMIQJwT+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAGgkCEBYgQhAMAAFAO8BvNAzqgiA4H/7P9w5+z8AAAAA
|
||||
AAAAABiqCEAAAAAAAAAAAGCBCIAQgPs/AAAAAAAAAAAAAAAAAAAAAAAAAADvAbzQ
|
||||
AQAAAAAAAIAhAAYAIwAGAAAAAABAgPs/GKoIQAAAAACcE/s/AAAAAAEAAADvAbzQ
|
||||
IwAGAPg3+z/8Zvs/AAAAAAAAAABggPs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbID7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
YPn6P8D6+j/Ozs7OYFD7P4BJ+z80+/o/WDf7PwMAAADk6vo/5Or6PzT7+j/c6vo/
|
||||
FgAAACTr+j9lc3BfdGltZXIAzs7Ozs4AAAAAACD7+j8AAAAAIQAGAAEAAADOzs7O
|
||||
FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOn6P3Dp+j/Y6fo/
|
||||
AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAASB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOzs4=
|
||||
aCQIQBQUCEAwBgYANI0IgCD6+j8AAAAAAAAAANA5+z8VAAAAVQAAANBI+z8UFAiA
|
||||
APr6P9wA8D8BAAAAOAD7PwEAAAAgBgYAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAGgmCEABAAAAoIMIQPyN+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAGgkCEBYgQhAMAAFAAAAAACLNw2AQPr6P7jq+j8AAAAA
|
||||
AAAAAHg3DUAAAAAAAAAAAGCBCICA+vo/AAAAAAAAAAAAAAAAAAAAAAAAAAD/////
|
||||
AAAAAAAAAACMxAAA7wG80Azr+j8AAAAAAQAAACMOBgAAAAAAoPr6P3g3DUAAAAAA
|
||||
IwAGAJw5+z80+/o/AAAAAAAAAADA+vo/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzPr6PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAA==
|
||||
oE77P+BP+z/Ozs7OYDf7Pzz7+j9YUPs/WDf7PwEAAAAITPs/CEz7P1hQ+z8ATPs/
|
||||
GAAAAEhM+z9pcGMxAM7Ozs7Ozs7Ozs4AAQAAAERQ+z8AAAAAIQAGAAMAAADOzs7O
|
||||
GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOn6P3Dp+j/Y6fo/
|
||||
AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAASB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOzs4=
|
||||
aCQIQDSNCEAwCAYADx0IgGBP+z/cS/s/AAAAADBM+z8AAAAAAQAAAAAAAAA0jQiA
|
||||
QE/7PwEAAAAEAAAA1Dn7PwoAAAAAAIAAHAD0PwAAAAD//wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAGgmCEAKAAAAoIMIQBzj+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAANQ5+z8KAAAAAACAABwA9D9ggQiAoE/7PwEAAAAAAAAA
|
||||
gKL7PwoAAAAAAIAA/////2CBCIAAAAAAnBQBAO8BvNAwTPs/AAAAAAEAAAAAAAAA
|
||||
AAAAAMBP+z/cHAhAAQAAAAEAAADEOfs/WFD7PwAAAAAAAAAA4E/7PwAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAKwRCICAff4/KAAAACgAAAAAAAAAAAAAAOxP+z8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
oEf7PwBJ+z/Ozs7OPPv6P2A3+z94Sfs/WDf7PwEAAAAoRfs/KEX7P3hJ+z8gRfs/
|
||||
GAAAAGhF+z9pcGMwAM7Ozs7Ozs7Ozs4AAAAAAGRJ+z8AAAAAIQAGAAIAAADOzs7O
|
||||
GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOn6P3Dp+j/Y6fo/
|
||||
AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAASB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOzs4=
|
||||
aCQIQBQUCEAwDgYANI0IgGBI+z8AAAAAAAAAANA5+z/NzQAAAQAAAAAAAAAUFAiA
|
||||
QEj7P9wA8D8BAAAAOAD7PwEAAAAgAAYAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAGgmCEABAAAAoIMIQDzc+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAGgkCEBYgQhAMAAFAAAAAAAPHQiAgEj7P/xE+z8AAAAA
|
||||
AAAAANwcCEAAAAAAAAAAAGCBCIDASPs/AAAAAAAAAAAAAAAAAAAAAAAAAAD/////
|
||||
AAAAAAAAAAAAAAAA7wG80FBF+z8AAAAAAQAAAAIAAAAAAAAA4Ej7P9wcCEAAAAAA
|
||||
IwMGAMQ5+z94Sfs/AQAAAAAAAAAASfs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
KREIgFA7/j9AN/s/7wG80AAAAAAAAAAADEn7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
FAAAAEgAAABKIAAA
|
||||
RVNQX0NPUkVfRFVNUF9JTkZPAAA=
|
||||
AAEAADYxNTFkNThkNGUzNmJmYWI5MmM4ZTYzYzgzYTEzOThlZDdhNjFkYzFhYjk0
|
||||
NWQxNzI5ZTY3MDUxNmY5N2NiZjQAAAAA
|
||||
DAAAAJQAAAClAgAA
|
||||
RVhUUkFfSU5GTwAA
|
||||
YGL7P+gAAAAdAAAA7gAAAAUAAADCAAAAAAAAAMMAAAAAAAAAxAAAACAIBgDFAAAA
|
||||
AAAAAMYAAAAAAAAAxwAAAAAAAACxAAAAR4UOQLIAAAAAAAAAswAAAAAAAAC0AAAA
|
||||
QCwIQLUAAAAAAAAAtgAAAAAAAAC3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAA==
|
||||
hvIqKg==
|
293
components/espcoredump/test/esp32/coredump.b64
Normal file
293
components/espcoredump/test/esp32/coredump.b64
Normal file
@ -0,0 +1,293 @@
|
||||
QC8AAAABAAAAAAAAAAAAAAAAAAA=
|
||||
f0VMRgEBAQAAAAAAAAAAAAQAXgABAAAAAAAAADQAAAAAAAAAAAAAADQAIAASACgA
|
||||
AAAAAA==
|
||||
BAAAAHQCAAAAAAAAAAAAAAATAAAAEwAABgAAAAAAAAA=
|
||||
AQAAAHQVAABMjvs/TI77P1gBAABYAQAABgAAAAAAAAA=
|
||||
AQAAAMwWAABQjPs/UIz7P/QBAAD0AQAABgAAAAAAAAA=
|
||||
AQAAAMAYAADMcPs/zHD7P1gBAABYAQAABgAAAAAAAAA=
|
||||
AQAAABgaAAAgb/s/IG/7P6QBAACkAQAABgAAAAAAAAA=
|
||||
AQAAALwbAAAsePs/LHj7P1gBAABYAQAABgAAAAAAAAA=
|
||||
AQAAABQdAACAdvs/gHb7P6QBAACkAQAABgAAAAAAAAA=
|
||||
AQAAALgeAACsl/s/rJf7P1gBAABYAQAABgAAAAAAAAA=
|
||||
AQAAABAgAAAAlvs/AJb7P6QBAACkAQAABgAAAAAAAAA=
|
||||
AQAAALQhAADshPs/7IT7P1gBAABYAQAABgAAAAAAAAA=
|
||||
AQAAAAwjAABAg/s/QIP7P6QBAACkAQAABgAAAAAAAAA=
|
||||
AQAAALAkAABo+Po/aPj6P1gBAABYAQAABgAAAAAAAAA=
|
||||
AQAAAAgmAACA9vo/gPb6P+ABAADgAQAABgAAAAAAAAA=
|
||||
AQAAAOgnAACsU/s/rFP7P1gBAABYAQAABgAAAAAAAAA=
|
||||
AQAAAEApAADwUfs/8FH7P7QBAAC0AQAABgAAAAAAAAA=
|
||||
AQAAAPQqAABMQvs/TEL7P1gBAABYAQAABgAAAAAAAAA=
|
||||
AQAAAEwsAAAA/fo/AP36P8gBAADIAQAABgAAAAAAAAA=
|
||||
BAAAABQuAAAAAAAAAAAAABQBAAAUAQAABgAAAAAAAAA=
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATI77PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsVYNQCAABgD9FABADRUAQP////8aAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIxWDYAQjfs/
|
||||
AgAAAFyN+z9Qjfs/bO/6PwAAAAAAAAAABQAAAK3///8gAAAArI77PwEAAACAAAAA
|
||||
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzHD7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGngOQCALBgAAAAAAAAAAAAAAAAAVAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADoaDYDgb/s/
|
||||
AAAAAAEAAAABAAAAAQAAgAAAgAAcAPQ/WpoNgLBv+z8AAAAASB0AQCAHBgAjBwYA
|
||||
AQAAABwA9D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALHj7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGngOQCAKBgAAAAAAAAAAAAAAAAAYAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADoaDYBAd/s/
|
||||
AAAAAAAAAAABAAAAAQAAgAMAAAAjAAYAWpoNgBB3+z8AAAAAIwoGACAKBgAjCgYA
|
||||
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArJf7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhD4IQCAJBgD9FABADRUAQPj///8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApgCIDAlvs/
|
||||
AAAAAMkAAACUNPs/QGj7PwAIAAAAAAAAhD4IgKCW+z/cAPA/AQAAANgX+z8jCQYA
|
||||
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7IT7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhD4IQCALBgD9FABADRUAQPn///8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApgCIAAhPs/
|
||||
AAAAAMkAAACUNPs/iDT7P0xC+z8AAAAAhD4IgOCD+z/cAPA/AQAAANgX+z8jCwYA
|
||||
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaPj6PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIz4IQCAMBgAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQ+CIBA9/o/
|
||||
3ADwPwEAAADYF/s/IwAGAAEAAAAEAAAACj4IgCD3+j+4Mfs/AAAAACMKBgAjCgYA
|
||||
AQAAANACQD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArFP7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AQCAABgAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMJ3CICwUvs/
|
||||
AAAAACMABgAgAAYAIwAGAAEAAAAAAAAACj4IgIBS+z/AMfs/AQAAAMD3+j+A9/o/
|
||||
DPT6P1j0+j8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATEL7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhD4IQCAKBgAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPVYCIDA/fo/
|
||||
AQAAAP/////A+vo/dGn7PwEAAAAcAPQ/hD4IgKD9+j/gAPA/AQAAANgX+z8jCgYA
|
||||
AQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
oIz7P+CN+z9lAAAANDP7PzQz+z9Mjvs/LDP7PxIAAABSCwAsfipi8UyO+z8AAAAA
|
||||
BwAAAEiG+z91bmFsaWduZWRfcHRyX3QAAQAAAESO+z8HAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAATv+j9s7/o/1O/6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA+z8=
|
||||
776t3rFWDUAwAAYAjFYNgBCN+z8CAAAAXI37P1CN+z9s7/o/AAAAAAAAAAAFAAAA
|
||||
rf///yAAAACsjvs/AQAAAIAAAAABAAAAAAAAABoAAAAdAAAABQAAAP0UAEANFQBA
|
||||
/////wEAAACAAAAAnCAIQERY+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAEAAACAAAAAAQAAAAAAAACMVg2AQI37PwEAAABs7/o/
|
||||
AwAAAAAAAAABAAAAAQAAAFCN+z9s7/o/AAAAAAAAAADUVg2AcI37PwoAAACIFvs/
|
||||
AwAAAB4AAAACMkA/AQAAAJQ0+z8jAAYAAQAAAAAAAAC8dQiAoI37PwAAAAAAAAAA
|
||||
AwAAAKCN+z8AAAAAAAAAACEABgAjAAYAAQAAAAAAAAAAAAAAwI37P7xWDUAAAAAA
|
||||
IwAGADQz+z9Mjvs/AAAAAAAAAADgjfs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7I37PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
IG/7P2Bw+z825LZwNHj7P6gy+z/McPs/oDL7PxkAAAAxouASF+cBTsxw+z8AAAAA
|
||||
AAAAAMhq+z9JRExFAOBDvnHT/sEOutQAAAAAAMRw+z8AAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAATv+j9s7/o/1O/6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA+z8=
|
||||
ACEIQBp4DkAwCwYAOhoNgOBv+z8AAAAAAQAAAAEAAAABAACAAACAABwA9D9amg2A
|
||||
sG/7PwAAAABIHQBAIAcGACMHBgABAAAAHAD0PxUAAAD//wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAQjCEAjBwYAYE0IQMQ6+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAC0XQhAAAAAAAAAAAC9XQiAAHD7PwgAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAALx1CIAgcPs/AAAAAAAAAAABAAAAIwAGAAEAAAAjBAYA
|
||||
AAAAAEBw+z+0XQhAAAAAACMABgCoMvs/LHj7PwAAAAAAAAAAYHD7PwAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxw+z8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
gHb7P8B3+z/VLZInqDL7P9Rw+z8sePs/oDL7PxkAAADQDnUJWS5znCx4+z8AAAAA
|
||||
AAAAAChy+z9JRExFAF71C3f47ueHKmsAAQAAACR4+z8AAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAATv+j9s7/o/1O/6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA+z8=
|
||||
ACEIQBp4DkAwCgYAOhoNgEB3+z8AAAAAAAAAAAEAAAABAACAAwAAACMABgBamg2A
|
||||
EHf7PwAAAAAjCgYAIAoGACMKBgABAAAAAAAAABgAAAD//wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAQjCEAjCgYAYE0IQCRC+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAC0XQhAAAAAAAAAAAC9XQiAYHf7PwgAAAABAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAALx1CICAd/s/AAAAAAAAAAABAAAAIwAGAAEAAAAAAAAA
|
||||
AAAAAKB3+z+0XQhAAAAAACMABgCoMvs/zHD7PwAAAAAAAAAAwHf7PwAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMx3+z8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AJb7P0CX+z/JAAAA9IT7P5Qy+z+sl/s/jDL7Pw8AAAAIhfs/LPH6P6yX+z8AAAAA
|
||||
CgAAAKiP+z9mYWlsZWRfYXNzZXJ0X3QAAAAAAKSX+z8KAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAATv+j9s7/o/1O/6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA+z8=
|
||||
ACEIQIQ+CEAwCQYACmAIgMCW+z8AAAAAyQAAAJQ0+z9AaPs/AAgAAAAAAACEPgiA
|
||||
oJb7P9wA8D8BAAAA2Bf7PyMJBgABAAAAAAAAAAAAAAD//wAAAAAAAP0UAEANFQBA
|
||||
+P///wQjCEAjCQYAYE0IQKRh+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAwWQD8eAAAAAjJAPwEAAACXVQ2A4Jb7P2QAAACIFvs/
|
||||
lDT7P0Bo+z8ACAAAAAAAALx1CIAAl/s/AAAAAAAAAAAhAAYAIwAGAAEAAAAAAAAA
|
||||
AAAAACCX+z+IVQ1AAAAAACMABgBwM/s/rJf7PwAAAAAAAAAAQJf7PwAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEyX+z8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
QIP7P4CE+z/JAAAAlDL7P7SX+z/shPs/jDL7PxQAAAAs8fo/LPH6P+yE+z8AAAAA
|
||||
BQAAAOh8+z9iYWRfcHRyX3Rhc2sAsOEA////f+SE+z8FAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAATv+j9s7/o/1O/6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA+z8=
|
||||
ACEIQIQ+CEAwCwYACmAIgACE+z8AAAAAyQAAAJQ0+z+INPs/TEL7PwAAAACEPgiA
|
||||
4IP7P9wA8D8BAAAA2Bf7PyMLBgABAAAAAAAAAAAAAAD//wAAAAAAAP0UAEANFQBA
|
||||
+f///wQjCEAjCwYAYE0IQORO+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAKgWQD8YAAAAAjJAPwEAAABPVg2AIIT7P2QAAACIFvs/
|
||||
lDT7P4g0+z9MQvs/AAAAALx1CIBAhPs/AAAAAAAAAAAhAAYAIwAGAAEAAAAjCgYA
|
||||
AAAAAGCE+z9AVg1AAAAAACMABgAMM/s/7IT7PwAAAAAAAAAAgIT7PwAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyE+z8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
gPb6PwD4+j/iqgEItFP7PyQy+z9o+Po/HDL7PwEAAAA49Po/OPT6P2j4+j8w9Po/
|
||||
GAAAAGT0+j9pcGMwACtsMbetm+FBj1oAAAAAAGD4+j8YAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAATv+j9s7/o/1O/6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA+j8=
|
||||
ACEIQCM+CEAwDAYAhD4IgED3+j/cAPA/AQAAANgX+z8jAAYAAQAAAAQAAAAKPgiA
|
||||
IPf6P7gx+z8AAAAAIwoGACMKBgABAAAA0AJAPwAAAAD//wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAQjCEAjCgYAYE0IQGTC+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAKWlpaWlpaWlpaWlpaWlpaX1WAiAYPf6PwAAAAD/////
|
||||
ACEIQLR1CEAwAAUAAAAAACsrCICA9/o/DPT6P1j0+j9Y9Po/EDv+PwMAAAAjDwYA
|
||||
vHUIgMD3+j8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAA
|
||||
AQAAAAEAAAAAAAAAIw8GAAAAAADg9/o/DCsIQAAAAAAjDwYAiDT7P2j4+j8BAAAA
|
||||
AAAAAAD4+j8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADffw6AwDv+PxQy+z8AAAAA
|
||||
AAAAAAAAAAAM+Po/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
8FH7P0BT+z/2HasIVEL7P3D4+j+sU/s/HDL7PwMAAACvrmDFgSvFvKxT+z8AAAAA
|
||||
FgAAAKhD+z9lc3BfdGltZXIAeE/mj3EAAAAAAKRT+z8WAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAATv+j9s7/o/1O/6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAEA+z8=
|
||||
ACEIQPC/AEAwAAYAwncIgLBS+z8AAAAAIwAGACAABgAjAAYAAQAAAAAAAAAKPgiA
|
||||
gFL7P8Ax+z8BAAAAwPf6P4D3+j8M9Po/WPT6PwAAAAD//wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAQjCECA9/o/YE0IQKQd+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAEBT+z8AAAAAAAAAAAAAAAAucAiAwFL7P7gx+z8AAAAA
|
||||
SFENgOBS+z+IFvs//////wAAAADg9/o/DCsIQAAAAAC8dQiAAFP7PwAAAAAAAAAA
|
||||
AQAAACMABgABAAAAkDv+PwAAAAAgU/s/PFENQAAAAAAjAAYAYDT7P6xT+z8AAAAA
|
||||
AAAAAEBT+z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAABMU/s/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAA==
|
||||
AP36P2D++j8vG6MTJDL7P7RT+z9MQvs/HDL7PwEAAACg+vo/oPr6P0xC+z+Y+vo/
|
||||
GAAAAMz6+j9pcGMxAHqrpPxnrHN+FewAAQAAAMj++j8YAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAATv+j9s7/o/1O/6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA+z8=
|
||||
ACEIQIQ+CEAwCgYA9VgIgMD9+j8BAAAA/////8D6+j90afs/AQAAABwA9D+EPgiA
|
||||
oP36P+AA8D8BAAAA2Bf7PyMKBgABAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAQjCEAjCgYAYE0IQMTI+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAP//P7MAAAAAAAAAAAAAAAArKwiA4P36P3T6+j/A+vo/
|
||||
RAAAEyMKBgABAAAAAQAAALx1CIAg/vo/AQAAAAAAAAAAAAAAAQAAAAEAAAAcAPQ/
|
||||
/////yD++j8BAAAA/CsIQAEAAAABAAAAAAAAAAEAAAAAAAAAQP76PwwrCEABAAAA
|
||||
AQAAAIg0+z9MQvs/AAAAAAAAAABg/vo/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
bw8IgGB9/j+APgAAvQT6AAAAAAAAAAAAbP76PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
FAAAAEgAAABKIAAA
|
||||
RVNQX0NPUkVfRFVNUF9JTkZPAAA=
|
||||
AAEAAGM4MDk4NWI3Njg3OTdmYjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
DAAAAJQAAAClAgAA
|
||||
RVhUUkFfSU5GTwAA
|
||||
TI77P+gAAAAdAAAA7gAAAAUAAADCAAAAAAAAAMMAAAAAAAAAxAAAACAKBgDFAAAA
|
||||
AAAAAMYAAAAAAAAAsQAAANOTDUCyAAAAAAAAALMAAAAAAAAAtAAAAB0sCEC1AAAA
|
||||
AAAAALYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAA==
|
||||
YtCItg==
|
589
components/espcoredump/test/esp32/expected_output
Normal file
589
components/espcoredump/test/esp32/expected_output
Normal file
@ -0,0 +1,589 @@
|
||||
espcoredump.py v0.4-dev
|
||||
===============================================================
|
||||
==================== ESP32 CORE DUMP START ====================
|
||||
|
||||
Crashed task handle: 0x3ffb8e4c, name: 'unaligned_ptr_t', GDB name: 'process 1073450572'
|
||||
|
||||
================== CURRENT THREAD REGISTERS ===================
|
||||
exccause 0x1d (StoreProhibitedCause)
|
||||
excvaddr 0x5
|
||||
epc1 0x400d93d3
|
||||
epc2 0x0
|
||||
epc3 0x0
|
||||
epc4 0x40082c1d
|
||||
epc5 0x0
|
||||
epc6 0x0
|
||||
eps2 0x0
|
||||
eps3 0x0
|
||||
eps4 0x60a20
|
||||
eps5 0x0
|
||||
eps6 0x0
|
||||
pc 0x400d56b1 0x400d56b1 <UnityPrintNumberUnsigned+49>
|
||||
lbeg 0x400014fd 1073747197
|
||||
lend 0x4000150d 1073747213
|
||||
lcount 0xffffffff 4294967295
|
||||
sar 0x1a 26
|
||||
ps 0x60020 393248
|
||||
threadptr <unavailable>
|
||||
br <unavailable>
|
||||
scompare1 <unavailable>
|
||||
acclo <unavailable>
|
||||
acchi <unavailable>
|
||||
m0 <unavailable>
|
||||
m1 <unavailable>
|
||||
m2 <unavailable>
|
||||
m3 <unavailable>
|
||||
expstate <unavailable>
|
||||
f64r_lo <unavailable>
|
||||
f64r_hi <unavailable>
|
||||
f64s <unavailable>
|
||||
fcr <unavailable>
|
||||
fsr <unavailable>
|
||||
a0 0x800d568c -2146609524
|
||||
a1 0x3ffb8d10 1073450256
|
||||
a2 0x2 2
|
||||
a3 0x3ffb8d5c 1073450332
|
||||
a4 0x3ffb8d50 1073450320
|
||||
a5 0x3ffaef6c 1073409900
|
||||
a6 0x0 0
|
||||
a7 0x0 0
|
||||
a8 0x5 5
|
||||
a9 0xffffffad -83
|
||||
a10 0x20 32
|
||||
a11 0x3ffb8eac 1073450668
|
||||
a12 0x1 1
|
||||
a13 0x80 128
|
||||
a14 0x1 1
|
||||
a15 0x0 0
|
||||
|
||||
==================== CURRENT THREAD STACK =====================
|
||||
#0 0x400d56b1 in UnityPrintNumberUnsigned (number=2) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:204
|
||||
#1 0x400d568c in UnityPrintNumberUnsigned (number=1) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:198
|
||||
#2 0x400d568c in UnityPrintNumberUnsigned (number=10) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:198
|
||||
#3 0x400d56d4 in UnityPrintNumber (number_to_print=0) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:178
|
||||
#4 0x400875bc in vPortTaskWrapper (pxCode=0x400d56bc <UnityPrintNumberUnsigned+60>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
======================== THREADS INFO =========================
|
||||
Id Target Id Frame
|
||||
* 1 process 1073450572 0x400d56b1 in UnityPrintNumberUnsigned (number=2) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:204
|
||||
2 process 1073443020 0x400e781a in get_mask (bit_count=<optimized out>, shift=1) at /builds/espressif/esp-idf/components/efuse/src/esp_efuse_utility.c:293
|
||||
3 process 1073444908 0x400e781a in get_mask (bit_count=<optimized out>, shift=0) at /builds/espressif/esp-idf/components/efuse/src/esp_efuse_utility.c:293
|
||||
4 process 1073452972 0x40083e84 in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144
|
||||
5 process 1073448172 0x40083e84 in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144
|
||||
6 process 1073412200 0x40083e23 in esp_crosscore_int_send (core_id=<optimized out>, reason_mask=<optimized out>) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:127
|
||||
7 process 1073435564 0x4000bff0 in ?? ()
|
||||
8 process 1073431116 0x40083e84 in esp_crosscore_int_send_yield (core_id=1) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144
|
||||
|
||||
==================== THREAD 1 (TCB: 0x3ffb8e4c, name: 'unaligned_ptr_t') =====================
|
||||
#0 0x400d56b1 in UnityPrintNumberUnsigned (number=2) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:204
|
||||
#1 0x400d568c in UnityPrintNumberUnsigned (number=1) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:198
|
||||
#2 0x400d568c in UnityPrintNumberUnsigned (number=10) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:198
|
||||
#3 0x400d56d4 in UnityPrintNumber (number_to_print=0) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:178
|
||||
#4 0x400875bc in vPortTaskWrapper (pxCode=0x400d56bc <UnityPrintNumberUnsigned+60>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
==================== THREAD 2 (TCB: 0x3ffb70cc, name: 'IDLE') =====================
|
||||
#0 0x400e781a in get_mask (bit_count=<optimized out>, shift=1) at /builds/espressif/esp-idf/components/efuse/src/esp_efuse_utility.c:293
|
||||
#1 0x400d1a3a in esp_register_freertos_idle_hook_for_cpu (new_idle_cb=0x8, cpuid=0) at /builds/espressif/esp-idf/components/esp_system/freertos_hooks.c:67
|
||||
#2 0x40085dbd in prvIdleTask (pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/tasks.c:3823
|
||||
#3 0x400875bc in vPortTaskWrapper (pxCode=0x40085db4 <prvIdleTask>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
==================== THREAD 3 (TCB: 0x3ffb782c, name: 'IDLE') =====================
|
||||
#0 0x400e781a in get_mask (bit_count=<optimized out>, shift=0) at /builds/espressif/esp-idf/components/efuse/src/esp_efuse_utility.c:293
|
||||
#1 0x400d1a3a in esp_register_freertos_idle_hook_for_cpu (new_idle_cb=0x8, cpuid=1) at /builds/espressif/esp-idf/components/esp_system/freertos_hooks.c:67
|
||||
#2 0x40085dbd in prvIdleTask (pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/tasks.c:3823
|
||||
#3 0x400875bc in vPortTaskWrapper (pxCode=0x40085db4 <prvIdleTask>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
==================== THREAD 4 (TCB: 0x3ffb97ac, name: 'failed_assert_t') =====================
|
||||
#0 0x40083e84 in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144
|
||||
#1 0x4008600a in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32/include/hal/cpu_ll.h:39
|
||||
#2 0x400d5597 in bad_ptr_func () at ../main/test_core_dump.c:29
|
||||
#3 0x400875bc in vPortTaskWrapper (pxCode=0x400d5588 <test_core_dump+72>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
==================== THREAD 5 (TCB: 0x3ffb84ec, name: 'bad_ptr_task') =====================
|
||||
#0 0x40083e84 in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144
|
||||
#1 0x4008600a in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32/include/hal/cpu_ll.h:39
|
||||
#2 0x400d564f in unaligned_ptr_task (pvParameter=0x0) at ../main/test_core_dump.c:76
|
||||
#3 0x400875bc in vPortTaskWrapper (pxCode=0x400d5640 <recur_func+88>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
==================== THREAD 6 (TCB: 0x3ffaf868, name: 'ipc0') =====================
|
||||
#0 0x40083e23 in esp_crosscore_int_send (core_id=<optimized out>, reason_mask=<optimized out>) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:127
|
||||
#1 0x40083e84 in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144
|
||||
#2 0x400858f5 in xQueueSemaphoreTake (xQueue=0x3ffaf40c, xTicksToWait=<optimized out>) at ../../../hal/esp32/include/hal/cpu_ll.h:39
|
||||
#3 0x40082b2b in ipc_task (arg=0x0) at /builds/espressif/esp-idf/components/esp_ipc/ipc.c:51
|
||||
#4 0x400875bc in vPortTaskWrapper (pxCode=0x40082b0c <ipc_task>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
==================== THREAD 7 (TCB: 0x3ffb53ac, name: 'esp_timer') =====================
|
||||
#0 0x4000bff0 in ?? ()
|
||||
#1 0x400877c2 in vPortExitCritical (mux=<optimized out>) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:473
|
||||
#2 0x4008702e in ulTaskNotifyTake (xClearCountOnExit=1, xTicksToWait=4294967295) at /builds/espressif/esp-idf/components/freertos/tasks.c:5187
|
||||
#3 0x400d5148 in esp_timer_impl_init_system_time () at /builds/espressif/esp-idf/components/esp_timer/src/system_time.c:43
|
||||
#4 0x400875bc in vPortTaskWrapper (pxCode=0x400d513c <esp_timer_init+96>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
==================== THREAD 8 (TCB: 0x3ffb424c, name: 'ipc1') =====================
|
||||
#0 0x40083e84 in esp_crosscore_int_send_yield (core_id=1) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144
|
||||
#1 0x400858f5 in xQueueSemaphoreTake (xQueue=0x3ffafa74, xTicksToWait=<optimized out>) at ../../../hal/esp32/include/hal/cpu_ll.h:39
|
||||
#2 0x40082b2b in ipc_task (arg=0x1) at /builds/espressif/esp-idf/components/esp_ipc/ipc.c:51
|
||||
#3 0x400875bc in vPortTaskWrapper (pxCode=0x40082b0c <ipc_task>, pvParameters=0x1) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
|
||||
======================= ALL MEMORY REGIONS ========================
|
||||
Name Address Size Attrs
|
||||
.rtc.text 0x400c0000 0x0 RW
|
||||
.rtc.dummy 0x3ff80000 0x0 RW
|
||||
.rtc.force_fast 0x3ff80000 0x0 RW
|
||||
.rtc.data 0x50000000 0x10 RW A
|
||||
.rtc_noinit 0x50000010 0x0 RW
|
||||
.rtc.force_slow 0x50000010 0x0 RW
|
||||
.iram0.vectors 0x40080000 0x403 R XA
|
||||
.iram0.text 0x40080404 0xa457 R XA
|
||||
.dram0.data 0x3ffb0000 0x2f18 RW A
|
||||
.noinit 0x3ffb2f18 0x0 RW
|
||||
.ext_ram.bss 0x3f800000 0x0 RW
|
||||
.flash.appdesc 0x3f400020 0x100 R A
|
||||
.flash.rodata 0x3f400120 0x35dc RW A
|
||||
.flash.rodata_noload 0x3f4036fc 0x0 RW
|
||||
.flash.text 0x400d0020 0x181a7 R XA
|
||||
.iram0.data 0x4008a85c 0x0 RW
|
||||
.iram0.bss 0x4008a85c 0x0 RW
|
||||
.dram0.heap_start 0x3ffb3bf0 0x0 RW
|
||||
.coredump.tasks.data 0x3ffb8e4c 0x158 RW
|
||||
.coredump.tasks.data 0x3ffb8c50 0x1f4 RW
|
||||
.coredump.tasks.data 0x3ffb70cc 0x158 RW
|
||||
.coredump.tasks.data 0x3ffb6f20 0x1a4 RW
|
||||
.coredump.tasks.data 0x3ffb782c 0x158 RW
|
||||
.coredump.tasks.data 0x3ffb7680 0x1a4 RW
|
||||
.coredump.tasks.data 0x3ffb97ac 0x158 RW
|
||||
.coredump.tasks.data 0x3ffb9600 0x1a4 RW
|
||||
.coredump.tasks.data 0x3ffb84ec 0x158 RW
|
||||
.coredump.tasks.data 0x3ffb8340 0x1a4 RW
|
||||
.coredump.tasks.data 0x3ffaf868 0x158 RW
|
||||
.coredump.tasks.data 0x3ffaf680 0x1e0 RW
|
||||
.coredump.tasks.data 0x3ffb53ac 0x158 RW
|
||||
.coredump.tasks.data 0x3ffb51f0 0x1b4 RW
|
||||
.coredump.tasks.data 0x3ffb424c 0x158 RW
|
||||
.coredump.tasks.data 0x3ffafd00 0x1c8 RW
|
||||
|
||||
====================== CORE DUMP MEMORY CONTENTS ========================
|
||||
.coredump.tasks.data 0x3ffb8e4c 0x158 RW
|
||||
0x3ffb8e4c: 0x3ffb8ca0 0x3ffb8de0 0x00000065 0x3ffb3334
|
||||
0x3ffb8e5c: 0x3ffb3334 0x3ffb8e4c 0x3ffb332c 0x00000012
|
||||
0x3ffb8e6c: 0x2c000b52 0xf1622a7e 0x3ffb8e4c 0x00000000
|
||||
0x3ffb8e7c: 0x00000007 0x3ffb8648 0x6c616e75 0x656e6769
|
||||
0x3ffb8e8c: 0x74705f64 0x00745f72 0x00000001 0x3ffb8e44
|
||||
0x3ffb8e9c: 0x00000007 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8eac: 0x00000000 0x3ffaef04 0x3ffaef6c 0x3ffaefd4
|
||||
0x3ffb8ebc: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb8ecc: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb8edc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8eec: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8efc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8f0c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8f1c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8f2c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8f3c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8f4c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8f5c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8f6c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8f7c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8f8c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8f9c: 0x00000000 0x3ffb0000
|
||||
.coredump.tasks.data 0x3ffb8c50 0x1f4 RW
|
||||
0x3ffb8c50: 0xdeadbeef 0x400d56b1 0x00060030 0x800d568c
|
||||
0x3ffb8c60: 0x3ffb8d10 0x00000002 0x3ffb8d5c 0x3ffb8d50
|
||||
0x3ffb8c70: 0x3ffaef6c 0x00000000 0x00000000 0x00000005
|
||||
0x3ffb8c80: 0xffffffad 0x00000020 0x3ffb8eac 0x00000001
|
||||
0x3ffb8c90: 0x00000080 0x00000001 0x00000000 0x0000001a
|
||||
0x3ffb8ca0: 0x0000001d 0x00000005 0x400014fd 0x4000150d
|
||||
0x3ffb8cb0: 0xffffffff 0x00000001 0x00000080 0x4008209c
|
||||
0x3ffb8cc0: 0x3ffb5844 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8cd0: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8ce0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8cf0: 0x00000001 0x00000080 0x00000001 0x00000000
|
||||
0x3ffb8d00: 0x800d568c 0x3ffb8d40 0x00000001 0x3ffaef6c
|
||||
0x3ffb8d10: 0x00000003 0x00000000 0x00000001 0x00000001
|
||||
0x3ffb8d20: 0x3ffb8d50 0x3ffaef6c 0x00000000 0x00000000
|
||||
0x3ffb8d30: 0x800d56d4 0x3ffb8d70 0x0000000a 0x3ffb1688
|
||||
0x3ffb8d40: 0x00000003 0x0000001e 0x3f403202 0x00000001
|
||||
0x3ffb8d50: 0x3ffb3494 0x00060023 0x00000001 0x00000000
|
||||
0x3ffb8d60: 0x800875bc 0x3ffb8da0 0x00000000 0x00000000
|
||||
0x3ffb8d70: 0x00000003 0x3ffb8da0 0x00000000 0x00000000
|
||||
0x3ffb8d80: 0x00060021 0x00060023 0x00000001 0x00000000
|
||||
0x3ffb8d90: 0x00000000 0x3ffb8dc0 0x400d56bc 0x00000000
|
||||
0x3ffb8da0: 0x00060023 0x3ffb3334 0x3ffb8e4c 0x00000000
|
||||
0x3ffb8db0: 0x00000000 0x3ffb8de0 0x00000000 0x00000000
|
||||
0x3ffb8dc0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8dd0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8de0: 0x00000000 0x00000000 0x3ffb8dec 0x00000000
|
||||
0x3ffb8df0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8e00: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8e10: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8e20: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8e30: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8e40: 0x00000000
|
||||
.coredump.tasks.data 0x3ffb70cc 0x158 RW
|
||||
0x3ffb70cc: 0x3ffb6f20 0x3ffb7060 0x70b6e436 0x3ffb7834
|
||||
0x3ffb70dc: 0x3ffb32a8 0x3ffb70cc 0x3ffb32a0 0x00000019
|
||||
0x3ffb70ec: 0x12e0a231 0x4e01e717 0x3ffb70cc 0x00000000
|
||||
0x3ffb70fc: 0x00000000 0x3ffb6ac8 0x454c4449 0xbe43e000
|
||||
0x3ffb710c: 0xc1fed371 0x00d4ba0e 0x00000000 0x3ffb70c4
|
||||
0x3ffb711c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb712c: 0x00000000 0x3ffaef04 0x3ffaef6c 0x3ffaefd4
|
||||
0x3ffb713c: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb714c: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb715c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb716c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb717c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb718c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb719c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb71ac: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb71bc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb71cc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb71dc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb71ec: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb71fc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb720c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb721c: 0x00000000 0x3ffb0000
|
||||
.coredump.tasks.data 0x3ffb6f20 0x1a4 RW
|
||||
0x3ffb6f20: 0x40082100 0x400e781a 0x00060b30 0x800d1a3a
|
||||
0x3ffb6f30: 0x3ffb6fe0 0x00000000 0x00000001 0x00000001
|
||||
0x3ffb6f40: 0x80000001 0x00800000 0x3ff4001c 0x800d9a5a
|
||||
0x3ffb6f50: 0x3ffb6fb0 0x00000000 0x40001d48 0x00060720
|
||||
0x3ffb6f60: 0x00060723 0x00000001 0x3ff4001c 0x00000015
|
||||
0x3ffb6f70: 0x0000ffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6f80: 0x00000000 0x40082304 0x00060723 0x40084d60
|
||||
0x3ffb6f90: 0x3ffb3ac4 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6fa0: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6fb0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6fc0: 0x00000000 0x40085db4 0x00000000 0x00000000
|
||||
0x3ffb6fd0: 0x80085dbd 0x3ffb7000 0x00000008 0x00000000
|
||||
0x3ffb6fe0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6ff0: 0x800875bc 0x3ffb7020 0x00000000 0x00000000
|
||||
0x3ffb7000: 0x00000001 0x00060023 0x00000001 0x00060423
|
||||
0x3ffb7010: 0x00000000 0x3ffb7040 0x40085db4 0x00000000
|
||||
0x3ffb7020: 0x00060023 0x3ffb32a8 0x3ffb782c 0x00000000
|
||||
0x3ffb7030: 0x00000000 0x3ffb7060 0x00000000 0x00000000
|
||||
0x3ffb7040: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7050: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7060: 0x00000000 0x00000000 0x3ffb706c 0x00000000
|
||||
0x3ffb7070: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7080: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7090: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb70a0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb70b0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb70c0: 0x00000000
|
||||
.coredump.tasks.data 0x3ffb782c 0x158 RW
|
||||
0x3ffb782c: 0x3ffb7680 0x3ffb77c0 0x27922dd5 0x3ffb32a8
|
||||
0x3ffb783c: 0x3ffb70d4 0x3ffb782c 0x3ffb32a0 0x00000019
|
||||
0x3ffb784c: 0x09750ed0 0x9c732e59 0x3ffb782c 0x00000000
|
||||
0x3ffb785c: 0x00000000 0x3ffb7228 0x454c4449 0x0bf55e00
|
||||
0x3ffb786c: 0xe7eef877 0x006b2a87 0x00000001 0x3ffb7824
|
||||
0x3ffb787c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb788c: 0x00000000 0x3ffaef04 0x3ffaef6c 0x3ffaefd4
|
||||
0x3ffb789c: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb78ac: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb78bc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb78cc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb78dc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb78ec: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb78fc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb790c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb791c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb792c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb793c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb794c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb795c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb796c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb797c: 0x00000000 0x3ffb0000
|
||||
.coredump.tasks.data 0x3ffb7680 0x1a4 RW
|
||||
0x3ffb7680: 0x40082100 0x400e781a 0x00060a30 0x800d1a3a
|
||||
0x3ffb7690: 0x3ffb7740 0x00000000 0x00000000 0x00000001
|
||||
0x3ffb76a0: 0x80000001 0x00000003 0x00060023 0x800d9a5a
|
||||
0x3ffb76b0: 0x3ffb7710 0x00000000 0x00060a23 0x00060a20
|
||||
0x3ffb76c0: 0x00060a23 0x00000001 0x00000000 0x00000018
|
||||
0x3ffb76d0: 0x0000ffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb76e0: 0x00000000 0x40082304 0x00060a23 0x40084d60
|
||||
0x3ffb76f0: 0x3ffb4224 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7700: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7710: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7720: 0x00000000 0x40085db4 0x00000000 0x00000000
|
||||
0x3ffb7730: 0x80085dbd 0x3ffb7760 0x00000008 0x00000001
|
||||
0x3ffb7740: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7750: 0x800875bc 0x3ffb7780 0x00000000 0x00000000
|
||||
0x3ffb7760: 0x00000001 0x00060023 0x00000001 0x00000000
|
||||
0x3ffb7770: 0x00000000 0x3ffb77a0 0x40085db4 0x00000000
|
||||
0x3ffb7780: 0x00060023 0x3ffb32a8 0x3ffb70cc 0x00000000
|
||||
0x3ffb7790: 0x00000000 0x3ffb77c0 0x00000000 0x00000000
|
||||
0x3ffb77a0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb77b0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb77c0: 0x00000000 0x00000000 0x3ffb77cc 0x00000000
|
||||
0x3ffb77d0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb77e0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb77f0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7800: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7810: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7820: 0x00000000
|
||||
.coredump.tasks.data 0x3ffb97ac 0x158 RW
|
||||
0x3ffb97ac: 0x3ffb9600 0x3ffb9740 0x000000c9 0x3ffb84f4
|
||||
0x3ffb97bc: 0x3ffb3294 0x3ffb97ac 0x3ffb328c 0x0000000f
|
||||
0x3ffb97cc: 0x3ffb8508 0x3ffaf12c 0x3ffb97ac 0x00000000
|
||||
0x3ffb97dc: 0x0000000a 0x3ffb8fa8 0x6c696166 0x615f6465
|
||||
0x3ffb97ec: 0x72657373 0x00745f74 0x00000000 0x3ffb97a4
|
||||
0x3ffb97fc: 0x0000000a 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb980c: 0x00000000 0x3ffaef04 0x3ffaef6c 0x3ffaefd4
|
||||
0x3ffb981c: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb982c: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb983c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb984c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb985c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb986c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb987c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb988c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb989c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb98ac: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb98bc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb98cc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb98dc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb98ec: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb98fc: 0x00000000 0x3ffb0000
|
||||
.coredump.tasks.data 0x3ffb9600 0x1a4 RW
|
||||
0x3ffb9600: 0x40082100 0x40083e84 0x00060930 0x8008600a
|
||||
0x3ffb9610: 0x3ffb96c0 0x00000000 0x000000c9 0x3ffb3494
|
||||
0x3ffb9620: 0x3ffb6840 0x00000800 0x00000000 0x80083e84
|
||||
0x3ffb9630: 0x3ffb96a0 0x3ff000dc 0x00000001 0x3ffb17d8
|
||||
0x3ffb9640: 0x00060923 0x00000001 0x00000000 0x00000000
|
||||
0x3ffb9650: 0x0000ffff 0x00000000 0x400014fd 0x4000150d
|
||||
0x3ffb9660: 0xfffffff8 0x40082304 0x00060923 0x40084d60
|
||||
0x3ffb9670: 0x3ffb61a4 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb9680: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb9690: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb96a0: 0x3f40160c 0x0000001e 0x3f403202 0x00000001
|
||||
0x3ffb96b0: 0x800d5597 0x3ffb96e0 0x00000064 0x3ffb1688
|
||||
0x3ffb96c0: 0x3ffb3494 0x3ffb6840 0x00000800 0x00000000
|
||||
0x3ffb96d0: 0x800875bc 0x3ffb9700 0x00000000 0x00000000
|
||||
0x3ffb96e0: 0x00060021 0x00060023 0x00000001 0x00000000
|
||||
0x3ffb96f0: 0x00000000 0x3ffb9720 0x400d5588 0x00000000
|
||||
0x3ffb9700: 0x00060023 0x3ffb3370 0x3ffb97ac 0x00000000
|
||||
0x3ffb9710: 0x00000000 0x3ffb9740 0x00000000 0x00000000
|
||||
0x3ffb9720: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb9730: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb9740: 0x00000000 0x00000000 0x3ffb974c 0x00000000
|
||||
0x3ffb9750: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb9760: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb9770: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb9780: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb9790: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb97a0: 0x00000000
|
||||
.coredump.tasks.data 0x3ffb84ec 0x158 RW
|
||||
0x3ffb84ec: 0x3ffb8340 0x3ffb8480 0x000000c9 0x3ffb3294
|
||||
0x3ffb84fc: 0x3ffb97b4 0x3ffb84ec 0x3ffb328c 0x00000014
|
||||
0x3ffb850c: 0x3ffaf12c 0x3ffaf12c 0x3ffb84ec 0x00000000
|
||||
0x3ffb851c: 0x00000005 0x3ffb7ce8 0x5f646162 0x5f727470
|
||||
0x3ffb852c: 0x6b736174 0x00e1b000 0x7fffffff 0x3ffb84e4
|
||||
0x3ffb853c: 0x00000005 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb854c: 0x00000000 0x3ffaef04 0x3ffaef6c 0x3ffaefd4
|
||||
0x3ffb855c: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb856c: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb857c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb858c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb859c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb85ac: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb85bc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb85cc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb85dc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb85ec: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb85fc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb860c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb861c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb862c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb863c: 0x00000000 0x3ffb0000
|
||||
.coredump.tasks.data 0x3ffb8340 0x1a4 RW
|
||||
0x3ffb8340: 0x40082100 0x40083e84 0x00060b30 0x8008600a
|
||||
0x3ffb8350: 0x3ffb8400 0x00000000 0x000000c9 0x3ffb3494
|
||||
0x3ffb8360: 0x3ffb3488 0x3ffb424c 0x00000000 0x80083e84
|
||||
0x3ffb8370: 0x3ffb83e0 0x3ff000dc 0x00000001 0x3ffb17d8
|
||||
0x3ffb8380: 0x00060b23 0x00000001 0x00000000 0x00000000
|
||||
0x3ffb8390: 0x0000ffff 0x00000000 0x400014fd 0x4000150d
|
||||
0x3ffb83a0: 0xfffffff9 0x40082304 0x00060b23 0x40084d60
|
||||
0x3ffb83b0: 0x3ffb4ee4 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb83c0: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb83d0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb83e0: 0x3f4016a8 0x00000018 0x3f403202 0x00000001
|
||||
0x3ffb83f0: 0x800d564f 0x3ffb8420 0x00000064 0x3ffb1688
|
||||
0x3ffb8400: 0x3ffb3494 0x3ffb3488 0x3ffb424c 0x00000000
|
||||
0x3ffb8410: 0x800875bc 0x3ffb8440 0x00000000 0x00000000
|
||||
0x3ffb8420: 0x00060021 0x00060023 0x00000001 0x00060a23
|
||||
0x3ffb8430: 0x00000000 0x3ffb8460 0x400d5640 0x00000000
|
||||
0x3ffb8440: 0x00060023 0x3ffb330c 0x3ffb84ec 0x00000000
|
||||
0x3ffb8450: 0x00000000 0x3ffb8480 0x00000000 0x00000000
|
||||
0x3ffb8460: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8470: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8480: 0x00000000 0x00000000 0x3ffb848c 0x00000000
|
||||
0x3ffb8490: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb84a0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb84b0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb84c0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb84d0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb84e0: 0x00000000
|
||||
.coredump.tasks.data 0x3ffaf868 0x158 RW
|
||||
0x3ffaf868: 0x3ffaf680 0x3ffaf800 0x0801aae2 0x3ffb53b4
|
||||
0x3ffaf878: 0x3ffb3224 0x3ffaf868 0x3ffb321c 0x00000001
|
||||
0x3ffaf888: 0x3ffaf438 0x3ffaf438 0x3ffaf868 0x3ffaf430
|
||||
0x3ffaf898: 0x00000018 0x3ffaf464 0x30637069 0x316c2b00
|
||||
0x3ffaf8a8: 0xe19badb7 0x005a8f41 0x00000000 0x3ffaf860
|
||||
0x3ffaf8b8: 0x00000018 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf8c8: 0x00000000 0x3ffaef04 0x3ffaef6c 0x3ffaefd4
|
||||
0x3ffaf8d8: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffaf8e8: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffaf8f8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf908: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf918: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf928: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf938: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf948: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf958: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf968: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf978: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf988: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf998: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf9a8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf9b8: 0x00000000 0x3ffa0000
|
||||
.coredump.tasks.data 0x3ffaf680 0x1e0 RW
|
||||
0x3ffaf680: 0x40082100 0x40083e23 0x00060c30 0x80083e84
|
||||
0x3ffaf690: 0x3ffaf740 0x3ff000dc 0x00000001 0x3ffb17d8
|
||||
0x3ffaf6a0: 0x00060023 0x00000001 0x00000004 0x80083e0a
|
||||
0x3ffaf6b0: 0x3ffaf720 0x3ffb31b8 0x00000000 0x00060a23
|
||||
0x3ffaf6c0: 0x00060a23 0x00000001 0x3f4002d0 0x00000000
|
||||
0x3ffaf6d0: 0x0000ffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf6e0: 0x00000000 0x40082304 0x00060a23 0x40084d60
|
||||
0x3ffaf6f0: 0x3ffac264 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf700: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf710: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf720: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
|
||||
0x3ffaf730: 0x800858f5 0x3ffaf760 0x00000000 0xffffffff
|
||||
0x3ffaf740: 0x40082100 0x400875b4 0x00050030 0x00000000
|
||||
0x3ffaf750: 0x80082b2b 0x3ffaf780 0x3ffaf40c 0x3ffaf458
|
||||
0x3ffaf760: 0x3ffaf458 0x3ffe3b10 0x00000003 0x00060f23
|
||||
0x3ffaf770: 0x800875bc 0x3ffaf7c0 0x00000000 0x00000000
|
||||
0x3ffaf780: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf790: 0xffffffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf7a0: 0x00000001 0x00000001 0x00000000 0x00060f23
|
||||
0x3ffaf7b0: 0x00000000 0x3ffaf7e0 0x40082b0c 0x00000000
|
||||
0x3ffaf7c0: 0x00060f23 0x3ffb3488 0x3ffaf868 0x00000001
|
||||
0x3ffaf7d0: 0x00000000 0x3ffaf800 0x00000000 0x00000000
|
||||
0x3ffaf7e0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf7f0: 0x800e7fdf 0x3ffe3bc0 0x3ffb3214 0x00000000
|
||||
0x3ffaf800: 0x00000000 0x00000000 0x3ffaf80c 0x00000000
|
||||
0x3ffaf810: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf820: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf830: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf840: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf850: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
.coredump.tasks.data 0x3ffb53ac 0x158 RW
|
||||
0x3ffb53ac: 0x3ffb51f0 0x3ffb5340 0x08ab1df6 0x3ffb4254
|
||||
0x3ffb53bc: 0x3ffaf870 0x3ffb53ac 0x3ffb321c 0x00000003
|
||||
0x3ffb53cc: 0xc560aeaf 0xbcc52b81 0x3ffb53ac 0x00000000
|
||||
0x3ffb53dc: 0x00000016 0x3ffb43a8 0x5f707365 0x656d6974
|
||||
0x3ffb53ec: 0x4f780072 0x00718fe6 0x00000000 0x3ffb53a4
|
||||
0x3ffb53fc: 0x00000016 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb540c: 0x00000000 0x3ffaef04 0x3ffaef6c 0x3ffaefd4
|
||||
0x3ffb541c: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb542c: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb543c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb544c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb545c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb546c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb547c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb548c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb549c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb54ac: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb54bc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb54cc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb54dc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb54ec: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb54fc: 0x00000000 0x3ffb0001
|
||||
.coredump.tasks.data 0x3ffb51f0 0x1b4 RW
|
||||
0x3ffb51f0: 0x40082100 0x4000bff0 0x00060030 0x800877c2
|
||||
0x3ffb5200: 0x3ffb52b0 0x00000000 0x00060023 0x00060020
|
||||
0x3ffb5210: 0x00060023 0x00000001 0x00000000 0x80083e0a
|
||||
0x3ffb5220: 0x3ffb5280 0x3ffb31c0 0x00000001 0x3ffaf7c0
|
||||
0x3ffb5230: 0x3ffaf780 0x3ffaf40c 0x3ffaf458 0x00000000
|
||||
0x3ffb5240: 0x0000ffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5250: 0x00000000 0x40082304 0x3ffaf780 0x40084d60
|
||||
0x3ffb5260: 0x3ffb1da4 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5270: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5280: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5290: 0x3ffb5340 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb52a0: 0x8008702e 0x3ffb52c0 0x3ffb31b8 0x00000000
|
||||
0x3ffb52b0: 0x800d5148 0x3ffb52e0 0x3ffb1688 0xffffffff
|
||||
0x3ffb52c0: 0x00000000 0x3ffaf7e0 0x40082b0c 0x00000000
|
||||
0x3ffb52d0: 0x800875bc 0x3ffb5300 0x00000000 0x00000000
|
||||
0x3ffb52e0: 0x00000001 0x00060023 0x00000001 0x3ffe3b90
|
||||
0x3ffb52f0: 0x00000000 0x3ffb5320 0x400d513c 0x00000000
|
||||
0x3ffb5300: 0x00060023 0x3ffb3460 0x3ffb53ac 0x00000000
|
||||
0x3ffb5310: 0x00000000 0x3ffb5340 0x00000000 0x00000000
|
||||
0x3ffb5320: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5330: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5340: 0x00000000 0x00000000 0x3ffb534c 0x00000000
|
||||
0x3ffb5350: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5360: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5370: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5380: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5390: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb53a0: 0x00000000
|
||||
.coredump.tasks.data 0x3ffb424c 0x158 RW
|
||||
0x3ffb424c: 0x3ffafd00 0x3ffafe60 0x13a31b2f 0x3ffb3224
|
||||
0x3ffb425c: 0x3ffb53b4 0x3ffb424c 0x3ffb321c 0x00000001
|
||||
0x3ffb426c: 0x3ffafaa0 0x3ffafaa0 0x3ffb424c 0x3ffafa98
|
||||
0x3ffb427c: 0x00000018 0x3ffafacc 0x31637069 0xa4ab7a00
|
||||
0x3ffb428c: 0x73ac67fc 0x00ec157e 0x00000001 0x3ffafec8
|
||||
0x3ffb429c: 0x00000018 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb42ac: 0x00000000 0x3ffaef04 0x3ffaef6c 0x3ffaefd4
|
||||
0x3ffb42bc: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb42cc: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb42dc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb42ec: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb42fc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb430c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb431c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb432c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb433c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb434c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb435c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb436c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb437c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb438c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb439c: 0x00000000 0x3ffb0000
|
||||
.coredump.tasks.data 0x3ffafd00 0x1c8 RW
|
||||
0x3ffafd00: 0x40082100 0x40083e84 0x00060a30 0x800858f5
|
||||
0x3ffafd10: 0x3ffafdc0 0x00000001 0xffffffff 0x3ffafac0
|
||||
0x3ffafd20: 0x3ffb6974 0x00000001 0x3ff4001c 0x80083e84
|
||||
0x3ffafd30: 0x3ffafda0 0x3ff000e0 0x00000001 0x3ffb17d8
|
||||
0x3ffafd40: 0x00060a23 0x00000001 0x00000001 0x00000000
|
||||
0x3ffafd50: 0x0000ffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafd60: 0x00000000 0x40082304 0x00060a23 0x40084d60
|
||||
0x3ffafd70: 0x3ffac8c4 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafd80: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafd90: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafda0: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafdb0: 0x80082b2b 0x3ffafde0 0x3ffafa74 0x3ffafac0
|
||||
0x3ffafdc0: 0x13000044 0x00060a23 0x00000001 0x00000001
|
||||
0x3ffafdd0: 0x800875bc 0x3ffafe20 0x00000001 0x00000000
|
||||
0x3ffafde0: 0x00000000 0x00000001 0x00000001 0x3ff4001c
|
||||
0x3ffafdf0: 0xffffffff 0x3ffafe20 0x00000001 0x40082bfc
|
||||
0x3ffafe00: 0x00000001 0x00000001 0x00000000 0x00000001
|
||||
0x3ffafe10: 0x00000000 0x3ffafe40 0x40082b0c 0x00000001
|
||||
0x3ffafe20: 0x00000001 0x3ffb3488 0x3ffb424c 0x00000000
|
||||
0x3ffafe30: 0x00000000 0x3ffafe60 0x00000000 0x00000000
|
||||
0x3ffafe40: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafe50: 0x80080f6f 0x3ffe7d60 0x00003e80 0x00fa04bd
|
||||
0x3ffafe60: 0x00000000 0x00000000 0x3ffafe6c 0x00000000
|
||||
0x3ffafe70: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafe80: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafe90: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafea0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafeb0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafec0: 0x00000000 0x00000000
|
||||
|
||||
===================== ESP32 CORE DUMP END =====================
|
||||
===============================================================
|
||||
Done!
|
282
components/espcoredump/test/esp32c3/coredump.b64
Normal file
282
components/espcoredump/test/esp32c3/coredump.b64
Normal file
@ -0,0 +1,282 @@
|
||||
NBQAAAABBQAAAAAAAAAAAAAAAAA=
|
||||
f0VMRgEBAQAAAAAAAAAAAAQA8wABAAAAAAAAADQAAAAAAAAAAAAAADQAIAAMACgA
|
||||
AAAAAA==
|
||||
BAAAALQBAAAAAAAAAAAAAGAEAABgBAAABgAAAAAAAAA=
|
||||
AQAAABQGAACgEMk/oBDJP1QBAABUAQAABgAAAAAAAAA=
|
||||
AQAAAGgHAADgDsk/4A7JP7ABAACwAQAABgAAAAAAAAA=
|
||||
AQAAABgJAADsBsk/7AbJP1QBAABUAQAABgAAAAAAAAA=
|
||||
AQAAAGwKAACQBck/kAXJP1ABAABQAQAABgAAAAAAAAA=
|
||||
AQAAALwLAABA+cg/QPnIP1QBAABUAQAABgAAAAAAAAA=
|
||||
AQAAABANAADw98g/8PfIP0ABAABAAQAABgAAAAAAAAA=
|
||||
AQAAAFAOAAD8Gck//BnJP1QBAABUAQAABgAAAAAAAAA=
|
||||
AQAAAKQPAACgGMk/oBjJP1ABAABQAQAABgAAAAAAAAA=
|
||||
AQAAAPQQAABI4Mg/SODIP1QBAABUAQAABgAAAAAAAAA=
|
||||
AQAAAEgSAADw3sg/8N7IP1ABAABQAQAABgAAAAAAAAA=
|
||||
BAAAAJgTAAAAAAAAAAAAAIQAAACEAAAABgAAAAAAAAA=
|
||||
CAAAAMwAAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoBDJPwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAymoAQsRqAEKAD8k/AJzIP4jPyD8AAAAA
|
||||
3AvJPwAAAAAAAAAAAAAAACAAAAC4C8k/AAAAAAcAAACt////BQAAAHwtAEIAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAMwAAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7AbJPwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCo4QJZZOEDcBck/dhU4QNjFyD8AAAAA
|
||||
AAAAAAAAAABkAAAAAAAAAAEAAAABAAAAZAAAAAQAAAABAAAAAAAMYHwtAEIAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAMwAAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQPnIPwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqD8AQliyAEKlpaWlpaWlpSi4yD8AAAAA
|
||||
AAAAAAAAAAAIAAAAAQAAAAEAAABP+Mg/AAAAAED5yD94v8g/AAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAMwAAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/BnJPwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCo4QJZZOEDsGMk/dhU4QOjYyD8AAAAA
|
||||
AAAAAAAAAABkAAAAAAAAAAEAAAABAAAAyAAAAAQAAAABAAAAAAAMYHwtAEIAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAMwAAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASODIPwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANFg4QF5YOEClpaWlpaWlpTifyD8AAAAA
|
||||
AAAAAAAAAAD/////AQAAAAEAAAABAAAAAAAAAAQAAAAAwMg/ACAMYAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
QA/JP2QAAABEusg/RLrIP6AQyT88usg/EgAAAGIQEzEa0cbIoBDJPwAAAAAHAAAA
|
||||
nAjJP3VuYWxpZ25lZF9wdHJfdAAAAAAAkBDJPwcAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
DMvIP3TLyD/cy8g/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAjM8AQgAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AADJPw==
|
||||
ymoAQsRqAEKAD8k/AJzIP4jPyD8AAAAA3AvJPwAAAAAAAAAAAAAAACAAAAC4C8k/
|
||||
AAAAAAcAAACt////BQAAAHwtAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBGAAAAQA4QAcAAAAFAAAA
|
||||
AAAAAAIAAAB8LQBCAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAA/BDJP3TLyD+oagBC
|
||||
AAAAAAAAAAAAAAAAAwAAAAAAAADAD8k/AgAAAKhqAEKcFgI8HgAAADgFAjwDAAAA
|
||||
AAAAAAAAAAAAAAAAAmsAQgAAAAAAAAAAAAAAAKpYOEAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAKWlpaWlpaWlpaWlpRRkFCcHAQEBAQAAAAAAAAD////////vfwAAAAAAAMA/
|
||||
AAAAAAAAMEAAAAAAAADgPwAAAAAAAPg/YUNvY6eH0j+zyGCLKIrGP/t5n1ATRNM/
|
||||
AAAAAAAA8D8AAAAAAAAkQAAAAAAAABxAAAAAAAAAFEAAAAAAAABQQwCUyD9AGwAA
|
||||
kAXJP2QAAAAcusg/HLrIP+wGyT8Uusg/FAAAANewOJfPktX/7AbJPwAAAAAFAAAA
|
||||
6P7IP2JhZF9wdHJfdGFzawD5OAAAAAAA4AbJPwUAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
DMvIP3TLyD/cy8g/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAjM8AQgAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AADJPw==
|
||||
OCo4QJZZOEDcBck/dhU4QNjFyD8AAAAAAAAAAAAAAABkAAAAAAAAAAEAAAABAAAA
|
||||
ZAAAAAQAAAABAAAAAAAMYHwtAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAACaRzhA
|
||||
AAAAAAAAAAAAAAAAYmoAQgAAAAAAAAAAAAAAAKpYOEAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAKWlpaWlpaWlpaWlpRRkFCcHAQEBAQAAAAAAAAD////////vfwAAAAAAAMA/
|
||||
AAAAAAAAMEAAAAAAAADgPwAAAAAAAPg/YUNvY6eH0j+zyGCLKIrGP/t5n1ATRNM/
|
||||
AAAAAAAA8D8AAAAAAAAkQAAAAAAAABxAAAAAAAAAFEAAAAAAAABQQwCUyD9AGwAA
|
||||
8PfIP/TCyD+4ucg/uLnIP0D5yD+wucg/GQAAAIwKyNKJhBWKQPnIPwAAAAAAAAAA
|
||||
PPPIP0lETEUADJCFIppzVXdfJQAAAAAAMPnIPwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
DMvIP3TLyD/cy8g/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAjM8AQgAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AADIPw==
|
||||
qD8AQliyAEKlpaWlpaWlpSi4yD8AAAAAAAAAAAAAAAAIAAAAAQAAAAEAAABP+Mg/
|
||||
AAAAAED5yD94v8g/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKRjhA
|
||||
AAAAAAAAAAAAAAAAqlg4QAAAAAAAAAAAAAAAAAAAAAAAAAAApaWlpaWlpaWlpaWl
|
||||
FGQUJwcBAQEBAAAAAAAAAP///////+9/AAAAAAAAwD8AAAAAAAAwQAAAAAAAAOA/
|
||||
AAAAAAAA+D9hQ29jp4fSP7PIYIsoisY/+3mfUBNE0z8AAAAAAADwPwAAAAAAACRA
|
||||
AAAAAAAAHEAAAAAAAAAUQAAAAAAAAFBDAJTIP0AbAAA=
|
||||
oBjJP8gAAACsu8g/rLvIP/wZyT+ku8g/DwAAAD3SLcsmQCJz/BnJPwAAAAAKAAAA
|
||||
+BHJP2ZhaWxlZF9hc3NlcnRfdAAAAAAA8BnJPwoAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
DMvIP3TLyD/cy8g/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAjM8AQgAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AADJPw==
|
||||
OCo4QJZZOEDsGMk/dhU4QOjYyD8AAAAAAAAAAAAAAABkAAAAAAAAAAEAAAABAAAA
|
||||
yAAAAAQAAAABAAAAAAAMYHwtAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAACaRzhA
|
||||
AAAAAAAAAAAAAAAAVGkAQgAAAAAAAAAAAAAAAKpYOEAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAKWlpaWlpaWlpaWlpRRkFCcHAQEBAQAAAAAAAAD////////vfwAAAAAAAMA/
|
||||
AAAAAAAAMEAAAAAAAADgPwAAAAAAAPg/YUNvY6eH0j+zyGCLKIrGP/t5n1ATRNM/
|
||||
AAAAAAAA8D8AAAAAAAAkQAAAAAAAABxAAAAAAAAAFEAAAAAAAABQQwCUyD9AGwAA
|
||||
8N7IP/TCyD/ou8g/6LvIP0jgyD/gu8g/AwAAAMC3id9g1HkuSODIPwAAAAAWAAAA
|
||||
RNDIP2VzcF90aW1lcgCr4jobxAAAAAAAQODIPxYAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
DMvIP3TLyD/cy8g/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAjM8AQgAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AQDIPw==
|
||||
NFg4QF5YOEClpaWlpaWlpTifyD8AAAAAAAAAAAAAAAD/////AQAAAAEAAAABAAAA
|
||||
AAAAAAQAAAAAwMg/ACAMYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP////+eUzhA
|
||||
AAAAAAAAAAAAAAAAomAAQgAAAAAAAAAAAAAAAKpYOEAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAKWlpaWlpaWlpaWlpRRkFCcHAQEBAQAAAAAAAAD////////vfwAAAAAAAMA/
|
||||
AAAAAAAAMEAAAAAAAADgPwAAAAAAAPg/YUNvY6eH0j+zyGCLKIrGP/t5n1ATRNM/
|
||||
AAAAAAAA8D8AAAAAAAAkQAAAAAAAABxAAAAAAAAAFEAAAAAAAABQQwCUyD9AGwAA
|
||||
FAAAAEgAAABKIAAA
|
||||
RVNQX0NPUkVfRFVNUF9JTkZPAAA=
|
||||
AAEFAGYxYzNjMWYwMDQ3NmVlZTIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
DAAAAAQAAAClAgAA
|
||||
RVhUUkFfSU5GTwAA
|
||||
oBDJPw==
|
||||
vaoAKQ==
|
||||
|
||||
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqCL8PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM3cCQCACBgAAAAAAAAAAAAAAAAAbAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKdfCIBAIvw/
|
||||
ZAAAAPjP+z8hAAYAUOv7PyMLBgBZAAAAM3cCgCAi/D8AAAAAZAAAAPTt+z8QDPw/
|
||||
AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBT8PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7lQJQCAFBgAAAAAAAAAAAAAAAAAeAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADadCICwE/w/
|
||||
AAAAAAEAAAABAAAAAQAAgCMABgAAAAAAHqIIgIAT/D8AAAAAgKQBQCAABgAAwABg
|
||||
AAAAAEsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuDX8PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM3cCQCAHBgAAAAAAAAAAAAAAAAAWAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO9eCIBQNfw/
|
||||
ZAAAAPjP+z8hAAYAkCv8PzDR+z9kAAAAM3cCgDA1/D8AAAAAyAAAAPTt+z8QDPw/
|
||||
AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaP35PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1KgBQCAOBgAAAAAAAAAAAAAAAAAKAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByJAoDQ/Pk/
|
||||
Iw4GAAAAAAAgDgYAcN7/P8De/z8EAAAAOVMCgKD8+T8w0fs/AAAAANDi/z+w4v8/
|
||||
AIBAPyACAD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
YCv8P2QAAACU7Ps/lOz7P1ws/D+M7Ps/EgAAALV8Zvp19PO8XCz8PwAAAAAHAAAA
|
||||
WCT8P3VuYWxpZ25lZF9wdHJfdAAAAAAAVCz8PwcAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
LOj5P5To+T/86Pk/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgKQBQAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD8Pw==
|
||||
776t3glgCEAwDQYA5F8IgIAr/D8CAAAAzCv8P8Ar/D8AAAAAlOj5PwAAAAAFAAAA
|
||||
rf///yAAAAC4LPw/t+v5P4AAAAABAAAAAAAAABkAAAAdAAAABQAAALfr+T+AAAAA
|
||||
PT4CQDT1+z8o6vk/AAAAALfr+T+AAAAAAQAAAAAAAADkXwiAsCv8PwEAAACU6Pk/
|
||||
AwAAADDR+z8BAAAAAQAAAMAr/D8AAAAAlOj5PwAAAAAsYAiA4Cv8PwoAAAD4z/s/
|
||||
AwAAAB4AAABcIwA/AQAAAPTt+z8QDPw/AAgAAAAAAADshwKAECz8PwAAAAAAAAAA
|
||||
AwAAABAs/D8AAAAAAAAAACEABgDgIfw/MNH7P2QAAAAAAAAAMCz8PxRgCEAAAAAA
|
||||
IwAGAFDr+z8jDAYAAQAAAAAAAABQLPw/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
sCH8P2QAAABs7Ps/bOz7P6gi/D9k7Ps/FAAAAOaYhZH9xHrvqCL8PwAAAAAFAAAA
|
||||
pBr8P2JhZF9wdHJfdGFzawCjEAAAAAAAoCL8PwUAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
LOj5P5To+T/86Pk/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgKQBQAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD8Pw==
|
||||
mD4CQDN3AkAwAgYAp18IgEAi/D9kAAAA+M/7PyEABgBQ6/s/IwsGAFkAAAAzdwKA
|
||||
ICL8PwAAAABkAAAA9O37PxAM/D8ACAAAAAAAABsAAAD//wAAAAAAAAA/AkAQDPw/
|
||||
cGYCQITr+z8AAAAAAAAAAEAM/D8QDPw/AAgAAAAAAADshwKAYCL8PwAAAAAAAAAA
|
||||
IQAGAFDr+z8jCwYAWQAAAAAAAACAIvw/mF8IQAAAAAAjAAYAUOv7PyMHBgAwC/w/
|
||||
AAAAAKAi/D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
IBP8PxT2+z8I7Ps/COz7P0AU/D8A7Ps/GQAAAI4HwjbIC/+pQBT8PwAAAAAAAAAA
|
||||
PA78P0lETEUA7gxhMfMFcqcHvwAAAAAAOBT8PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
LOj5P5To+T/86Pk/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgKQBQAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD8Pw==
|
||||
mD4CQO5UCUAwBQYANp0IgLAT/D8AAAAAAQAAAAEAAAABAACAIwAGAAAAAAAeogiA
|
||||
gBP8PwAAAACApAFAIAAGAADAAGAAAAAASwAAAB4AAAD//wAAAAAAAAA/AkAAwABg
|
||||
cGYCQBTd+z+lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaVFdgKA0BP8PwgAAAABAAAA
|
||||
MBT8PwAAAAAAAAAAAAAAAOyHAoDwE/w/AAAAAAAAAAAhAAYAEAz8PzDR+z8BAAAA
|
||||
AAAAABAU/D88dgJAAAAAACMABgAwDPw/WABMPwEAAAAAAAAAMBT8PwAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
|
||||
wDT8P8gAAAD06/s/9Ov7P7g1/D/s6/s/DwAAAHjELjhoP6d7uDX8PwAAAAAKAAAA
|
||||
tC38P2ZhaWxlZF9hc3NlcnRfdAAAAAAAsDX8PwoAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
LOj5P5To+T/86Pk/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgKQBQAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD8Pw==
|
||||
mD4CQDN3AkAwBwYA714IgFA1/D9kAAAA+M/7PyEABgCQK/w/MNH7P2QAAAAzdwKA
|
||||
MDX8PwAAAADIAAAA9O37PxAM/D8ACAAAAAAAABYAAAD//wAAAAAAAAA/AkAQDPw/
|
||||
cGYCQJT++z8AAAAAAAAAAPTt+z8QDPw/AAgAAAAAAADshwKAcDX8PwAAAAAAAAAA
|
||||
IQAGAJAr/D8w0fs/ZAAAAAAAAACQNfw/4F4IQAAAAAAjAAYAUOv7PyMBBgABAAAA
|
||||
AAAAALA1/D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
QPz5PxTg+T+Y6/s/mOv7P2j9+T+Q6/s/AwAAAIsLh01IIfbtaP35PwAAAAAWAAAA
|
||||
ZO35P2VzcF90aW1lcgCSDgdicwAAAAAAYP35PxYAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
LOj5P5To+T/86Pk/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgKQBQAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AQD5Pw==
|
||||
mD4CQNSoAUAwDgYAHIkCgND8+T8jDgYAAAAAACAOBgBw3v8/wN7/PwQAAAA5UwKA
|
||||
oPz5PzDR+z8AAAAA0OL/P7Di/z8AgEA/IAIAPwoAAAD//wAAAAAAAAA/AkCw4v8/
|
||||
cGYCQETG+T+lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaUmggKA4Pz5P/jP+z8AAAAA
|
||||
bFgIgAD9+T9o/vk/+M/7PwAAAADQ4f8/IwEGAAAAAADshwKAIP35PwAAAAAAAAAA
|
||||
AQAAAPDh/z8jAQYAAAAAAAAAAABA/fk/YFgIQAAAAAAjAQYAWOv7PwAAAAABAAAA
|
||||
AAAAAGD9+T8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3WwmAgOL/P4jr+z8AAAAA
|
||||
FAAAAEgAAABKIAAA
|
||||
RVNQX0NPUkVfRFVNUF9JTkZPAAA=
|
||||
AAECADE5YmNmZTg5Y2RjMmNmNTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
DAAAAJQAAAClAgAA
|
||||
RVhUUkFfSU5GTwAA
|
||||
XCz8P+gAAAAdAAAA7gAAAAUAAADCAAAAAAAAAMMAAAAAAAAAxAAAAAAAAADFAAAA
|
||||
AAAAAMYAAAAAAAAAsQAAAKOaCECyAAAAAAAAALMAAAAAAAAAtAAAAAAAAAC1AAAA
|
||||
AAAAALYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAA==
|
||||
K7mejA==
|
344
components/espcoredump/test/esp32c3/expected_output
Normal file
344
components/espcoredump/test/esp32c3/expected_output
Normal file
@ -0,0 +1,344 @@
|
||||
espcoredump.py v0.4-dev
|
||||
===============================================================
|
||||
==================== ESP32 CORE DUMP START ====================
|
||||
|
||||
Crashed task handle: 0x3fc910a0, name: 'unaligned_ptr_t', GDB name: 'process 1070141600'
|
||||
|
||||
================== CURRENT THREAD REGISTERS ===================
|
||||
ra 0x42006ac4 0x42006ac4 <UnityPrintNumberUnsigned+16>
|
||||
sp 0x3fc90f80 0x3fc90f80
|
||||
gp 0x3fc89c00 0x3fc89c00 <__c.5475+36>
|
||||
tp 0x3fc8cf88 0x3fc8cf88
|
||||
t0 0x0 0
|
||||
t1 0x3fc90bdc 1070140380
|
||||
t2 0x0 0
|
||||
fp 0x0 0x0
|
||||
s1 0x0 0
|
||||
a0 0x20 32
|
||||
a1 0x3fc90bb8 1070140344
|
||||
a2 0x0 0
|
||||
a3 0x7 7
|
||||
a4 0xffffffad -83
|
||||
a5 0x5 5
|
||||
a6 0x42002d7c 1107307900
|
||||
a7 0x0 0
|
||||
s2 0x0 0
|
||||
s3 0x0 0
|
||||
s4 0x0 0
|
||||
s5 0x0 0
|
||||
s6 0x0 0
|
||||
s7 0x0 0
|
||||
s8 0x0 0
|
||||
s9 0x0 0
|
||||
s10 0x0 0
|
||||
s11 0x0 0
|
||||
t3 0x0 0
|
||||
t4 0x0 0
|
||||
t5 0x0 0
|
||||
t6 0x0 0
|
||||
pc 0x42006aca 0x42006aca <UnityPrintNumberUnsigned+22>
|
||||
|
||||
==================== CURRENT THREAD STACK =====================
|
||||
#0 0x42006aca in UnityPrintNumberUnsigned (number=32) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:196
|
||||
#1 0x00000003 in ?? ()
|
||||
|
||||
======================== THREADS INFO =========================
|
||||
Id Target Id Frame
|
||||
* 1 process 1070141600 0x42006aca in UnityPrintNumberUnsigned (number=32) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:196
|
||||
2 process 1070139116 0x40382a38 in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144
|
||||
3 process 1070135616 0x42003fa8 in cpu_ll_waiti () at ../../../hal/esp32c3/include/hal/cpu_ll.h:158
|
||||
4 process 1070143996 0x40382a38 in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144
|
||||
5 process 1070129224 0x40385834 in vPortClearInterruptMask (mask=1) at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:199
|
||||
|
||||
==================== THREAD 1 (TCB: 0x3fc910a0, name: 'unaligned_ptr_t') =====================
|
||||
#0 0x42006aca in UnityPrintNumberUnsigned (number=32) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:196
|
||||
#1 0x00000003 in ?? ()
|
||||
|
||||
==================== THREAD 2 (TCB: 0x3fc906ec, name: 'bad_ptr_task') =====================
|
||||
#0 0x40382a38 in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144
|
||||
#1 0x40385996 in vPortYield () at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:360
|
||||
#2 0x00000000 in ?? ()
|
||||
Backtrace stopped: frame did not save the PC
|
||||
|
||||
==================== THREAD 3 (TCB: 0x3fc8f940, name: 'IDLE') =====================
|
||||
#0 0x42003fa8 in cpu_ll_waiti () at ../../../hal/esp32c3/include/hal/cpu_ll.h:158
|
||||
#1 esp_pm_impl_waiti () at /builds/espressif/esp-idf/components/esp_pm/pm_impl.c:841
|
||||
#2 0x4200b258 in esp_register_freertos_tick_hook_for_cpu (new_tick_cb=0x1, cpuid=1070135375) at /builds/espressif/esp-idf/components/esp_system/freertos_hooks.c:90
|
||||
Backtrace stopped: Cannot access memory at address 0xa5a5a5b1
|
||||
|
||||
==================== THREAD 4 (TCB: 0x3fc919fc, name: 'failed_assert_t') =====================
|
||||
#0 0x40382a38 in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144
|
||||
#1 0x40385996 in vPortYield () at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:360
|
||||
#2 0x00000000 in ?? ()
|
||||
Backtrace stopped: frame did not save the PC
|
||||
|
||||
==================== THREAD 5 (TCB: 0x3fc8e048, name: 'esp_timer') =====================
|
||||
#0 0x40385834 in vPortClearInterruptMask (mask=1) at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:199
|
||||
#1 0x4038585e in vPortExitCritical () at /builds/espressif/esp-idf/components/freertos/port/riscv/port.c:139
|
||||
Backtrace stopped: Cannot access memory at address 0xa5a5a5b1
|
||||
|
||||
|
||||
======================= ALL MEMORY REGIONS ========================
|
||||
Name Address Size Attrs
|
||||
.rtc.text 0x50000000 0x0 RW
|
||||
.rtc.dummy 0x50000000 0x0 RW
|
||||
.rtc.force_fast 0x50000000 0x0 RW
|
||||
.rtc.data 0x50000000 0x10 RW A
|
||||
.rtc_noinit 0x50000010 0x0 RW
|
||||
.rtc.force_slow 0x50000010 0x0 RW
|
||||
.iram0.text 0x40380000 0x939a R XA
|
||||
.dram0.data 0x3fc89400 0x1b40 RW A
|
||||
.noinit 0x3fc8af40 0x0 RW
|
||||
.flash.text 0x42000020 0x1ada0 R XA
|
||||
.flash.appdesc 0x3c020020 0x100 R A
|
||||
.flash.rodata 0x3c020120 0x3218 RW A
|
||||
.eh_frame 0x3c023338 0x728 R A
|
||||
.flash.rodata_noload 0x3c023a60 0x0 RW
|
||||
.iram0.data 0x40389400 0x0 RW
|
||||
.iram0.bss 0x40389400 0x0 RW
|
||||
.coredump.tasks.data 0x3fc910a0 0x154 RW
|
||||
.coredump.tasks.data 0x3fc90ee0 0x1b0 RW
|
||||
.coredump.tasks.data 0x3fc906ec 0x154 RW
|
||||
.coredump.tasks.data 0x3fc90590 0x150 RW
|
||||
.coredump.tasks.data 0x3fc8f940 0x154 RW
|
||||
.coredump.tasks.data 0x3fc8f7f0 0x140 RW
|
||||
.coredump.tasks.data 0x3fc919fc 0x154 RW
|
||||
.coredump.tasks.data 0x3fc918a0 0x150 RW
|
||||
.coredump.tasks.data 0x3fc8e048 0x154 RW
|
||||
.coredump.tasks.data 0x3fc8def0 0x150 RW
|
||||
|
||||
====================== CORE DUMP MEMORY CONTENTS ========================
|
||||
.coredump.tasks.data 0x3fc910a0 0x154 RW
|
||||
0x3fc910a0: 0x3fc90f40 0x00000064 0x3fc8ba44 0x3fc8ba44
|
||||
0x3fc910b0: 0x3fc910a0 0x3fc8ba3c 0x00000012 0x31131062
|
||||
0x3fc910c0: 0xc8c6d11a 0x3fc910a0 0x00000000 0x00000007
|
||||
0x3fc910d0: 0x3fc9089c 0x6c616e75 0x656e6769 0x74705f64
|
||||
0x3fc910e0: 0x00745f72 0x00000000 0x3fc91090 0x00000007
|
||||
0x3fc910f0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91100: 0x3fc8cb0c 0x3fc8cb74 0x3fc8cbdc 0x00000000
|
||||
0x3fc91110: 0x00000000 0x00000001 0x00000000 0x00000000
|
||||
0x3fc91120: 0x00000000 0x4200cf8c 0x00000000 0x00000000
|
||||
0x3fc91130: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91140: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91150: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91160: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91170: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91180: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91190: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc911a0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc911b0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc911c0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc911d0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc911e0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc911f0: 0x3fc90000
|
||||
.coredump.tasks.data 0x3fc90ee0 0x1b0 RW
|
||||
0x3fc90ee0: 0x42006aca 0x42006ac4 0x3fc90f80 0x3fc89c00
|
||||
0x3fc90ef0: 0x3fc8cf88 0x00000000 0x3fc90bdc 0x00000000
|
||||
0x3fc90f00: 0x00000000 0x00000000 0x00000020 0x3fc90bb8
|
||||
0x3fc90f10: 0x00000000 0x00000007 0xffffffad 0x00000005
|
||||
0x3fc90f20: 0x42002d7c 0x00000000 0x00000000 0x00000000
|
||||
0x3fc90f30: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc90f40: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc90f50: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc90f60: 0x00001881 0x40380001 0x00000007 0x00000005
|
||||
0x3fc90f70: 0x00000000 0x00000002 0x42002d7c 0x00000000
|
||||
0x3fc90f80: 0x00000000 0x00000000 0x00000000 0x00000003
|
||||
0x3fc90f90: 0x00000000 0x3fc910fc 0x3fc8cb74 0x42006aa8
|
||||
0x3fc90fa0: 0x00000000 0x00000000 0x00000000 0x00000003
|
||||
0x3fc90fb0: 0x00000000 0x3fc90fc0 0x00000002 0x42006aa8
|
||||
0x3fc90fc0: 0x3c02169c 0x0000001e 0x3c020538 0x00000003
|
||||
0x3fc90fd0: 0x00000000 0x00000000 0x00000000 0x42006b02
|
||||
0x3fc90fe0: 0x00000000 0x00000000 0x00000000 0x403858aa
|
||||
0x3fc90ff0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91000: 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
|
||||
0x3fc91010: 0x27146414 0x01010107 0x00000001 0x00000000
|
||||
0x3fc91020: 0xffffffff 0x7fefffff 0x00000000 0x3fc00000
|
||||
0x3fc91030: 0x00000000 0x40300000 0x00000000 0x3fe00000
|
||||
0x3fc91040: 0x00000000 0x3ff80000 0x636f4361 0x3fd287a7
|
||||
0x3fc91050: 0x8b60c8b3 0x3fc68a28 0x509f79fb 0x3fd34413
|
||||
0x3fc91060: 0x00000000 0x3ff00000 0x00000000 0x40240000
|
||||
0x3fc91070: 0x00000000 0x401c0000 0x00000000 0x40140000
|
||||
0x3fc91080: 0x00000000 0x43500000 0x3fc89400 0x00001b40
|
||||
.coredump.tasks.data 0x3fc906ec 0x154 RW
|
||||
0x3fc906ec: 0x3fc90590 0x00000064 0x3fc8ba1c 0x3fc8ba1c
|
||||
0x3fc906fc: 0x3fc906ec 0x3fc8ba14 0x00000014 0x9738b0d7
|
||||
0x3fc9070c: 0xffd592cf 0x3fc906ec 0x00000000 0x00000005
|
||||
0x3fc9071c: 0x3fc8fee8 0x5f646162 0x5f727470 0x6b736174
|
||||
0x3fc9072c: 0x0038f900 0x00000000 0x3fc906e0 0x00000005
|
||||
0x3fc9073c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc9074c: 0x3fc8cb0c 0x3fc8cb74 0x3fc8cbdc 0x00000000
|
||||
0x3fc9075c: 0x00000000 0x00000001 0x00000000 0x00000000
|
||||
0x3fc9076c: 0x00000000 0x4200cf8c 0x00000000 0x00000000
|
||||
0x3fc9077c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc9078c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc9079c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc907ac: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc907bc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc907cc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc907dc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc907ec: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc907fc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc9080c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc9081c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc9082c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc9083c: 0x3fc90000
|
||||
.coredump.tasks.data 0x3fc90590 0x150 RW
|
||||
0x3fc90590: 0x40382a38 0x40385996 0x3fc905dc 0x40381576
|
||||
0x3fc905a0: 0x3fc8c5d8 0x00000000 0x00000000 0x00000000
|
||||
0x3fc905b0: 0x00000064 0x00000000 0x00000001 0x00000001
|
||||
0x3fc905c0: 0x00000064 0x00000004 0x00000001 0x600c0000
|
||||
0x3fc905d0: 0x42002d7c 0x00000000 0x00000000 0x00000000
|
||||
0x3fc905e0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc905f0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc90600: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc90610: 0x00000000 0x00000000 0x00000064 0x4038479a
|
||||
0x3fc90620: 0x00000000 0x00000000 0x00000000 0x42006a62
|
||||
0x3fc90630: 0x00000000 0x00000000 0x00000000 0x403858aa
|
||||
0x3fc90640: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc90650: 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
|
||||
0x3fc90660: 0x27146414 0x01010107 0x00000001 0x00000000
|
||||
0x3fc90670: 0xffffffff 0x7fefffff 0x00000000 0x3fc00000
|
||||
0x3fc90680: 0x00000000 0x40300000 0x00000000 0x3fe00000
|
||||
0x3fc90690: 0x00000000 0x3ff80000 0x636f4361 0x3fd287a7
|
||||
0x3fc906a0: 0x8b60c8b3 0x3fc68a28 0x509f79fb 0x3fd34413
|
||||
0x3fc906b0: 0x00000000 0x3ff00000 0x00000000 0x40240000
|
||||
0x3fc906c0: 0x00000000 0x401c0000 0x00000000 0x40140000
|
||||
0x3fc906d0: 0x00000000 0x43500000 0x3fc89400 0x00001b40
|
||||
.coredump.tasks.data 0x3fc8f940 0x154 RW
|
||||
0x3fc8f940: 0x3fc8f7f0 0x3fc8c2f4 0x3fc8b9b8 0x3fc8b9b8
|
||||
0x3fc8f950: 0x3fc8f940 0x3fc8b9b0 0x00000019 0xd2c80a8c
|
||||
0x3fc8f960: 0x8a158489 0x3fc8f940 0x00000000 0x00000000
|
||||
0x3fc8f970: 0x3fc8f33c 0x454c4449 0x85900c00 0x55739a22
|
||||
0x3fc8f980: 0x00255f77 0x00000000 0x3fc8f930 0x00000000
|
||||
0x3fc8f990: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8f9a0: 0x3fc8cb0c 0x3fc8cb74 0x3fc8cbdc 0x00000000
|
||||
0x3fc8f9b0: 0x00000000 0x00000001 0x00000000 0x00000000
|
||||
0x3fc8f9c0: 0x00000000 0x4200cf8c 0x00000000 0x00000000
|
||||
0x3fc8f9d0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8f9e0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8f9f0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8fa00: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8fa10: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8fa20: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8fa30: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8fa40: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8fa50: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8fa60: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8fa70: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8fa80: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8fa90: 0x3fc80000
|
||||
.coredump.tasks.data 0x3fc8f7f0 0x140 RW
|
||||
0x3fc8f7f0: 0x42003fa8 0x4200b258 0xa5a5a5a5 0xa5a5a5a5
|
||||
0x3fc8f800: 0x3fc8b828 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8f810: 0x00000008 0x00000001 0x00000001 0x3fc8f84f
|
||||
0x3fc8f820: 0x00000000 0x3fc8f940 0x3fc8bf78 0x00000000
|
||||
0x3fc8f830: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8f840: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8f850: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8f860: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8f870: 0x00000000 0x00000000 0x00000000 0x4038468a
|
||||
0x3fc8f880: 0x00000000 0x00000000 0x00000000 0x403858aa
|
||||
0x3fc8f890: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8f8a0: 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
|
||||
0x3fc8f8b0: 0x27146414 0x01010107 0x00000001 0x00000000
|
||||
0x3fc8f8c0: 0xffffffff 0x7fefffff 0x00000000 0x3fc00000
|
||||
0x3fc8f8d0: 0x00000000 0x40300000 0x00000000 0x3fe00000
|
||||
0x3fc8f8e0: 0x00000000 0x3ff80000 0x636f4361 0x3fd287a7
|
||||
0x3fc8f8f0: 0x8b60c8b3 0x3fc68a28 0x509f79fb 0x3fd34413
|
||||
0x3fc8f900: 0x00000000 0x3ff00000 0x00000000 0x40240000
|
||||
0x3fc8f910: 0x00000000 0x401c0000 0x00000000 0x40140000
|
||||
0x3fc8f920: 0x00000000 0x43500000 0x3fc89400 0x00001b40
|
||||
.coredump.tasks.data 0x3fc919fc 0x154 RW
|
||||
0x3fc919fc: 0x3fc918a0 0x000000c8 0x3fc8bbac 0x3fc8bbac
|
||||
0x3fc91a0c: 0x3fc919fc 0x3fc8bba4 0x0000000f 0xcb2dd23d
|
||||
0x3fc91a1c: 0x73224026 0x3fc919fc 0x00000000 0x0000000a
|
||||
0x3fc91a2c: 0x3fc911f8 0x6c696166 0x615f6465 0x72657373
|
||||
0x3fc91a3c: 0x00745f74 0x00000000 0x3fc919f0 0x0000000a
|
||||
0x3fc91a4c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91a5c: 0x3fc8cb0c 0x3fc8cb74 0x3fc8cbdc 0x00000000
|
||||
0x3fc91a6c: 0x00000000 0x00000001 0x00000000 0x00000000
|
||||
0x3fc91a7c: 0x00000000 0x4200cf8c 0x00000000 0x00000000
|
||||
0x3fc91a8c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91a9c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91aac: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91abc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91acc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91adc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91aec: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91afc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91b0c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91b1c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91b2c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91b3c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91b4c: 0x3fc90000
|
||||
.coredump.tasks.data 0x3fc918a0 0x150 RW
|
||||
0x3fc918a0: 0x40382a38 0x40385996 0x3fc918ec 0x40381576
|
||||
0x3fc918b0: 0x3fc8d8e8 0x00000000 0x00000000 0x00000000
|
||||
0x3fc918c0: 0x00000064 0x00000000 0x00000001 0x00000001
|
||||
0x3fc918d0: 0x000000c8 0x00000004 0x00000001 0x600c0000
|
||||
0x3fc918e0: 0x42002d7c 0x00000000 0x00000000 0x00000000
|
||||
0x3fc918f0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91900: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91910: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91920: 0x00000000 0x00000000 0x00000064 0x4038479a
|
||||
0x3fc91930: 0x00000000 0x00000000 0x00000000 0x42006954
|
||||
0x3fc91940: 0x00000000 0x00000000 0x00000000 0x403858aa
|
||||
0x3fc91950: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc91960: 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
|
||||
0x3fc91970: 0x27146414 0x01010107 0x00000001 0x00000000
|
||||
0x3fc91980: 0xffffffff 0x7fefffff 0x00000000 0x3fc00000
|
||||
0x3fc91990: 0x00000000 0x40300000 0x00000000 0x3fe00000
|
||||
0x3fc919a0: 0x00000000 0x3ff80000 0x636f4361 0x3fd287a7
|
||||
0x3fc919b0: 0x8b60c8b3 0x3fc68a28 0x509f79fb 0x3fd34413
|
||||
0x3fc919c0: 0x00000000 0x3ff00000 0x00000000 0x40240000
|
||||
0x3fc919d0: 0x00000000 0x401c0000 0x00000000 0x40140000
|
||||
0x3fc919e0: 0x00000000 0x43500000 0x3fc89400 0x00001b40
|
||||
.coredump.tasks.data 0x3fc8e048 0x154 RW
|
||||
0x3fc8e048: 0x3fc8def0 0x3fc8c2f4 0x3fc8bbe8 0x3fc8bbe8
|
||||
0x3fc8e058: 0x3fc8e048 0x3fc8bbe0 0x00000003 0xdf89b7c0
|
||||
0x3fc8e068: 0x2e79d460 0x3fc8e048 0x00000000 0x00000016
|
||||
0x3fc8e078: 0x3fc8d044 0x5f707365 0x656d6974 0xe2ab0072
|
||||
0x3fc8e088: 0x00c41b3a 0x00000000 0x3fc8e040 0x00000016
|
||||
0x3fc8e098: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e0a8: 0x3fc8cb0c 0x3fc8cb74 0x3fc8cbdc 0x00000000
|
||||
0x3fc8e0b8: 0x00000000 0x00000001 0x00000000 0x00000000
|
||||
0x3fc8e0c8: 0x00000000 0x4200cf8c 0x00000000 0x00000000
|
||||
0x3fc8e0d8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e0e8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e0f8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e108: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e118: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e128: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e138: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e148: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e158: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e168: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e178: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e188: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8e198: 0x3fc80001
|
||||
.coredump.tasks.data 0x3fc8def0 0x150 RW
|
||||
0x3fc8def0: 0x40385834 0x4038585e 0xa5a5a5a5 0xa5a5a5a5
|
||||
0x3fc8df00: 0x3fc89f38 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8df10: 0xffffffff 0x00000001 0x00000001 0x00000001
|
||||
0x3fc8df20: 0x00000000 0x00000004 0x3fc8c000 0x600c2000
|
||||
0x3fc8df30: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8df40: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8df50: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8df60: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8df70: 0x00000000 0x00000001 0xffffffff 0x4038539e
|
||||
0x3fc8df80: 0x00000000 0x00000000 0x00000000 0x420060a2
|
||||
0x3fc8df90: 0x00000000 0x00000000 0x00000000 0x403858aa
|
||||
0x3fc8dfa0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3fc8dfb0: 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
|
||||
0x3fc8dfc0: 0x27146414 0x01010107 0x00000001 0x00000000
|
||||
0x3fc8dfd0: 0xffffffff 0x7fefffff 0x00000000 0x3fc00000
|
||||
0x3fc8dfe0: 0x00000000 0x40300000 0x00000000 0x3fe00000
|
||||
0x3fc8dff0: 0x00000000 0x3ff80000 0x636f4361 0x3fd287a7
|
||||
0x3fc8e000: 0x8b60c8b3 0x3fc68a28 0x509f79fb 0x3fd34413
|
||||
0x3fc8e010: 0x00000000 0x3ff00000 0x00000000 0x40240000
|
||||
0x3fc8e020: 0x00000000 0x401c0000 0x00000000 0x40140000
|
||||
0x3fc8e030: 0x00000000 0x43500000 0x3fc89400 0x00001b40
|
||||
|
||||
===================== ESP32 CORE DUMP END =====================
|
||||
===============================================================
|
||||
Done!
|
171
components/espcoredump/test/esp32s2/coredump.b64
Normal file
171
components/espcoredump/test/esp32s2/coredump.b64
Normal file
@ -0,0 +1,171 @@
|
||||
4BoAAAABAgAAAAAAAAAAAAAAAAA=
|
||||
f0VMRgEBAQAAAAAAAAAAAAQAXgABAAAAAAAAADQAAAAAAAAAAAAAADQAIAAMACgA
|
||||
AAAAAA==
|
||||
BAAAALQBAAAAAAAAAAAAAOALAADgCwAABgAAAAAAAAA=
|
||||
AQAAAJQNAABcLPw/XCz8P1QBAABUAQAABgAAAAAAAAA=
|
||||
AQAAAOgOAADwKvw/8Cr8P2QBAABkAQAABgAAAAAAAAA=
|
||||
AQAAAEwQAACoIvw/qCL8P1QBAABUAQAABgAAAAAAAAA=
|
||||
AQAAAKARAACwIfw/sCH8P/AAAADwAAAABgAAAAAAAAA=
|
||||
AQAAAJASAABAFPw/QBT8P1QBAABUAQAABgAAAAAAAAA=
|
||||
AQAAAOQTAAAgE/w/IBP8PxgBAAAYAQAABgAAAAAAAAA=
|
||||
AQAAAPwUAAC4Nfw/uDX8P1QBAABUAQAABgAAAAAAAAA=
|
||||
AQAAAFAWAADANPw/wDT8P/AAAADwAAAABgAAAAAAAAA=
|
||||
AQAAAEAXAABo/fk/aP35P1QBAABUAQAABgAAAAAAAAA=
|
||||
AQAAAJQYAABA/Pk/QPz5PyABAAAgAQAABgAAAAAAAAA=
|
||||
BAAAALQZAAAAAAAAAAAAABQBAAAUAQAABgAAAAAAAAA=
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXCz8PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACWAIQCANBgAAAAAAAAAAAAAAAAAZAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAORfCICAK/w/
|
||||
AgAAAMwr/D/AK/w/AAAAAJTo+T8AAAAABQAAAK3///8gAAAAuCz8P7fr+T+AAAAA
|
||||
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqCL8PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM3cCQCACBgAAAAAAAAAAAAAAAAAbAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKdfCIBAIvw/
|
||||
ZAAAAPjP+z8hAAYAUOv7PyMLBgBZAAAAM3cCgCAi/D8AAAAAZAAAAPTt+z8QDPw/
|
||||
AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBT8PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7lQJQCAFBgAAAAAAAAAAAAAAAAAeAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADadCICwE/w/
|
||||
AAAAAAEAAAABAAAAAQAAgCMABgAAAAAAHqIIgIAT/D8AAAAAgKQBQCAABgAAwABg
|
||||
AAAAAEsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuDX8PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM3cCQCAHBgAAAAAAAAAAAAAAAAAWAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO9eCIBQNfw/
|
||||
ZAAAAPjP+z8hAAYAkCv8PzDR+z9kAAAAM3cCgDA1/D8AAAAAyAAAAPTt+z8QDPw/
|
||||
AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
CAAAAEwCAAABAAAA
|
||||
Q09SRQAAAAA=
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaP35PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1KgBQCAOBgAAAAAAAAAAAAAAAAAKAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByJAoDQ/Pk/
|
||||
Iw4GAAAAAAAgDgYAcN7/P8De/z8EAAAAOVMCgKD8+T8w0fs/AAAAANDi/z+w4v8/
|
||||
AIBAPyACAD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAA
|
||||
YCv8P2QAAACU7Ps/lOz7P1ws/D+M7Ps/EgAAALV8Zvp19PO8XCz8PwAAAAAHAAAA
|
||||
WCT8P3VuYWxpZ25lZF9wdHJfdAAAAAAAVCz8PwcAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
LOj5P5To+T/86Pk/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgKQBQAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD8Pw==
|
||||
776t3glgCEAwDQYA5F8IgIAr/D8CAAAAzCv8P8Ar/D8AAAAAlOj5PwAAAAAFAAAA
|
||||
rf///yAAAAC4LPw/t+v5P4AAAAABAAAAAAAAABkAAAAdAAAABQAAALfr+T+AAAAA
|
||||
PT4CQDT1+z8o6vk/AAAAALfr+T+AAAAAAQAAAAAAAADkXwiAsCv8PwEAAACU6Pk/
|
||||
AwAAADDR+z8BAAAAAQAAAMAr/D8AAAAAlOj5PwAAAAAsYAiA4Cv8PwoAAAD4z/s/
|
||||
AwAAAB4AAABcIwA/AQAAAPTt+z8QDPw/AAgAAAAAAADshwKAECz8PwAAAAAAAAAA
|
||||
AwAAABAs/D8AAAAAAAAAACEABgDgIfw/MNH7P2QAAAAAAAAAMCz8PxRgCEAAAAAA
|
||||
IwAGAFDr+z8jDAYAAQAAAAAAAABQLPw/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
sCH8P2QAAABs7Ps/bOz7P6gi/D9k7Ps/FAAAAOaYhZH9xHrvqCL8PwAAAAAFAAAA
|
||||
pBr8P2JhZF9wdHJfdGFzawCjEAAAAAAAoCL8PwUAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
LOj5P5To+T/86Pk/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgKQBQAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD8Pw==
|
||||
mD4CQDN3AkAwAgYAp18IgEAi/D9kAAAA+M/7PyEABgBQ6/s/IwsGAFkAAAAzdwKA
|
||||
ICL8PwAAAABkAAAA9O37PxAM/D8ACAAAAAAAABsAAAD//wAAAAAAAAA/AkAQDPw/
|
||||
cGYCQITr+z8AAAAAAAAAAEAM/D8QDPw/AAgAAAAAAADshwKAYCL8PwAAAAAAAAAA
|
||||
IQAGAFDr+z8jCwYAWQAAAAAAAACAIvw/mF8IQAAAAAAjAAYAUOv7PyMHBgAwC/w/
|
||||
AAAAAKAi/D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
IBP8PxT2+z8I7Ps/COz7P0AU/D8A7Ps/GQAAAI4HwjbIC/+pQBT8PwAAAAAAAAAA
|
||||
PA78P0lETEUA7gxhMfMFcqcHvwAAAAAAOBT8PwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
LOj5P5To+T/86Pk/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgKQBQAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD8Pw==
|
||||
mD4CQO5UCUAwBQYANp0IgLAT/D8AAAAAAQAAAAEAAAABAACAIwAGAAAAAAAeogiA
|
||||
gBP8PwAAAACApAFAIAAGAADAAGAAAAAASwAAAB4AAAD//wAAAAAAAAA/AkAAwABg
|
||||
cGYCQBTd+z+lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaVFdgKA0BP8PwgAAAABAAAA
|
||||
MBT8PwAAAAAAAAAAAAAAAOyHAoDwE/w/AAAAAAAAAAAhAAYAEAz8PzDR+z8BAAAA
|
||||
AAAAABAU/D88dgJAAAAAACMABgAwDPw/WABMPwEAAAAAAAAAMBT8PwAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
|
||||
wDT8P8gAAAD06/s/9Ov7P7g1/D/s6/s/DwAAAHjELjhoP6d7uDX8PwAAAAAKAAAA
|
||||
tC38P2ZhaWxlZF9hc3NlcnRfdAAAAAAAsDX8PwoAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
LOj5P5To+T/86Pk/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgKQBQAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD8Pw==
|
||||
mD4CQDN3AkAwBwYA714IgFA1/D9kAAAA+M/7PyEABgCQK/w/MNH7P2QAAAAzdwKA
|
||||
MDX8PwAAAADIAAAA9O37PxAM/D8ACAAAAAAAABYAAAD//wAAAAAAAAA/AkAQDPw/
|
||||
cGYCQJT++z8AAAAAAAAAAPTt+z8QDPw/AAgAAAAAAADshwKAcDX8PwAAAAAAAAAA
|
||||
IQAGAJAr/D8w0fs/ZAAAAAAAAACQNfw/4F4IQAAAAAAjAAYAUOv7PyMBBgABAAAA
|
||||
AAAAALA1/D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
QPz5PxTg+T+Y6/s/mOv7P2j9+T+Q6/s/AwAAAIsLh01IIfbtaP35PwAAAAAWAAAA
|
||||
ZO35P2VzcF90aW1lcgCSDgdicwAAAAAAYP35PxYAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
LOj5P5To+T/86Pk/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgKQBQAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AQD5Pw==
|
||||
mD4CQNSoAUAwDgYAHIkCgND8+T8jDgYAAAAAACAOBgBw3v8/wN7/PwQAAAA5UwKA
|
||||
oPz5PzDR+z8AAAAA0OL/P7Di/z8AgEA/IAIAPwoAAAD//wAAAAAAAAA/AkCw4v8/
|
||||
cGYCQETG+T+lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaUmggKA4Pz5P/jP+z8AAAAA
|
||||
bFgIgAD9+T9o/vk/+M/7PwAAAADQ4f8/IwEGAAAAAADshwKAIP35PwAAAAAAAAAA
|
||||
AQAAAPDh/z8jAQYAAAAAAAAAAABA/fk/YFgIQAAAAAAjAQYAWOv7PwAAAAABAAAA
|
||||
AAAAAGD9+T8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3WwmAgOL/P4jr+z8AAAAA
|
||||
FAAAAEgAAABKIAAA
|
||||
RVNQX0NPUkVfRFVNUF9JTkZPAAA=
|
||||
AAECADE5YmNmZTg5Y2RjMmNmNTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
DAAAAJQAAAClAgAA
|
||||
RVhUUkFfSU5GTwAA
|
||||
XCz8P+gAAAAdAAAA7gAAAAUAAADCAAAAAAAAAMMAAAAAAAAAxAAAAAAAAADFAAAA
|
||||
AAAAAMYAAAAAAAAAsQAAAKOaCECyAAAAAAAAALMAAAAAAAAAtAAAAAAAAAC1AAAA
|
||||
AAAAALYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAA==
|
||||
K7mejA==
|
347
components/espcoredump/test/esp32s2/expected_output
Normal file
347
components/espcoredump/test/esp32s2/expected_output
Normal file
@ -0,0 +1,347 @@
|
||||
espcoredump.py v0.4-dev
|
||||
===============================================================
|
||||
==================== ESP32 CORE DUMP START ====================
|
||||
|
||||
Crashed task handle: 0x3ffc2c5c, name: 'unaligned_ptr_t', GDB name: 'process 1073491036'
|
||||
|
||||
================== CURRENT THREAD REGISTERS ===================
|
||||
exccause 0x1d (StoreProhibitedCause)
|
||||
excvaddr 0x5
|
||||
epc1 0x40089aa3
|
||||
epc2 0x0
|
||||
epc3 0x0
|
||||
epc4 0x0
|
||||
epc5 0x0
|
||||
epc6 0x0
|
||||
eps2 0x0
|
||||
eps3 0x0
|
||||
eps4 0x0
|
||||
eps5 0x0
|
||||
eps6 0x0
|
||||
pc 0x40086009 0x40086009 <UnityPrintNumberUnsigned+45>
|
||||
lbeg 0x0 0
|
||||
lend 0x0 0
|
||||
lcount 0x0 0
|
||||
sar 0x19 25
|
||||
ps 0x60d20 396576
|
||||
threadptr <unavailable>
|
||||
br <unavailable>
|
||||
scompare1 <unavailable>
|
||||
acclo <unavailable>
|
||||
acchi <unavailable>
|
||||
m0 <unavailable>
|
||||
m1 <unavailable>
|
||||
m2 <unavailable>
|
||||
m3 <unavailable>
|
||||
expstate <unavailable>
|
||||
f64r_lo <unavailable>
|
||||
f64r_hi <unavailable>
|
||||
f64s <unavailable>
|
||||
fcr <unavailable>
|
||||
fsr <unavailable>
|
||||
a0 0x80085fe4 -2146934812
|
||||
a1 0x3ffc2b80 1073490816
|
||||
a2 0x2 2
|
||||
a3 0x3ffc2bcc 1073490892
|
||||
a4 0x3ffc2bc0 1073490880
|
||||
a5 0x0 0
|
||||
a6 0x3ff9e894 1073342612
|
||||
a7 0x0 0
|
||||
a8 0x5 5
|
||||
a9 0xffffffad -83
|
||||
a10 0x20 32
|
||||
a11 0x3ffc2cb8 1073491128
|
||||
a12 0x3ff9ebb7 1073343415
|
||||
a13 0x80 128
|
||||
a14 0x1 1
|
||||
a15 0x0 0
|
||||
|
||||
==================== CURRENT THREAD STACK =====================
|
||||
#0 0x40086009 in UnityPrintNumberUnsigned (number=2) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:204
|
||||
#1 0x40085fe4 in UnityPrintNumberUnsigned (number=1) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:196
|
||||
#2 0x40085fe4 in UnityPrintNumberUnsigned (number=10) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:196
|
||||
#3 0x4008602c in ?? () at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:206
|
||||
#4 0x400287ec in vPortTaskWrapper (pxCode=0x40086014 <UnityPrintNumberUnsigned+56>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
======================== THREADS INFO =========================
|
||||
Id Target Id Frame
|
||||
* 1 process 1073491036 0x40086009 in UnityPrintNumberUnsigned (number=2) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:204
|
||||
2 process 1073488552 0x40027733 in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32s2/include/hal/cpu_ll.h:33
|
||||
3 process 1073484864 set_ocode_by_efuse (calib_version=0) at /builds/espressif/esp-idf/components/esp_hw_support/port/esp32s2/rtc_init.c:226
|
||||
4 process 1073493432 0x40027733 in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32s2/include/hal/cpu_ll.h:33
|
||||
5 process 1073347944 0x4001a8d4 in ?? ()
|
||||
|
||||
==================== THREAD 1 (TCB: 0x3ffc2c5c, name: 'unaligned_ptr_t') =====================
|
||||
#0 0x40086009 in UnityPrintNumberUnsigned (number=2) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:204
|
||||
#1 0x40085fe4 in UnityPrintNumberUnsigned (number=1) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:196
|
||||
#2 0x40085fe4 in UnityPrintNumberUnsigned (number=10) at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:196
|
||||
#3 0x4008602c in ?? () at /builds/espressif/esp-idf/components/unity/unity/src/unity.c:206
|
||||
#4 0x400287ec in vPortTaskWrapper (pxCode=0x40086014 <UnityPrintNumberUnsigned+56>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
==================== THREAD 2 (TCB: 0x3ffc22a8, name: 'bad_ptr_task') =====================
|
||||
#0 0x40027733 in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32s2/include/hal/cpu_ll.h:33
|
||||
#1 0x40085fa7 in unaligned_ptr_task (pvParameter=0x0) at ../main/test_core_dump.c:75
|
||||
#2 0x400287ec in vPortTaskWrapper (pxCode=0x40085f98 <recur_func+84>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
==================== THREAD 3 (TCB: 0x3ffc1440, name: 'IDLE') =====================
|
||||
#0 set_ocode_by_efuse (calib_version=0) at /builds/espressif/esp-idf/components/esp_hw_support/port/esp32s2/rtc_init.c:226
|
||||
#1 0x40089d36 in esp_register_freertos_tick_hook_for_cpu (new_tick_cb=0x8, cpuid=1) at /builds/espressif/esp-idf/components/esp_system/freertos_hooks.c:94
|
||||
#2 0x40027645 in prvIdleTask (pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/tasks.c:3823
|
||||
#3 0x400287ec in vPortTaskWrapper (pxCode=0x4002763c <prvIdleTask>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
==================== THREAD 4 (TCB: 0x3ffc35b8, name: 'failed_assert_t') =====================
|
||||
#0 0x40027733 in vTaskDelay (xTicksToDelay=100) at ../../../hal/esp32s2/include/hal/cpu_ll.h:33
|
||||
#1 0x40085eef in bad_ptr_func () at ../main/test_core_dump.c:26
|
||||
#2 0x400287ec in vPortTaskWrapper (pxCode=0x40085ee0 <test_core_dump+68>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
==================== THREAD 5 (TCB: 0x3ff9fd68, name: 'esp_timer') =====================
|
||||
#0 0x4001a8d4 in ?? ()
|
||||
#1 0x4002891c in vPortExitCritical (mux=0x3ffbcff8) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:473
|
||||
#2 0x40028226 in ulTaskNotifyTake (xClearCountOnExit=1, xTicksToWait=<optimized out>) at /builds/espressif/esp-idf/components/freertos/tasks.c:5187
|
||||
#3 0x4008586c in esp_timer_impl_init_system_time () at /builds/espressif/esp-idf/components/esp_timer/src/system_time.c:43
|
||||
#4 0x400287ec in vPortTaskWrapper (pxCode=0x40085860 <esp_timer_init+92>, pvParameters=0x0) at /builds/espressif/esp-idf/components/freertos/port/xtensa/port.c:168
|
||||
|
||||
|
||||
======================= ALL MEMORY REGIONS ========================
|
||||
Name Address Size Attrs
|
||||
.rtc.text 0x40070000 0x0 RW
|
||||
.rtc.dummy 0x3ff9e000 0x0 RW
|
||||
.rtc.force_fast 0x3ff9e000 0x0 RW
|
||||
.rtc.data 0x50000000 0x10 RW A
|
||||
.rtc_noinit 0x50000010 0x0 RW
|
||||
.rtc.force_slow 0x50000010 0x0 RW
|
||||
.iram0.vectors 0x40022000 0x403 R XA
|
||||
.iram0.text 0x40022404 0xa014 R XA
|
||||
.dram0.data 0x3ffbc420 0x256c RW A
|
||||
.noinit 0x3ffbe98c 0x0 RW
|
||||
.flash.appdesc 0x3f000020 0x100 R A
|
||||
.flash.rodata 0x3f000120 0x3764 RW A
|
||||
.flash.rodata_noload 0x3f003884 0x0 RW
|
||||
.flash.text 0x40080020 0x15ca3 R XA
|
||||
.iram0.text_end 0x4002c418 0x0 RW
|
||||
.dram0.heap_start 0x3ffbf610 0x0 RW
|
||||
.coredump.tasks.data 0x3ffc2c5c 0x154 RW
|
||||
.coredump.tasks.data 0x3ffc2af0 0x164 RW
|
||||
.coredump.tasks.data 0x3ffc22a8 0x154 RW
|
||||
.coredump.tasks.data 0x3ffc21b0 0xf0 RW
|
||||
.coredump.tasks.data 0x3ffc1440 0x154 RW
|
||||
.coredump.tasks.data 0x3ffc1320 0x118 RW
|
||||
.coredump.tasks.data 0x3ffc35b8 0x154 RW
|
||||
.coredump.tasks.data 0x3ffc34c0 0xf0 RW
|
||||
.coredump.tasks.data 0x3ff9fd68 0x154 RW
|
||||
.coredump.tasks.data 0x3ff9fc40 0x120 RW
|
||||
|
||||
====================== CORE DUMP MEMORY CONTENTS ========================
|
||||
.coredump.tasks.data 0x3ffc2c5c 0x154 RW
|
||||
0x3ffc2c5c: 0x3ffc2b60 0x00000064 0x3ffbec94 0x3ffbec94
|
||||
0x3ffc2c6c: 0x3ffc2c5c 0x3ffbec8c 0x00000012 0xfa667cb5
|
||||
0x3ffc2c7c: 0xbcf3f475 0x3ffc2c5c 0x00000000 0x00000007
|
||||
0x3ffc2c8c: 0x3ffc2458 0x6c616e75 0x656e6769 0x74705f64
|
||||
0x3ffc2c9c: 0x00745f72 0x00000000 0x3ffc2c54 0x00000007
|
||||
0x3ffc2cac: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2cbc: 0x3ff9e82c 0x3ff9e894 0x3ff9e8fc 0x00000000
|
||||
0x3ffc2ccc: 0x00000000 0x00000001 0x00000000 0x00000000
|
||||
0x3ffc2cdc: 0x00000000 0x4001a480 0x00000000 0x00000000
|
||||
0x3ffc2cec: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2cfc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2d0c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2d1c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2d2c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2d3c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2d4c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2d5c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2d6c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2d7c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2d8c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2d9c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2dac: 0x3ffc0000
|
||||
.coredump.tasks.data 0x3ffc2af0 0x164 RW
|
||||
0x3ffc2af0: 0xdeadbeef 0x40086009 0x00060d30 0x80085fe4
|
||||
0x3ffc2b00: 0x3ffc2b80 0x00000002 0x3ffc2bcc 0x3ffc2bc0
|
||||
0x3ffc2b10: 0x00000000 0x3ff9e894 0x00000000 0x00000005
|
||||
0x3ffc2b20: 0xffffffad 0x00000020 0x3ffc2cb8 0x3ff9ebb7
|
||||
0x3ffc2b30: 0x00000080 0x00000001 0x00000000 0x00000019
|
||||
0x3ffc2b40: 0x0000001d 0x00000005 0x3ff9ebb7 0x00000080
|
||||
0x3ffc2b50: 0x40023e3d 0x3ffbf534 0x3ff9ea28 0x00000000
|
||||
0x3ffc2b60: 0x3ff9ebb7 0x00000080 0x00000001 0x00000000
|
||||
0x3ffc2b70: 0x80085fe4 0x3ffc2bb0 0x00000001 0x3ff9e894
|
||||
0x3ffc2b80: 0x00000003 0x3ffbd130 0x00000001 0x00000001
|
||||
0x3ffc2b90: 0x3ffc2bc0 0x00000000 0x3ff9e894 0x00000000
|
||||
0x3ffc2ba0: 0x8008602c 0x3ffc2be0 0x0000000a 0x3ffbcff8
|
||||
0x3ffc2bb0: 0x00000003 0x0000001e 0x3f00235c 0x00000001
|
||||
0x3ffc2bc0: 0x3ffbedf4 0x3ffc0c10 0x00000800 0x00000000
|
||||
0x3ffc2bd0: 0x800287ec 0x3ffc2c10 0x00000000 0x00000000
|
||||
0x3ffc2be0: 0x00000003 0x3ffc2c10 0x00000000 0x00000000
|
||||
0x3ffc2bf0: 0x00060021 0x3ffc21e0 0x3ffbd130 0x00000064
|
||||
0x3ffc2c00: 0x00000000 0x3ffc2c30 0x40086014 0x00000000
|
||||
0x3ffc2c10: 0x00060023 0x3ffbeb50 0x00060c23 0x00000001
|
||||
0x3ffc2c20: 0x00000000 0x3ffc2c50 0x00000000 0x00000000
|
||||
0x3ffc2c30: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2c40: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2c50: 0x00000000
|
||||
.coredump.tasks.data 0x3ffc22a8 0x154 RW
|
||||
0x3ffc22a8: 0x3ffc21b0 0x00000064 0x3ffbec6c 0x3ffbec6c
|
||||
0x3ffc22b8: 0x3ffc22a8 0x3ffbec64 0x00000014 0x918598e6
|
||||
0x3ffc22c8: 0xef7ac4fd 0x3ffc22a8 0x00000000 0x00000005
|
||||
0x3ffc22d8: 0x3ffc1aa4 0x5f646162 0x5f727470 0x6b736174
|
||||
0x3ffc22e8: 0x0010a300 0x00000000 0x3ffc22a0 0x00000005
|
||||
0x3ffc22f8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2308: 0x3ff9e82c 0x3ff9e894 0x3ff9e8fc 0x00000000
|
||||
0x3ffc2318: 0x00000000 0x00000001 0x00000000 0x00000000
|
||||
0x3ffc2328: 0x00000000 0x4001a480 0x00000000 0x00000000
|
||||
0x3ffc2338: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2348: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2358: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2368: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2378: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2388: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2398: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc23a8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc23b8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc23c8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc23d8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc23e8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc23f8: 0x3ffc0000
|
||||
.coredump.tasks.data 0x3ffc21b0 0xf0 RW
|
||||
0x3ffc21b0: 0x40023e98 0x40027733 0x00060230 0x80085fa7
|
||||
0x3ffc21c0: 0x3ffc2240 0x00000064 0x3ffbcff8 0x00060021
|
||||
0x3ffc21d0: 0x3ffbeb50 0x00060b23 0x00000059 0x80027733
|
||||
0x3ffc21e0: 0x3ffc2220 0x00000000 0x00000064 0x3ffbedf4
|
||||
0x3ffc21f0: 0x3ffc0c10 0x00000800 0x00000000 0x0000001b
|
||||
0x3ffc2200: 0x0000ffff 0x00000000 0x40023f00 0x3ffc0c10
|
||||
0x3ffc2210: 0x40026670 0x3ffbeb84 0x00000000 0x00000000
|
||||
0x3ffc2220: 0x3ffc0c40 0x3ffc0c10 0x00000800 0x00000000
|
||||
0x3ffc2230: 0x800287ec 0x3ffc2260 0x00000000 0x00000000
|
||||
0x3ffc2240: 0x00060021 0x3ffbeb50 0x00060b23 0x00000059
|
||||
0x3ffc2250: 0x00000000 0x3ffc2280 0x40085f98 0x00000000
|
||||
0x3ffc2260: 0x00060023 0x3ffbeb50 0x00060723 0x3ffc0b30
|
||||
0x3ffc2270: 0x00000000 0x3ffc22a0 0x00000000 0x00000000
|
||||
0x3ffc2280: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc2290: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
.coredump.tasks.data 0x3ffc1440 0x154 RW
|
||||
0x3ffc1440: 0x3ffc1320 0x3ffbf614 0x3ffbec08 0x3ffbec08
|
||||
0x3ffc1450: 0x3ffc1440 0x3ffbec00 0x00000019 0x36c2078e
|
||||
0x3ffc1460: 0xa9ff0bc8 0x3ffc1440 0x00000000 0x00000000
|
||||
0x3ffc1470: 0x3ffc0e3c 0x454c4449 0x610cee00 0x7205f331
|
||||
0x3ffc1480: 0x00bf07a7 0x00000000 0x3ffc1438 0x00000000
|
||||
0x3ffc1490: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc14a0: 0x3ff9e82c 0x3ff9e894 0x3ff9e8fc 0x00000000
|
||||
0x3ffc14b0: 0x00000000 0x00000001 0x00000000 0x00000000
|
||||
0x3ffc14c0: 0x00000000 0x4001a480 0x00000000 0x00000000
|
||||
0x3ffc14d0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc14e0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc14f0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc1500: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc1510: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc1520: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc1530: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc1540: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc1550: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc1560: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc1570: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc1580: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc1590: 0x3ffc0000
|
||||
.coredump.tasks.data 0x3ffc1320 0x118 RW
|
||||
0x3ffc1320: 0x40023e98 0x400954ee 0x00060530 0x80089d36
|
||||
0x3ffc1330: 0x3ffc13b0 0x00000000 0x00000001 0x00000001
|
||||
0x3ffc1340: 0x80000001 0x00060023 0x00000000 0x8008a21e
|
||||
0x3ffc1350: 0x3ffc1380 0x00000000 0x4001a480 0x00060020
|
||||
0x3ffc1360: 0x6000c000 0x00000000 0x0000004b 0x0000001e
|
||||
0x3ffc1370: 0x0000ffff 0x00000000 0x40023f00 0x6000c000
|
||||
0x3ffc1380: 0x40026670 0x3ffbdd14 0xa5a5a5a5 0xa5a5a5a5
|
||||
0x3ffc1390: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
|
||||
0x3ffc13a0: 0x80027645 0x3ffc13d0 0x00000008 0x00000001
|
||||
0x3ffc13b0: 0x3ffc1430 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc13c0: 0x800287ec 0x3ffc13f0 0x00000000 0x00000000
|
||||
0x3ffc13d0: 0x00060021 0x3ffc0c10 0x3ffbd130 0x00000001
|
||||
0x3ffc13e0: 0x00000000 0x3ffc1410 0x4002763c 0x00000000
|
||||
0x3ffc13f0: 0x00060023 0x3ffc0c30 0x3f4c0058 0x00000001
|
||||
0x3ffc1400: 0x00000000 0x3ffc1430 0x00000000 0x00000000
|
||||
0x3ffc1410: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc1420: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc1430: 0x00000000 0x00000000
|
||||
.coredump.tasks.data 0x3ffc35b8 0x154 RW
|
||||
0x3ffc35b8: 0x3ffc34c0 0x000000c8 0x3ffbebf4 0x3ffbebf4
|
||||
0x3ffc35c8: 0x3ffc35b8 0x3ffbebec 0x0000000f 0x382ec478
|
||||
0x3ffc35d8: 0x7ba73f68 0x3ffc35b8 0x00000000 0x0000000a
|
||||
0x3ffc35e8: 0x3ffc2db4 0x6c696166 0x615f6465 0x72657373
|
||||
0x3ffc35f8: 0x00745f74 0x00000000 0x3ffc35b0 0x0000000a
|
||||
0x3ffc3608: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc3618: 0x3ff9e82c 0x3ff9e894 0x3ff9e8fc 0x00000000
|
||||
0x3ffc3628: 0x00000000 0x00000001 0x00000000 0x00000000
|
||||
0x3ffc3638: 0x00000000 0x4001a480 0x00000000 0x00000000
|
||||
0x3ffc3648: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc3658: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc3668: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc3678: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc3688: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc3698: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc36a8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc36b8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc36c8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc36d8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc36e8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc36f8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc3708: 0x3ffc0000
|
||||
.coredump.tasks.data 0x3ffc34c0 0xf0 RW
|
||||
0x3ffc34c0: 0x40023e98 0x40027733 0x00060730 0x80085eef
|
||||
0x3ffc34d0: 0x3ffc3550 0x00000064 0x3ffbcff8 0x00060021
|
||||
0x3ffc34e0: 0x3ffc2b90 0x3ffbd130 0x00000064 0x80027733
|
||||
0x3ffc34f0: 0x3ffc3530 0x00000000 0x000000c8 0x3ffbedf4
|
||||
0x3ffc3500: 0x3ffc0c10 0x00000800 0x00000000 0x00000016
|
||||
0x3ffc3510: 0x0000ffff 0x00000000 0x40023f00 0x3ffc0c10
|
||||
0x3ffc3520: 0x40026670 0x3ffbfe94 0x00000000 0x00000000
|
||||
0x3ffc3530: 0x3ffbedf4 0x3ffc0c10 0x00000800 0x00000000
|
||||
0x3ffc3540: 0x800287ec 0x3ffc3570 0x00000000 0x00000000
|
||||
0x3ffc3550: 0x00060021 0x3ffc2b90 0x3ffbd130 0x00000064
|
||||
0x3ffc3560: 0x00000000 0x3ffc3590 0x40085ee0 0x00000000
|
||||
0x3ffc3570: 0x00060023 0x3ffbeb50 0x00060123 0x00000001
|
||||
0x3ffc3580: 0x00000000 0x3ffc35b0 0x00000000 0x00000000
|
||||
0x3ffc3590: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffc35a0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
.coredump.tasks.data 0x3ff9fd68 0x154 RW
|
||||
0x3ff9fd68: 0x3ff9fc40 0x3ff9e014 0x3ffbeb98 0x3ffbeb98
|
||||
0x3ff9fd78: 0x3ff9fd68 0x3ffbeb90 0x00000003 0x4d870b8b
|
||||
0x3ff9fd88: 0xedf62148 0x3ff9fd68 0x00000000 0x00000016
|
||||
0x3ff9fd98: 0x3ff9ed64 0x5f707365 0x656d6974 0x0e920072
|
||||
0x3ff9fda8: 0x00736207 0x00000000 0x3ff9fd60 0x00000016
|
||||
0x3ff9fdb8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fdc8: 0x3ff9e82c 0x3ff9e894 0x3ff9e8fc 0x00000000
|
||||
0x3ff9fdd8: 0x00000000 0x00000001 0x00000000 0x00000000
|
||||
0x3ff9fde8: 0x00000000 0x4001a480 0x00000000 0x00000000
|
||||
0x3ff9fdf8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fe08: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fe18: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fe28: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fe38: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fe48: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fe58: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fe68: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fe78: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fe88: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fe98: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fea8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9feb8: 0x3ff90001
|
||||
.coredump.tasks.data 0x3ff9fc40 0x120 RW
|
||||
0x3ff9fc40: 0x40023e98 0x4001a8d4 0x00060e30 0x8002891c
|
||||
0x3ff9fc50: 0x3ff9fcd0 0x00060e23 0x00000000 0x00060e20
|
||||
0x3ff9fc60: 0x3fffde70 0x3fffdec0 0x00000004 0x80025339
|
||||
0x3ff9fc70: 0x3ff9fca0 0x3ffbd130 0x00000000 0x3fffe2d0
|
||||
0x3ff9fc80: 0x3fffe2b0 0x3f408000 0x3f000220 0x0000000a
|
||||
0x3ff9fc90: 0x0000ffff 0x00000000 0x40023f00 0x3fffe2b0
|
||||
0x3ff9fca0: 0x40026670 0x3ff9c644 0xa5a5a5a5 0xa5a5a5a5
|
||||
0x3ff9fcb0: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
|
||||
0x3ff9fcc0: 0x80028226 0x3ff9fce0 0x3ffbcff8 0x00000000
|
||||
0x3ff9fcd0: 0x8008586c 0x3ff9fd00 0x3ff9fe68 0x3ffbcff8
|
||||
0x3ff9fce0: 0x00000000 0x3fffe1d0 0x00060123 0x00000000
|
||||
0x3ff9fcf0: 0x800287ec 0x3ff9fd20 0x00000000 0x00000000
|
||||
0x3ff9fd00: 0x00000001 0x3fffe1f0 0x00060123 0x00000000
|
||||
0x3ff9fd10: 0x00000000 0x3ff9fd40 0x40085860 0x00000000
|
||||
0x3ff9fd20: 0x00060123 0x3ffbeb58 0x00000000 0x00000001
|
||||
0x3ff9fd30: 0x00000000 0x3ff9fd60 0x00000000 0x00000000
|
||||
0x3ff9fd40: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ff9fd50: 0x80095b37 0x3fffe280 0x3ffbeb88 0x00000000
|
||||
|
||||
===================== ESP32 CORE DUMP END =====================
|
||||
===============================================================
|
||||
Done!
|
@ -1,745 +0,0 @@
|
||||
espcoredump.py v0.4-dev
|
||||
===============================================================
|
||||
==================== ESP32 CORE DUMP START ====================
|
||||
|
||||
Crashed task handle: 0x3ffb6260, name: 'unaligned_ptr_t', GDB name: 'process 1073439328'
|
||||
|
||||
================== CURRENT THREAD REGISTERS ===================
|
||||
exccause 0x1d (StoreProhibitedCause)
|
||||
excvaddr 0x5
|
||||
epc1 0x400e8547
|
||||
epc2 0x0
|
||||
epc3 0x0
|
||||
epc4 0x40082c40
|
||||
epc5 0x0
|
||||
epc6 0x0
|
||||
epc7 0x0
|
||||
eps2 0x0
|
||||
eps3 0x0
|
||||
eps4 0x60820
|
||||
eps5 0x0
|
||||
eps6 0x0
|
||||
eps7 0x0
|
||||
pc 0x400d0e45 0x400d0e45 <recur_func+29>
|
||||
lbeg 0x400014fd 1073747197
|
||||
lend 0x4000150d 1073747213
|
||||
lcount 0xffffffff 4294967295
|
||||
sar 0x0 0
|
||||
ps 0x60820 395296
|
||||
threadptr <unavailable>
|
||||
br <unavailable>
|
||||
scompare1 <unavailable>
|
||||
acclo <unavailable>
|
||||
acchi <unavailable>
|
||||
m0 <unavailable>
|
||||
m1 <unavailable>
|
||||
m2 <unavailable>
|
||||
m3 <unavailable>
|
||||
expstate <unavailable>
|
||||
f64r_lo <unavailable>
|
||||
f64r_hi <unavailable>
|
||||
f64s <unavailable>
|
||||
fcr <unavailable>
|
||||
fsr <unavailable>
|
||||
a0 0x800d0e20 -2146628064
|
||||
a1 0x3ffbaad0 1073457872
|
||||
a2 0x2 2
|
||||
a3 0x3ffbab1c 1073457948
|
||||
a4 0x3ffbab10 1073457936
|
||||
a5 0x3ffae970 1073408368
|
||||
a6 0x0 0
|
||||
a7 0x0 0
|
||||
a8 0x5 5
|
||||
a9 0xffffffad -83
|
||||
a10 0x20 32
|
||||
a11 0x3ffb62e0 1073439456
|
||||
a12 0x1 1
|
||||
a13 0x80 128
|
||||
a14 0x1 1
|
||||
a15 0x0 0
|
||||
|
||||
==================== CURRENT THREAD STACK =====================
|
||||
#0 0x400d0e45 in recur_func () at /home/alexey/projects/esp/esp-idf/components/espcoredump/test/test_core_dump.c:61
|
||||
#1 0x400d0e20 in bad_ptr_task (pvParameter=0x1) at /home/alexey/projects/esp/esp-idf/components/espcoredump/test/test_core_dump.c:44
|
||||
#2 0x400d0e20 in bad_ptr_task (pvParameter=0xa) at /home/alexey/projects/esp/esp-idf/components/espcoredump/test/test_core_dump.c:44
|
||||
#3 0x400d0e68 in recur_func () at /home/alexey/projects/esp/esp-idf/components/espcoredump/test/test_core_dump.c:68
|
||||
#4 0x40088160 in xthal_restore_extra_nw () at /Users/igrokhotkov/e/esp32/hal/hal/state_asm.S:97
|
||||
|
||||
======================== THREADS INFO =========================
|
||||
Id Target Id Frame
|
||||
* 1 process 1073439328 0x400d0e45 in recur_func () at /home/alexey/projects/esp/esp-idf/components/espcoredump/test/test_core_dump.c:61
|
||||
2 process 1073455736 0x400092dc in ?? ()
|
||||
3 process 1073444404 0x400e85b2 in intrusive_list<nvs::HashList::HashListBlock>::intrusive_list (this=0x0) at /home/alexey/projects/esp/esp-idf/components/nvs_flash/src/intrusive_list.h:33
|
||||
4 process 1073442456 0x400e85b2 in intrusive_list<nvs::HashList::HashListBlock>::intrusive_list (this=0x0) at /home/alexey/projects/esp/esp-idf/components/nvs_flash/src/intrusive_list.h:33
|
||||
5 process 1073438932 0x40081414 in esp_crosscore_isr (arg=0x0) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:60
|
||||
6 process 1073439832 0x40081414 in esp_crosscore_isr (arg=0x0) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:60
|
||||
7 process 1073447132 0x40081414 in esp_crosscore_isr (arg=0x0) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:60
|
||||
8 process 1073412916 0x40081414 in esp_crosscore_isr (arg=0x0) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:60
|
||||
9 process 1073434712 xQueueGenericReceive (xQueue=0x3ffb4bdc <tasks+576>, pvBuffer=0x0, xTicksToWait=<optimized out>, xJustPeeking=0) at /home/alexey/projects/esp/esp-idf/components/freertos/queue.c:1546
|
||||
10 process 1073432952 0x40081414 in esp_crosscore_isr (arg=0x0) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:60
|
||||
|
||||
==================== THREAD 1 (TCB: 0x3ffb6260, name: 'unaligned_ptr_t') =====================
|
||||
#0 0x400d0e45 in recur_func () at /home/alexey/projects/esp/esp-idf/components/espcoredump/test/test_core_dump.c:61
|
||||
#1 0x400d0e20 in bad_ptr_task (pvParameter=0x1) at /home/alexey/projects/esp/esp-idf/components/espcoredump/test/test_core_dump.c:44
|
||||
#2 0x400d0e20 in bad_ptr_task (pvParameter=0xa) at /home/alexey/projects/esp/esp-idf/components/espcoredump/test/test_core_dump.c:44
|
||||
#3 0x400d0e68 in recur_func () at /home/alexey/projects/esp/esp-idf/components/espcoredump/test/test_core_dump.c:68
|
||||
#4 0x40088160 in xthal_restore_extra_nw () at /Users/igrokhotkov/e/esp32/hal/hal/state_asm.S:97
|
||||
|
||||
==================== THREAD 2 (TCB: 0x3ffba278, name: 'unityTask') =====================
|
||||
#0 0x400092dc in ?? ()
|
||||
#1 0x4000930f in ?? ()
|
||||
#2 0x400d60b7 in uart_tx_wait_idle (uart_no=<optimized out>) at ../../../components/esp_rom/include/esp32/rom/uart.h:272
|
||||
#3 unity_flush () at /home/alexey/projects/esp/esp-idf/components/unity/unity_port_esp32.c:41
|
||||
#4 0x400d5cba in unity_run_tests_by_tag (tag=0x1 <error: Cannot access memory at address 0x1>, invert=160) at /home/alexey/projects/esp/esp-idf/components/unity/unity_runner.c:199
|
||||
#5 0x400d6127 in unity_gets (dst=0x0, len=0) at /home/alexey/projects/esp/esp-idf/components/unity/unity_port_esp32.c:70
|
||||
#6 0x40088160 in xthal_restore_extra_nw () at /Users/igrokhotkov/e/esp32/hal/hal/state_asm.S:97
|
||||
|
||||
==================== THREAD 3 (TCB: 0x3ffb7634, name: 'IDLE1') =====================
|
||||
#0 0x400e85b2 in intrusive_list<nvs::HashList::HashListBlock>::intrusive_list (this=0x0) at /home/alexey/projects/esp/esp-idf/components/nvs_flash/src/intrusive_list.h:33
|
||||
#1 nvs::HashList::HashList (this=0x0) at /home/alexey/projects/esp/esp-idf/components/nvs_flash/src/nvs_item_hash_list.cpp:20
|
||||
#2 0x400d3852 in esp_timer_init () at /home/alexey/projects/esp/esp-idf/components/esp_common/src/esp_timer.c:365
|
||||
#3 0x40089d89 in prvCheckTasksWaitingTermination () at /home/alexey/projects/esp/esp-idf/components/freertos/tasks.c:3630
|
||||
#4 0x40088160 in xthal_restore_extra_nw () at /Users/igrokhotkov/e/esp32/hal/hal/state_asm.S:97
|
||||
|
||||
==================== THREAD 4 (TCB: 0x3ffb6e98, name: 'IDLE0') =====================
|
||||
#0 0x400e85b2 in intrusive_list<nvs::HashList::HashListBlock>::intrusive_list (this=0x0) at /home/alexey/projects/esp/esp-idf/components/nvs_flash/src/intrusive_list.h:33
|
||||
#1 nvs::HashList::HashList (this=0x0) at /home/alexey/projects/esp/esp-idf/components/nvs_flash/src/nvs_item_hash_list.cpp:20
|
||||
#2 0x400d3852 in esp_timer_init () at /home/alexey/projects/esp/esp-idf/components/esp_common/src/esp_timer.c:365
|
||||
#3 0x40089d89 in prvCheckTasksWaitingTermination () at /home/alexey/projects/esp/esp-idf/components/freertos/tasks.c:3630
|
||||
#4 0x40088160 in xthal_restore_extra_nw () at /Users/igrokhotkov/e/esp32/hal/hal/state_asm.S:97
|
||||
|
||||
==================== THREAD 5 (TCB: 0x3ffb60d4, name: 'bad_ptr_task') =====================
|
||||
#0 0x40081414 in esp_crosscore_isr (arg=0x0) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:60
|
||||
#1 0x40089b5e in vTaskDelay (xTicksToDelay=72812) at /home/alexey/projects/esp/esp-idf/components/freertos/tasks.c:1437
|
||||
#2 0x400d0de3 in bad_ptr_func () at /home/alexey/projects/esp/esp-idf/components/espcoredump/test/test_core_dump.c:30
|
||||
#3 0x40088160 in xthal_restore_extra_nw () at /Users/igrokhotkov/e/esp32/hal/hal/state_asm.S:97
|
||||
|
||||
==================== THREAD 6 (TCB: 0x3ffb6458, name: 'failed_assert_t') =====================
|
||||
#0 0x40081414 in esp_crosscore_isr (arg=0x0) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:60
|
||||
#1 0x40089b5e in vTaskDelay (xTicksToDelay=72812) at /home/alexey/projects/esp/esp-idf/components/freertos/tasks.c:1437
|
||||
#2 0x400d0d23 in _stext () at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:111
|
||||
#3 0x40088160 in xthal_restore_extra_nw () at /Users/igrokhotkov/e/esp32/hal/hal/state_asm.S:97
|
||||
|
||||
==================== THREAD 7 (TCB: 0x3ffb80dc, name: 'Tmr Svc') =====================
|
||||
#0 0x40081414 in esp_crosscore_isr (arg=0x0) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:60
|
||||
#1 0x4008a901 in prvProcessTimerOrBlockTask (xNextExpireTime=1073428956, xListWasEmpty=0) at /home/alexey/projects/esp/esp-idf/components/freertos/timers.c:553
|
||||
#2 0x4008aa33 in prvProcessReceivedCommands () at /home/alexey/projects/esp/esp-idf/components/freertos/timers.c:803
|
||||
#3 0x40088160 in xthal_restore_extra_nw () at /Users/igrokhotkov/e/esp32/hal/hal/state_asm.S:97
|
||||
|
||||
==================== THREAD 8 (TCB: 0x3ffafb34, name: 'esp_timer') =====================
|
||||
#0 0x40081414 in esp_crosscore_isr (arg=0x0) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:60
|
||||
#1 0x40088d34 in xQueueGenericReceive (xQueue=0x3ffaeab8, pvBuffer=<optimized out>, xTicksToWait=<optimized out>, xJustPeeking=0) at /home/alexey/projects/esp/esp-idf/components/freertos/queue.c:1542
|
||||
#2 0x400d378b in timer_process_alarm (dispatch_method=<optimized out>) at /home/alexey/projects/esp/esp-idf/components/esp_common/src/esp_timer.c:304
|
||||
#3 0x40088160 in xthal_restore_extra_nw () at /Users/igrokhotkov/e/esp32/hal/hal/state_asm.S:97
|
||||
|
||||
==================== THREAD 9 (TCB: 0x3ffb5058, name: 'ipc1') =====================
|
||||
#0 xQueueGenericReceive (xQueue=0x3ffb4bdc <tasks+576>, pvBuffer=0x0, xTicksToWait=<optimized out>, xJustPeeking=0) at /home/alexey/projects/esp/esp-idf/components/freertos/queue.c:1546
|
||||
#1 0x40081d0f in esp_vApplicationTickHook () at /home/alexey/projects/esp/esp-idf/components/esp_common/src/freertos_hooks.c:41
|
||||
#2 0x40088160 in xthal_restore_extra_nw () at /Users/igrokhotkov/e/esp32/hal/hal/state_asm.S:97
|
||||
|
||||
==================== THREAD 10 (TCB: 0x3ffb4978, name: 'ipc0') =====================
|
||||
#0 0x40081414 in esp_crosscore_isr (arg=0x0) at /home/alexey/projects/esp/esp-idf/components/esp32/crosscore_int.c:60
|
||||
#1 0x40088d34 in xQueueGenericReceive (xQueue=0x3ffb44fc <s_mmap_last_handle>, pvBuffer=<optimized out>, xTicksToWait=<optimized out>, xJustPeeking=0) at /home/alexey/projects/esp/esp-idf/components/freertos/queue.c:1542
|
||||
#2 0x40081d0f in esp_vApplicationTickHook () at /home/alexey/projects/esp/esp-idf/components/esp_common/src/freertos_hooks.c:41
|
||||
#3 0x40088160 in xthal_restore_extra_nw () at /Users/igrokhotkov/e/esp32/hal/hal/state_asm.S:97
|
||||
|
||||
|
||||
======================= ALL MEMORY REGIONS ========================
|
||||
Name Address Size Attrs
|
||||
.rtc.text 0x400c0000 0x0 RW
|
||||
.rtc.dummy 0x3ff80000 0x0 RW
|
||||
.rtc.force_fast 0x3ff80000 0x0 RW
|
||||
.rtc_noinit 0x50000200 0x0 RW
|
||||
.rtc.force_slow 0x50000200 0x0 RW
|
||||
.iram0.vectors 0x40080000 0x403 R XA
|
||||
.iram0.text 0x40080404 0xa970 RWXA
|
||||
.dram0.data 0x3ffb0000 0x3474 RW A
|
||||
.noinit 0x3ffb3474 0x0 RW
|
||||
.flash.rodata 0x3f400020 0x6e4c RW A
|
||||
.flash.text 0x400d0020 0x188ef R XA
|
||||
.iram0.text_end 0x4008ad74 0x0 RW
|
||||
.dram0.heap_start 0x3ffb4cf0 0x0 RW
|
||||
.coredump.tasks.data 0x3ffb6260 0x17c RW
|
||||
.coredump.tasks.data 0x3ffbaa10 0x1f0 RW
|
||||
.coredump.tasks.data 0x3ffba278 0x17c RW
|
||||
.coredump.tasks.data 0x3ffb9f60 0x304 RW
|
||||
.coredump.tasks.data 0x3ffb7634 0x17c RW
|
||||
.coredump.tasks.data 0x3ffb7480 0x1a0 RW
|
||||
.coredump.tasks.data 0x3ffb6e98 0x17c RW
|
||||
.coredump.tasks.data 0x3ffb6ce0 0x1a4 RW
|
||||
.coredump.tasks.data 0x3ffb60d4 0x17c RW
|
||||
.coredump.tasks.data 0x3ffb5f20 0x1a0 RW
|
||||
.coredump.tasks.data 0x3ffb6458 0x17c RW
|
||||
.coredump.tasks.data 0x3ffbb270 0x1a0 RW
|
||||
.coredump.tasks.data 0x3ffb80dc 0x17c RW
|
||||
.coredump.tasks.data 0x3ffb7f00 0x1c8 RW
|
||||
.coredump.tasks.data 0x3ffafb34 0x17c RW
|
||||
.coredump.tasks.data 0x3ffaf960 0x1c0 RW
|
||||
.coredump.tasks.data 0x3ffb5058 0x17c RW
|
||||
.coredump.tasks.data 0x3ffb4ea0 0x1a4 RW
|
||||
.coredump.tasks.data 0x3ffb4978 0x17c RW
|
||||
.coredump.tasks.data 0x3ffb47a0 0x1c4 RW
|
||||
|
||||
====================== CORE DUMP MEMORY CONTENTS ========================
|
||||
.coredump.tasks.data 0x3ffb6260 0x17c RW
|
||||
0x3ffb6260: 0x3ffbaa80 0x3ffbaba0 0x00011884 0x3ffb3870
|
||||
0x3ffb6270: 0x3ffb3870 0x3ffb6260 0x3ffb3868 0x00000012
|
||||
0x3ffb6280: 0x3ffb6418 0x3ffb6418 0x3ffb6260 0x00000000
|
||||
0x3ffb6290: 0x00000007 0x3ffba404 0x6c616e75 0x656e6769
|
||||
0x3ffb62a0: 0x74705f64 0x00745f72 0x00000001 0x3ffbac00
|
||||
0x3ffb62b0: 0x00000000 0x00060c20 0x0000000f 0xcececece
|
||||
0x3ffb62c0: 0x00000007 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb62d0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb62e0: 0x00000000 0x3ffae908 0x3ffae970 0x3ffae9d8
|
||||
0x3ffb62f0: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb6300: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb6310: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6320: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6330: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6340: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6350: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6360: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6370: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6380: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6390: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb63a0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb63b0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb63c0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb63d0: 0x00000000 0x00000000 0xcecece00
|
||||
.coredump.tasks.data 0x3ffbaa10 0x1f0 RW
|
||||
0x3ffbaa10: 0xdeadbeef 0x400d0e45 0x00060830 0x800d0e20
|
||||
0x3ffbaa20: 0x3ffbaad0 0x00000002 0x3ffbab1c 0x3ffbab10
|
||||
0x3ffbaa30: 0x3ffae970 0x00000000 0x00000000 0x00000005
|
||||
0x3ffbaa40: 0xffffffad 0x00000020 0x3ffb62e0 0x00000001
|
||||
0x3ffbaa50: 0x00000080 0x00000001 0x00000000 0x00000000
|
||||
0x3ffbaa60: 0x0000001d 0x00000005 0x400014fd 0x4000150d
|
||||
0x3ffbaa70: 0xffffffff 0x00000001 0x00000080 0x40082404
|
||||
0x3ffbaa80: 0x3ffb3edc 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbaa90: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbaaa0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbaab0: 0x00000001 0x00000080 0x00000001 0x00000000
|
||||
0x3ffbaac0: 0x800d0e20 0x3ffbab00 0x00000001 0x3ffae970
|
||||
0x3ffbaad0: 0x800db5bc 0x3ffbab00 0x0000000a 0x00000003
|
||||
0x3ffbaae0: 0x3ffbab10 0x3ffae970 0x00000000 0x00000000
|
||||
0x3ffbaaf0: 0x800d0e68 0x3ffbab30 0x0000000a 0x3ffb0c94
|
||||
0x3ffbab00: 0x3f400294 0x0000001e 0x3f4057e6 0x00000003
|
||||
0x3ffbab10: 0x80088da4 0x3ffb5f10 0x00000001 0xd0bc01ef
|
||||
0x3ffbab20: 0x80088160 0x3ffbab60 0x00000000 0x00000000
|
||||
0x3ffbab30: 0x80088160 0x3ffbab60 0x00000000 0x00000003
|
||||
0x3ffbab40: 0x00000020 0x80000000 0x00060021 0x00000001
|
||||
0x3ffbab50: 0x00000000 0x3ffbab80 0x400d0e50 0x00000000
|
||||
0x3ffbab60: 0x00060023 0x3ffb3870 0x3ffb6260 0x00000000
|
||||
0x3ffbab70: 0x00000000 0x3ffbaba0 0x00000000 0x00000000
|
||||
0x3ffbab80: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbab90: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbaba0: 0x00000000 0x00000000 0x3ffbabac 0x00000000
|
||||
0x3ffbabb0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbabc0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbabd0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbabe0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbabf0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
.coredump.tasks.data 0x3ffba278 0x17c RW
|
||||
0x3ffba278: 0x3ffb9f60 0x3ffba200 0x000114a1 0x3ffb3848
|
||||
0x3ffba288: 0x3ffb3848 0x3ffba278 0x3ffb3840 0x00000014
|
||||
0x3ffba298: 0x3ffb4b9c 0x3ffb4b9c 0x3ffba278 0x00000000
|
||||
0x3ffba2a8: 0x00000005 0x3ffb8268 0x74696e75 0x73615479
|
||||
0x3ffba2b8: 0xcece006b 0x00cecece 0x00000000 0x3ffba264
|
||||
0x3ffba2c8: 0x00000000 0x00060021 0x0000000c 0xcececece
|
||||
0x3ffba2d8: 0x00000005 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba2e8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba2f8: 0x00000000 0x3ffae908 0x3ffae970 0x3ffae9d8
|
||||
0x3ffba308: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffba318: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffba328: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba338: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba348: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba358: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba368: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba378: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba388: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba398: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba3a8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba3b8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba3c8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba3d8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba3e8: 0x00000000 0x00000000 0xcecece00
|
||||
.coredump.tasks.data 0x3ffb9f60 0x304 RW
|
||||
0x3ffb9f60: 0x40082468 0x400092dc 0x00060530 0x8000930f
|
||||
0x3ffb9f70: 0x3ffba020 0x3ffba09c 0x00000000 0x00000000
|
||||
0x3ffb9f80: 0x000114d2 0x00000057 0x00000037 0x00003ff4
|
||||
0x3ffb9f90: 0x00000000 0x00000000 0x00000000 0x80088378
|
||||
0x3ffb9fa0: 0x3ffb5ec0 0x00000000 0x3ffb8280 0x00000017
|
||||
0x3ffb9fb0: 0x0000ffff 0x00000000 0x400014fd 0x4000150d
|
||||
0x3ffb9fc0: 0xffffffff 0x40082668 0x3ffb5ec0 0x400883a0
|
||||
0x3ffb9fd0: 0x3ffb353c 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb9fe0: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb9ff0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba000: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba010: 0x800d60b7 0x3ffba040 0x3ffba09c 0x000000ff
|
||||
0x3ffba020: 0x3ffb353c 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba030: 0x800d5cba 0x3ffba060 0x3ffba09c 0x000000ff
|
||||
0x3ffba040: 0xc0045f65 0x0000ff00 0x00ff0000 0xff000000
|
||||
0x3ffba050: 0x800d6127 0x3ffba090 0x00000001 0x3ffba1a0
|
||||
0x3ffba060: 0x800d6127 0x3ffba090 0x00000001 0xd0bc01ef
|
||||
0x3ffba070: 0x000000fe 0x3ffba19c 0x00000000 0x00000010
|
||||
0x3ffba080: 0x80088160 0x3ffba1c0 0x00000000 0x00000000
|
||||
0x3ffba090: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0x00000000
|
||||
0x3ffba0a0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba0b0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba0c0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba0d0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba0e0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba0f0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba100: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba110: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba120: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba130: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba140: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba150: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba160: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba170: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba180: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba190: 0x00000000 0x00000000 0x00000000 0xd0bc01ef
|
||||
0x3ffba1a0: 0x3ffba09c 0x80000000 0x00060021 0x3ffb5700
|
||||
0x3ffba1b0: 0x00000000 0x3ffba1e0 0x400d611c 0x00000000
|
||||
0x3ffba1c0: 0x00060023 0x3ffb3848 0x3ffba278 0x00000000
|
||||
0x3ffba1d0: 0x00000000 0x3ffba200 0x00000000 0x00000000
|
||||
0x3ffba1e0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba1f0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba200: 0x00000000 0x00000000 0x3ffba20c 0x00000000
|
||||
0x3ffba210: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba220: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba230: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba240: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba250: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffba260: 0x00000000
|
||||
.coredump.tasks.data 0x3ffb7634 0x17c RW
|
||||
0x3ffb7634: 0x3ffb7480 0x3ffb75c0 0xcececece 0x3ffb37e4
|
||||
0x3ffb7644: 0x3ffb6ea0 0x3ffb7634 0x3ffb37dc 0x00000019
|
||||
0x3ffb7654: 0xcececece 0xcececece 0x3ffb7634 0x00000000
|
||||
0x3ffb7664: 0x00000000 0x3ffb7024 0x454c4449 0xcece0031
|
||||
0x3ffb7674: 0xcececece 0x00cecece 0x00000001 0x3ffb7620
|
||||
0x3ffb7684: 0x00000000 0x00060021 0x00000007 0xcececece
|
||||
0x3ffb7694: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb76a4: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb76b4: 0x00000000 0x3ffae908 0x3ffae970 0x3ffae9d8
|
||||
0x3ffb76c4: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb76d4: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb76e4: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb76f4: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7704: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7714: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7724: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7734: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7744: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7754: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7764: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7774: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7784: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7794: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb77a4: 0x00000000 0x00000000 0xcecece00
|
||||
.coredump.tasks.data 0x3ffb7480 0x1a0 RW
|
||||
0x3ffb7480: 0x40082468 0x400e85b2 0x00060030 0x800d3852
|
||||
0x3ffb7490: 0x3ffb7540 0x00000000 0x00000000 0x00000001
|
||||
0x3ffb74a0: 0x80000001 0x00000003 0x00060023 0x80089778
|
||||
0x3ffb74b0: 0x3ffb7530 0x00000003 0x00060823 0x00060820
|
||||
0x3ffb74c0: 0x00000001 0x00060820 0x3ffb84d0 0x00000000
|
||||
0x3ffb74d0: 0x0000ffff 0x00000000 0x4000c46c 0x4000c477
|
||||
0x3ffb74e0: 0xffffffff 0x40082668 0x00000001 0x400883a0
|
||||
0x3ffb74f0: 0x3ffb08fc 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7500: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7510: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7520: 0x00000000 0x40089d80 0x00000000 0x00000000
|
||||
0x3ffb7530: 0x80089d89 0x3ffb7560 0x00000008 0x00000001
|
||||
0x3ffb7540: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7550: 0x80088160 0x3ffb7580 0x00000000 0x00000000
|
||||
0x3ffb7560: 0x00000001 0x80000000 0x00060021 0x00000000
|
||||
0x3ffb7570: 0x00000000 0x3ffb75a0 0x40089d80 0x00000000
|
||||
0x3ffb7580: 0x00060023 0x3ffb37e4 0x3ffb6e98 0x00000000
|
||||
0x3ffb7590: 0x00000000 0x3ffb75c0 0x00000000 0x00000000
|
||||
0x3ffb75a0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb75b0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb75c0: 0x00000000 0x00000000 0x3ffb75cc 0x00000000
|
||||
0x3ffb75d0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb75e0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb75f0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7600: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7610: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
.coredump.tasks.data 0x3ffb6e98 0x17c RW
|
||||
0x3ffb6e98: 0x3ffb6ce0 0x3ffb6e20 0xcececece 0x3ffb763c
|
||||
0x3ffb6ea8: 0x3ffb37e4 0x3ffb6e98 0x3ffb37dc 0x00000019
|
||||
0x3ffb6eb8: 0xcececece 0xcececece 0x3ffb6e98 0x00000000
|
||||
0x3ffb6ec8: 0x00000000 0x3ffb6888 0x454c4449 0xcece0030
|
||||
0x3ffb6ed8: 0xcececece 0x00cecece 0x00000000 0x3ffb6e84
|
||||
0x3ffb6ee8: 0x00000000 0x00060021 0x00000006 0xcececece
|
||||
0x3ffb6ef8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6f08: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6f18: 0x00000000 0x3ffae908 0x3ffae970 0x3ffae9d8
|
||||
0x3ffb6f28: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb6f38: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb6f48: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6f58: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6f68: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6f78: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6f88: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6f98: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6fa8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6fb8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6fc8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6fd8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6fe8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6ff8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7008: 0x00000000 0x00000000 0xcecece00
|
||||
.coredump.tasks.data 0x3ffb6ce0 0x1a4 RW
|
||||
0x3ffb6ce0: 0x40082468 0x400e85b2 0x00060530 0x800d3852
|
||||
0x3ffb6cf0: 0x3ffb6da0 0x00000000 0x00000003 0x00000001
|
||||
0x3ffb6d00: 0x80000001 0x00000003 0x00060a23 0x8008911e
|
||||
0x3ffb6d10: 0x3ffb6d80 0x3ffb66fc 0x40001d48 0x00060420
|
||||
0x3ffb6d20: 0x00000001 0x00060420 0x00000000 0x00000000
|
||||
0x3ffb6d30: 0x0000ffff 0x00000000 0x4000c46c 0x4000c477
|
||||
0x3ffb6d40: 0xffffffff 0x40082668 0x00000001 0x400883a0
|
||||
0x3ffb6d50: 0x3ffb015c 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6d60: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6d70: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6d80: 0x00000000 0x40089d80 0x00000000 0x00000000
|
||||
0x3ffb6d90: 0x80089d89 0x3ffb6dc0 0x00000008 0x00000000
|
||||
0x3ffb6da0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6db0: 0x80088160 0x3ffb6de0 0x00000000 0x00000000
|
||||
0x3ffb6dc0: 0x00000001 0x80000000 0x00060021 0x00060b23
|
||||
0x3ffb6dd0: 0x00000000 0x3ffb6e00 0x40089d80 0x00000000
|
||||
0x3ffb6de0: 0x00060023 0x3ffb37e4 0x3ffb7634 0x00000000
|
||||
0x3ffb6df0: 0x00000000 0x3ffb6e20 0x00000000 0x00000000
|
||||
0x3ffb6e00: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6e10: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6e20: 0x00000000 0x00000000 0x3ffb6e2c 0x00000000
|
||||
0x3ffb6e30: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6e40: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6e50: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6e60: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6e70: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6e80: 0x00000000
|
||||
.coredump.tasks.data 0x3ffb60d4 0x17c RW
|
||||
0x3ffb60d4: 0x3ffb5f20 0x3ffb6060 0x00011c6c 0x3ffb37d0
|
||||
0x3ffb60e4: 0x3ffb6460 0x3ffb60d4 0x3ffb37c8 0x00000014
|
||||
0x3ffb60f4: 0xcececece 0xcececece 0x3ffb60d4 0x00000000
|
||||
0x3ffb6104: 0x00000005 0x3ffb58c4 0x5f646162 0x5f727470
|
||||
0x3ffb6114: 0x6b736174 0x00cece00 0x7fffffff 0x3ffb60c0
|
||||
0x3ffb6124: 0x00000000 0x00060021 0x0000000e 0xcececece
|
||||
0x3ffb6134: 0x00000005 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6144: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6154: 0x00000000 0x3ffae908 0x3ffae970 0x3ffae9d8
|
||||
0x3ffb6164: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb6174: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb6184: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6194: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb61a4: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb61b4: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb61c4: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb61d4: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb61e4: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb61f4: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6204: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6214: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6224: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6234: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6244: 0x00000000 0x00000000 0xcecece00
|
||||
.coredump.tasks.data 0x3ffb5f20 0x1a0 RW
|
||||
0x3ffb5f20: 0x40082468 0x40081414 0x00060330 0x80089b5e
|
||||
0x3ffb5f30: 0x3ffb5fe0 0x00000000 0x00011c6c 0x80089778
|
||||
0x3ffb5f40: 0x3ffb4ef0 0x00000003 0x00060823 0x80081414
|
||||
0x3ffb5f50: 0x3ffb5fc0 0x3ff000dc 0x00000001 0x3ffb0038
|
||||
0x3ffb5f60: 0x00000001 0x00060320 0x00000000 0x00000000
|
||||
0x3ffb5f70: 0x0000ffff 0x00000000 0x400014fd 0x4000150d
|
||||
0x3ffb5f80: 0xfffffff9 0x40082668 0x00000001 0x400883a0
|
||||
0x3ffb5f90: 0x3ffaf39c 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5fa0: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5fb0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5fc0: 0x3f400230 0x00000018 0x3f4057e6 0x00000001
|
||||
0x3ffb5fd0: 0x800d0de3 0x3ffb6000 0x00011c6c 0x3ffb0c94
|
||||
0x3ffb5fe0: 0x80089778 0x3ffb4ef0 0x00000003 0x00060823
|
||||
0x3ffb5ff0: 0x80088160 0x3ffb6020 0x00000000 0x00000000
|
||||
0x3ffb6000: 0x00000020 0x80000000 0x00060021 0x00000000
|
||||
0x3ffb6010: 0x00000000 0x3ffb6040 0x400d0dd4 0x00000000
|
||||
0x3ffb6020: 0x00060023 0x3ffb3848 0x3ffba278 0x00000000
|
||||
0x3ffb6030: 0x00000000 0x3ffb6060 0x00000000 0x00000000
|
||||
0x3ffb6040: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6050: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6060: 0x00000000 0x00000000 0x3ffb606c 0x00000000
|
||||
0x3ffb6070: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6080: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6090: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb60a0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb60b0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
.coredump.tasks.data 0x3ffb6458 0x17c RW
|
||||
0x3ffb6458: 0x3ffbb270 0x3ffbb3b0 0x00011c6c 0x3ffb60dc
|
||||
0x3ffb6468: 0x3ffb37d0 0x3ffb6458 0x3ffb37c8 0x0000000f
|
||||
0x3ffb6478: 0xcececece 0xcececece 0x3ffb6458 0x00000000
|
||||
0x3ffb6488: 0x0000000a 0x3ffbac14 0x6c696166 0x615f6465
|
||||
0x3ffb6498: 0x72657373 0x00745f74 0x00000000 0x3ffbb410
|
||||
0x3ffb64a8: 0x00000000 0x00060021 0x00000010 0xcececece
|
||||
0x3ffb64b8: 0x0000000a 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb64c8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb64d8: 0x00000000 0x3ffae908 0x3ffae970 0x3ffae9d8
|
||||
0x3ffb64e8: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb64f8: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb6508: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6518: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6528: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6538: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6548: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6558: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6568: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6578: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6588: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb6598: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb65a8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb65b8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb65c8: 0x00000000 0x00000000 0xcecece00
|
||||
.coredump.tasks.data 0x3ffbb270 0x1a0 RW
|
||||
0x3ffbb270: 0x40082468 0x40081414 0x00060130 0x80089b5e
|
||||
0x3ffbb280: 0x3ffbb330 0x00000000 0x00011c6c 0x800d5871
|
||||
0x3ffbb290: 0x3ffb9fd0 0x00000800 0x3ffb0004 0x80081414
|
||||
0x3ffbb2a0: 0x3ffbb310 0x3ff000dc 0x00000001 0x3ffb0038
|
||||
0x3ffbb2b0: 0x00000001 0x00060120 0x00000000 0x00000000
|
||||
0x3ffbb2c0: 0x0000ffff 0x00000000 0x400014fd 0x4000150d
|
||||
0x3ffbb2d0: 0xfffffff8 0x40082668 0x00000001 0x400883a0
|
||||
0x3ffbb2e0: 0x3ffb46ec 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbb2f0: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbb300: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbb310: 0x3f400144 0x0000001e 0x3f4057e6 0x00000001
|
||||
0x3ffbb320: 0x800d0d23 0x3ffbb350 0x00011c6c 0x3ffb0c94
|
||||
0x3ffbb330: 0x800d5871 0x3ffb9fd0 0x00000800 0x3ffb0004
|
||||
0x3ffbb340: 0x80088160 0x3ffbb370 0x00000000 0x00000000
|
||||
0x3ffbb350: 0x00000020 0x80000000 0x00060021 0x00000000
|
||||
0x3ffbb360: 0x00000000 0x3ffbb390 0x400d0d14 0x00000000
|
||||
0x3ffbb370: 0x00060023 0x3ffb38ac 0x3ffb6458 0x00000000
|
||||
0x3ffbb380: 0x00000000 0x3ffbb3b0 0x00000000 0x00000000
|
||||
0x3ffbb390: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbb3a0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbb3b0: 0x00000000 0x00000000 0x3ffbb3bc 0x00000000
|
||||
0x3ffbb3c0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbb3d0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbb3e0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbb3f0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffbb400: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
.coredump.tasks.data 0x3ffb80dc 0x17c RW
|
||||
0x3ffb80dc: 0x3ffb7f00 0x3ffb8060 0x00000000 0x3ffb37bc
|
||||
0x3ffb80ec: 0x3ffb37bc 0x3ffb80dc 0x3ffb37b4 0x00000018
|
||||
0x3ffb80fc: 0x3ffb77ec 0x3ffb77ec 0x3ffb80dc 0x3ffb77e4
|
||||
0x3ffb810c: 0x00000001 0x3ffb78cc 0x20726d54 0x00637653
|
||||
0x3ffb811c: 0xcececece 0x00cecece 0x00000000 0x3ffb80c8
|
||||
0x3ffb812c: 0x00000000 0x00060021 0x00000008 0xcececece
|
||||
0x3ffb813c: 0x00000001 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb814c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb815c: 0x00000000 0x3ffae908 0x3ffae970 0x3ffae9d8
|
||||
0x3ffb816c: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb817c: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb818c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb819c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb81ac: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb81bc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb81cc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb81dc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb81ec: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb81fc: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb820c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb821c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb822c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb823c: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb824c: 0x00000000 0x00000000 0xcecece00
|
||||
.coredump.tasks.data 0x3ffb7f00 0x1c8 RW
|
||||
0x3ffb7f00: 0x40082468 0x40081414 0x00060030 0x8008a901
|
||||
0x3ffb7f10: 0x3ffb7fc0 0x00000000 0x00000000 0x3ffb7814
|
||||
0x3ffb7f20: 0x00000000 0x00000000 0x3ffb5450 0x80081414
|
||||
0x3ffb7f30: 0x3ffb7fa0 0x3ff000dc 0x00000001 0x3ffb0038
|
||||
0x3ffb7f40: 0x3ffb5460 0x400d2b50 0x00000000 0x00000000
|
||||
0x3ffb7f50: 0x0000ffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7f60: 0x00000000 0x40082668 0x3ffb5460 0x400883a0
|
||||
0x3ffb7f70: 0x3ffb139c 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7f80: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7f90: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb7fa0: 0x40082468 0x40088158 0x00050030 0xd0bc01ef
|
||||
0x3ffb7fb0: 0x8008aa33 0x3ffb7fe0 0x3ffb39dc 0x00000000
|
||||
0x3ffb7fc0: 0x00000000 0x4008aa18 0x00000000 0x00000000
|
||||
0x3ffb7fd0: 0x80088160 0x3ffb8010 0x00000000 0x00000000
|
||||
0x3ffb7fe0: 0x00000000 0x00000000 0x00000000 0xd0bc01ef
|
||||
0x3ffb7ff0: 0x00000001 0x80000000 0x00060021 0x00060023
|
||||
0x3ffb8000: 0x00000000 0x3ffb8040 0x4008aa18 0x00000000
|
||||
0x3ffb8010: 0x3ffb139c 0x00000000 0x00000001 0xd0bc01ef
|
||||
0x3ffb8020: 0x00060023 0x3ffb37f8 0x3ffb66fc 0x00000000
|
||||
0x3ffb8030: 0x00000000 0x3ffb8060 0x00000000 0x00000000
|
||||
0x3ffb8040: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8050: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8060: 0x00000000 0x00000000 0x3ffb806c 0x00000000
|
||||
0x3ffb8070: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8080: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb8090: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb80a0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb80b0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb80c0: 0x00000000 0x00000000
|
||||
.coredump.tasks.data 0x3ffafb34 0x17c RW
|
||||
0x3ffafb34: 0x3ffaf960 0x3ffafac0 0xcececece 0x3ffb5060
|
||||
0x3ffafb44: 0x3ffb4980 0x3ffafb34 0x3ffb3758 0x00000003
|
||||
0x3ffafb54: 0x3ffaeae4 0x3ffaeae4 0x3ffafb34 0x3ffaeadc
|
||||
0x3ffafb64: 0x00000016 0x3ffaeb24 0x5f707365 0x656d6974
|
||||
0x3ffafb74: 0xcece0072 0x00cecece 0x00000000 0x3ffafb20
|
||||
0x3ffafb84: 0x00000000 0x00060021 0x00000001 0xcececece
|
||||
0x3ffafb94: 0x00000016 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafba4: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafbb4: 0x00000000 0x3ffae908 0x3ffae970 0x3ffae9d8
|
||||
0x3ffafbc4: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffafbd4: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffafbe4: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafbf4: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafc04: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafc14: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafc24: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafc34: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafc44: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafc54: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafc64: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafc74: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafc84: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafc94: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafca4: 0x00000000 0x00000000 0xcecece00
|
||||
.coredump.tasks.data 0x3ffaf960 0x1c0 RW
|
||||
0x3ffaf960: 0x40082468 0x40081414 0x00060630 0x80088d34
|
||||
0x3ffaf970: 0x3ffafa20 0x00000000 0x00000000 0x3ffb39d0
|
||||
0x3ffaf980: 0x00000015 0x00000055 0x3ffb48d0 0x80081414
|
||||
0x3ffaf990: 0x3ffafa00 0x3ff000dc 0x00000001 0x3ffb0038
|
||||
0x3ffaf9a0: 0x00000001 0x00060620 0x00000000 0x00000000
|
||||
0x3ffaf9b0: 0x0000ffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf9c0: 0x00000000 0x40082668 0x00000001 0x400883a0
|
||||
0x3ffaf9d0: 0x3ffa8dfc 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf9e0: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffaf9f0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafa00: 0x40082468 0x40088158 0x00050030 0x00000000
|
||||
0x3ffafa10: 0x800d378b 0x3ffafa40 0x3ffaeab8 0x00000000
|
||||
0x3ffafa20: 0x00000000 0x400d3778 0x00000000 0x00000000
|
||||
0x3ffafa30: 0x80088160 0x3ffafa80 0x00000000 0x00000000
|
||||
0x3ffafa40: 0x00000000 0x00000000 0x00000000 0xffffffff
|
||||
0x3ffafa50: 0x00000000 0x00000000 0x0000c48c 0xd0bc01ef
|
||||
0x3ffafa60: 0x3ffaeb0c 0x00000000 0x00000001 0x00060e23
|
||||
0x3ffafa70: 0x00000000 0x3ffafaa0 0x400d3778 0x00000000
|
||||
0x3ffafa80: 0x00060023 0x3ffb399c 0x3ffafb34 0x00000000
|
||||
0x3ffafa90: 0x00000000 0x3ffafac0 0x00000000 0x00000000
|
||||
0x3ffafaa0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafab0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafac0: 0x00000000 0x00000000 0x3ffafacc 0x00000000
|
||||
0x3ffafad0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafae0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafaf0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafb00: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffafb10: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
.coredump.tasks.data 0x3ffb5058 0x17c RW
|
||||
0x3ffb5058: 0x3ffb4ea0 0x3ffb4fe0 0xcececece 0x3ffb3760
|
||||
0x3ffb5068: 0x3ffafb3c 0x3ffb5058 0x3ffb3758 0x00000001
|
||||
0x3ffb5078: 0x3ffb4c08 0x3ffb4c08 0x3ffb5058 0x3ffb4c00
|
||||
0x3ffb5088: 0x00000018 0x3ffb4c48 0x31637069 0xcecece00
|
||||
0x3ffb5098: 0xcececece 0x00cecece 0x00000001 0x3ffb5044
|
||||
0x3ffb50a8: 0x00000000 0x00060021 0x00000003 0xcececece
|
||||
0x3ffb50b8: 0x00000018 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb50c8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb50d8: 0x00000000 0x3ffae908 0x3ffae970 0x3ffae9d8
|
||||
0x3ffb50e8: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb50f8: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb5108: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5118: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5128: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5138: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5148: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5158: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5168: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5178: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5188: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5198: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb51a8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb51b8: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb51c8: 0x00000000 0x00000000 0xcecece00
|
||||
.coredump.tasks.data 0x3ffb4ea0 0x1a4 RW
|
||||
0x3ffb4ea0: 0x40082468 0x40088d34 0x00060830 0x80081d0f
|
||||
0x3ffb4eb0: 0x3ffb4f60 0x3ffb4bdc 0x00000000 0x3ffb4c30
|
||||
0x3ffb4ec0: 0x00000000 0x00000001 0x00000000 0x80088d34
|
||||
0x3ffb4ed0: 0x3ffb4f40 0x00000001 0x00000004 0x3ffb39d4
|
||||
0x3ffb4ee0: 0x0000000a 0x00800000 0x3ff4001c 0x00000000
|
||||
0x3ffb4ef0: 0x0000ffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4f00: 0x00000000 0x40082668 0x0000000a 0x400883a0
|
||||
0x3ffb4f10: 0x3ffae31c 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4f20: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4f30: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4f40: 0x3ffb39d4 0x0000000a 0x00800000 0x3ff4001c
|
||||
0x3ffb4f50: 0x80088160 0x3ffb4fa0 0x00000001 0x00000000
|
||||
0x3ffb4f60: 0x3ffba280 0x0000000a 0x00800000 0xffffffff
|
||||
0x3ffb4f70: 0x80088160 0x00000000 0x0001149c 0xd0bc01ef
|
||||
0x3ffb4f80: 0x3ffb4c30 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb4f90: 0x00000000 0x3ffb4fc0 0x40081cdc 0x00000001
|
||||
0x3ffb4fa0: 0x00000001 0x3ffb39c4 0x3ffb5058 0x00000000
|
||||
0x3ffb4fb0: 0x00000000 0x3ffb4fe0 0x00000000 0x00000000
|
||||
0x3ffb4fc0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4fd0: 0x800811ac 0x3ffe7d80 0x00000028 0x00000028
|
||||
0x3ffb4fe0: 0x00000000 0x00000000 0x3ffb4fec 0x00000000
|
||||
0x3ffb4ff0: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5000: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5010: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5020: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5030: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb5040: 0x00000000
|
||||
.coredump.tasks.data 0x3ffb4978 0x17c RW
|
||||
0x3ffb4978 <self$5551+64>: 0x3ffb47a0 0x3ffb4900 0xcececece 0x3ffafb3c
|
||||
0x3ffb4988 <self$5551+80>: 0x3ffb3760 0x3ffb4978 0x3ffb3758 0x00000001
|
||||
0x3ffb4998 <self$5551+96>: 0x3ffb4528 0x3ffb4528 0x3ffb4978 0x3ffb4520
|
||||
0x3ffb49a8 <tasks$5550+12>: 0x00000018 0x3ffb4568 0x30637069 0xcecece00
|
||||
0x3ffb49b8 <tasks$5550+28>: 0xcececece 0x00cecece 0x00000000 0x3ffb4964
|
||||
0x3ffb49c8 <tasks$5550+44>: 0x00000000 0x00060021 0x00000002 0xcececece
|
||||
0x3ffb49d8 <tasks$5550+60>: 0x00000018 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb49e8 <tasks$5550+76>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb49f8 <tasks$5550+92>: 0x00000000 0x3ffae908 0x3ffae970 0x3ffae9d8
|
||||
0x3ffb4a08 <tasks$5550+108>: 0x00000000 0x00000000 0x00000001 0x00000000
|
||||
0x3ffb4a18 <tasks$5550+124>: 0x00000000 0x00000000 0x40001d48 0x00000000
|
||||
0x3ffb4a28 <tasks$5550+140>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4a38 <tasks$5550+156>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4a48 <tasks$5550+172>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4a58 <tasks$5550+188>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4a68 <tasks$5550+204>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4a78 <tasks$5550+220>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4a88 <tasks$5550+236>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4a98 <tasks$5550+252>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4aa8 <tasks$5550+268>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4ab8 <tasks$5550+284>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4ac8 <tasks$5550+300>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4ad8 <tasks$5550+316>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4ae8 <tasks$5550+332>: 0x00000000 0x00000000 0xcecece00
|
||||
.coredump.tasks.data 0x3ffb47a0 0x1c4 RW
|
||||
0x3ffb47a0 <s_reg_dump$5061+368>: 0x40082468 0x40081414 0x00060e30 0x80088d34
|
||||
0x3ffb47b0 <s_reg_dump$5061+384>: 0x3ffb4860 0x00000000 0x00000000 0x3ffb39d0
|
||||
0x3ffb47c0 <s_reg_dump$5061+400>: 0x0000cdcd 0x00000001 0x00000000 0x80081414
|
||||
0x3ffb47d0 <s_reg_dump$5061+416>: 0x3ffb4840 0x3ff000dc 0x00000001 0x3ffb0038
|
||||
0x3ffb47e0 <s_reg_dump$5061+432>: 0x00000001 0x00060020 0x00000001 0x00000000
|
||||
0x3ffb47f0 <s_reg_dump$5061+448>: 0x0000ffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4800 <s_reg_dump$5061+464>: 0x00000000 0x40082668 0x00000001 0x400883a0
|
||||
0x3ffb4810 <s_reg_dump$5061+480>: 0x3ffadc3c 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4820 <s_reg_dump$5061+496>: 0xb33fffff 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4830 <s_reg_dump$5061+512>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4840 <s_reg_dump$5061+528>: 0x40082468 0x40088158 0x00050030 0x00000000
|
||||
0x3ffb4850 <s_reg_dump$5061+544>: 0x80081d0f 0x3ffb4880 0x3ffb44fc 0x00000000
|
||||
0x3ffb4860 <s_reg_dump$5061+560>: 0x00000000 0x40081cdc 0x00000000 0x00000000
|
||||
0x3ffb4870 <s_reg_dump$5061+576>: 0x80088160 0x3ffb48c0 0x00000000 0x00000000
|
||||
0x3ffb4880 <s_extra_info+4>: 0x00000000 0x00000000 0x00000000 0xffffffff
|
||||
0x3ffb4890 <s_extra_info+20>: 0x00000000 0x00000000 0x00000000 0xd0bc01ef
|
||||
0x3ffb48a0 <s_extra_info+36>: 0x3ffb4550 0x00000000 0x00000001 0x00000002
|
||||
0x3ffb48b0 <s_extra_info+52>: 0x00000000 0x3ffb48e0 0x40081cdc 0x00000000
|
||||
0x3ffb48c0 <s_extra_info+68>: 0x00060323 0x3ffb39c4 0x3ffb4978 0x00000001
|
||||
0x3ffb48d0 <s_extra_info+84>: 0x00000000 0x3ffb4900 0x00000000 0x00000000
|
||||
0x3ffb48e0 <s_extra_info+100>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb48f0 <s_extra_info+116>: 0x80081129 0x3ffe3b50 0x3ffb3740 0xd0bc01ef
|
||||
0x3ffb4900 <s_extra_info+132>: 0x00000000 0x00000000 0x3ffb490c 0x00000000
|
||||
0x3ffb4910 <s_fake_stacks_num>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4920 <name_buffer$5356+8>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4930 <name_buffer$5356+24>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4940 <self$5551+8>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4950 <self$5551+24>: 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
0x3ffb4960 <self$5551+40>: 0x00000000
|
||||
|
||||
===================== ESP32 CORE DUMP END =====================
|
||||
===============================================================
|
||||
Done!
|
Binary file not shown.
@ -30,27 +30,32 @@ except ImportError:
|
||||
from corefile.elf import ESPCoreDumpElfFile
|
||||
from corefile.loader import ESPCoreDumpFileLoader, ESPCoreDumpLoaderError
|
||||
|
||||
SUPPORTED_TARGET = ['esp32', 'esp32s2', 'esp32c3']
|
||||
|
||||
|
||||
class TestESPCoreDumpElfFile(unittest.TestCase):
|
||||
def test_read_elf(self):
|
||||
elf = ESPCoreDumpElfFile('core.elf')
|
||||
assert elf.load_segments
|
||||
assert elf.note_segments
|
||||
for target in SUPPORTED_TARGET:
|
||||
elf = ESPCoreDumpElfFile(os.path.join(target, 'core.elf'))
|
||||
assert elf.load_segments
|
||||
assert elf.note_segments
|
||||
|
||||
|
||||
class TestESPCoreDumpFileLoader(unittest.TestCase):
|
||||
def test_load_wrong_encode_core_bin(self):
|
||||
with self.assertRaises(ESPCoreDumpLoaderError):
|
||||
ESPCoreDumpFileLoader(path='coredump.b64', is_b64=False)
|
||||
for target in SUPPORTED_TARGET:
|
||||
with self.assertRaises(ESPCoreDumpLoaderError):
|
||||
ESPCoreDumpFileLoader(path=os.path.join(target, 'coredump.b64'), is_b64=False)
|
||||
|
||||
def test_create_corefile(self):
|
||||
loader = ESPCoreDumpFileLoader(path='coredump.b64', is_b64=True)
|
||||
loader.create_corefile()
|
||||
for target in SUPPORTED_TARGET:
|
||||
loader = ESPCoreDumpFileLoader(path=os.path.join(target, 'coredump.b64'), is_b64=True)
|
||||
loader.create_corefile()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# The purpose of these tests is to increase the code coverage at places which are sensitive to issues related to
|
||||
# Python 2&3 compatibility.
|
||||
# The espcoredump is not suited for through unit testting. There lot of nested functions, interactive
|
||||
# communication with the developement board and GDB, ...
|
||||
# The espcoredump is not suited for through unit testing. There lot of nested functions, interactive
|
||||
# communication with the development board and GDB, ...
|
||||
unittest.main()
|
||||
|
@ -1,11 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
{ coverage debug sys \
|
||||
&& coverage erase \
|
||||
&& coverage run -a --source=corefile ../espcoredump.py --gdb-timeout-sec 5 info_corefile -m -t b64 -c coredump.b64 -s core.elf test.elf &> output \
|
||||
&& diff expected_output output \
|
||||
&& coverage run -a --source=corefile ../espcoredump.py --gdb-timeout-sec 5 info_corefile -m -t elf -c core.elf test.elf &> output2 \
|
||||
&& diff expected_output output2 \
|
||||
&& coverage run -a --source=corefile ./test_espcoredump.py \
|
||||
&& coverage report ../corefile/elf.py ../corefile/gdb.py ../corefile/loader.py ../corefile/xtensa.py ../espcoredump.py \
|
||||
; } || { echo 'The test for espcoredump has failed!'; exit 1; }
|
||||
function help() {
|
||||
echo "Usage: bash test_espcoredump.sh [ELF_DIR]"
|
||||
}
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
help
|
||||
exit 1
|
||||
else
|
||||
elf_dir=$1
|
||||
fi
|
||||
|
||||
SUPPORTED_TARGETS=("esp32" "esp32s2" "esp32c3")
|
||||
res=0
|
||||
coverage erase
|
||||
for chip in "${SUPPORTED_TARGETS[@]}"; do
|
||||
{
|
||||
echo "run b64 decoding tests on $chip"
|
||||
coverage run -a --source=corefile ../espcoredump.py --chip="$chip" --gdb-timeout-sec 5 info_corefile -m -t b64 -c "${chip}/coredump.b64" -s "${chip}/core.elf" "${elf_dir}/${chip}.elf" &>"${chip}/output" &&
|
||||
diff "${chip}/expected_output" "${chip}/output" &&
|
||||
coverage run -a --source=corefile ../espcoredump.py --chip="$chip" --gdb-timeout-sec 5 info_corefile -m -t elf -c "${chip}/core.elf" "${elf_dir}/${chip}.elf" &>"${chip}/output2" &&
|
||||
diff "${chip}/expected_output" "${chip}/output2"
|
||||
} || {
|
||||
echo 'The test for espcoredump has failed!'
|
||||
res=1
|
||||
}
|
||||
done
|
||||
coverage run -a --source=corefile ./test_espcoredump.py
|
||||
coverage report ../corefile/*.py ../espcoredump.py
|
||||
exit $res
|
||||
|
15
components/espcoredump/test_apps/CMakeLists.txt
Normal file
15
components/espcoredump/test_apps/CMakeLists.txt
Normal file
@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
# Here for reproducible builds, we use the CI compile options to make sure they're same.
|
||||
# Use -ffile-prefix-map to map the local path prefix to ci path prefix
|
||||
|
||||
set(ENV{EXTRA_CFLAGS} "-DIDF_CI_BUILD -Werror -Werror=deprecated-declarations -Werror=unused-variable \
|
||||
-Werror=unused-but-set-variable -Werror=unused-function -Wstrict-prototypes \
|
||||
-ffile-prefix-map=$ENV{IDF_PATH}=/builds/espressif/esp-idf")
|
||||
|
||||
set(ENV{EXTRA_CXXFLAGS} "-DIDF_CI_BUILD -Werror -Werror=deprecated-declarations -Werror=unused-variable \
|
||||
-Werror=unused-but-set-variable -Werror=unused-function \
|
||||
-ffile-prefix-map=$ENV{IDF_PATH}=/builds/espressif/esp-idf")
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
project(test_core_dump)
|
6
components/espcoredump/test_apps/README.md
Normal file
6
components/espcoredump/test_apps/README.md
Normal file
@ -0,0 +1,6 @@
|
||||
| Supported Targets | ESP32 | ESP32-S2 | ESP32-C3 |
|
||||
| ----------------- | ----- | -------- | -------- |
|
||||
|
||||
# ESP Core Dump Tests
|
||||
|
||||
This test app is used to provide built binaries for the test cases under test folders
|
25
components/espcoredump/test_apps/build_espcoredump.sh
Executable file
25
components/espcoredump/test_apps/build_espcoredump.sh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function help() {
|
||||
echo "Usage: bash build_espcoredump.sh [OUTPUT_DIR]"
|
||||
}
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
help
|
||||
exit 1
|
||||
else
|
||||
output_dir=$1
|
||||
fi
|
||||
|
||||
SUPPORTED_TARGETS=("esp32" "esp32s2" "esp32c3")
|
||||
for chip in "${SUPPORTED_TARGETS[@]}"; do
|
||||
{
|
||||
echo "--------------------------"
|
||||
echo "building $chip binaries..."
|
||||
echo "--------------------------"
|
||||
idf.py fullclean && rm -f sdkconfig
|
||||
idf.py set-target $chip
|
||||
idf.py build
|
||||
cp ./build/test_core_dump.elf "${output_dir}/${chip}.elf"
|
||||
}
|
||||
done
|
2
components/espcoredump/test_apps/main/CMakeLists.txt
Normal file
2
components/espcoredump/test_apps/main/CMakeLists.txt
Normal file
@ -0,0 +1,2 @@
|
||||
idf_component_register(SRC_DIRS "."
|
||||
PRIV_REQUIRES unity nvs_flash)
|
@ -96,10 +96,17 @@ void failed_assert_task(void *pvParameter)
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
TEST_CASE("verify coredump functionality", "[coredump][ignore]")
|
||||
void test_core_dump(void)
|
||||
{
|
||||
nvs_flash_init();
|
||||
xTaskCreate(&bad_ptr_task, "bad_ptr_task", 2048, NULL, 5, NULL);
|
||||
xTaskCreatePinnedToCore(&unaligned_ptr_task, "unaligned_ptr_task", 2048, NULL, 7, NULL, 1);
|
||||
xTaskCreatePinnedToCore(&failed_assert_task, "failed_assert_task", 2048, NULL, 10, NULL, 0);
|
||||
}
|
||||
|
||||
void app_main(void)
|
||||
{
|
||||
UNITY_BEGIN();
|
||||
RUN_TEST(test_core_dump);
|
||||
UNITY_END();
|
||||
}
|
14
components/espcoredump/test_apps/sdkconfig.defaults
Normal file
14
components/espcoredump/test_apps/sdkconfig.defaults
Normal file
@ -0,0 +1,14 @@
|
||||
CONFIG_ESP_COREDUMP_ENABLE_TO_UART=y
|
||||
CONFIG_ESP_COREDUMP_DATA_FORMAT_ELF=y
|
||||
CONFIG_ESP_COREDUMP_CHECKSUM_CRC32=y
|
||||
CONFIG_ESP_COREDUMP_ENABLE=y
|
||||
CONFIG_ESP_COREDUMP_MAX_TASKS_NUM=64
|
||||
CONFIG_ESP_COREDUMP_UART_DELAY=0
|
||||
CONFIG_ESP_COREDUMP_DECODE_DISABLE=y
|
||||
CONFIG_ESP_COREDUMP_DECODE="disable"
|
||||
|
||||
# Settings for reproducible builds
|
||||
CONFIG_APP_COMPILE_TIME_DATE=n
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=1
|
||||
CONFIG_BOOTLOADER_LOG_LEVEL_ERROR=y
|
@ -6,12 +6,6 @@ Core Dump
|
||||
Overview
|
||||
--------
|
||||
|
||||
.. only:: not esp32
|
||||
|
||||
.. note::
|
||||
|
||||
The python utility does not fully support {IDF_TARGET_NAME}
|
||||
|
||||
ESP-IDF provides support to generate core dumps on unrecoverable software errors. This useful technique allows post-mortem analysis of software state at the moment of failure.
|
||||
Upon the crash system enters panic state, prints some information and halts or reboots depending configuration. User can choose to generate core dump in order to analyse
|
||||
the reason of failure on PC later on. Core dump contains snapshots of all tasks in the system at the moment of failure. Snapshots include tasks control blocks (TCB) and stacks.
|
||||
@ -19,41 +13,66 @@ So it is possible to find out what task, at what instruction (line of code) and
|
||||
demand if previously attributed accordingly.
|
||||
ESP-IDF provides special script `espcoredump.py` to help users to retrieve and analyse core dumps. This tool provides two commands for core dumps analysis:
|
||||
|
||||
* info_corefile - prints crashed task's registers, callstack, list of available tasks in the system, memory regions and contents of memory stored in core dump (TCBs and stacks)
|
||||
* dbg_corefile - creates core dump ELF file and runs GDB debug session with this file. User can examine memory, variables and tasks states manually. Note that since not all memory is saved in core dump only values of variables allocated on stack will be meaningfull
|
||||
* ``info_corefile`` - prints crashed task's registers, callstack, list of available tasks in the system, memory regions and contents of memory stored in core dump (TCBs and stacks)
|
||||
* ``dbg_corefile`` - creates core dump ELF file and runs GDB debug session with this file. User can examine memory, variables and tasks states manually. Note that since not all memory is saved in core dump only values of variables allocated on stack will be meaningful
|
||||
|
||||
For more information about core dump internals see the - :doc:`Core dump internals <core_dump_internals>`
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
Configurations
|
||||
--------------
|
||||
|
||||
There are a number of core dump related configuration options which user can choose in project configuration menu (`idf.py menuconfig`).
|
||||
There are a number of core dump related configuration options which user can choose in project configuration menu (``idf.py menuconfig``).
|
||||
|
||||
1. Core dump data destination (`Components -> Core dump -> Data destination`):
|
||||
**Core dump data destination (Components -> Core dump -> Data destination)**
|
||||
|
||||
* Save core dump to Flash (Flash)
|
||||
* Print core dump to UART (UART)
|
||||
* Disable core dump generation (None)
|
||||
* Save core dump to Flash (Flash)
|
||||
* Print core dump to UART (UART)
|
||||
* Disable core dump generation (None)
|
||||
|
||||
2. Core dump data format (`Components -> Core dump -> Core dump data format`):
|
||||
**Core dump data format (Components -> Core dump -> Core dump data format)**
|
||||
|
||||
* ELF format (Executable and Linkable Format file for core dump)
|
||||
* Binary format (Basic binary format for core dump)
|
||||
* ELF format (Executable and Linkable Format file for core dump)
|
||||
* Binary format (Basic binary format for core dump)
|
||||
|
||||
The ELF format contains extended features and allow to save more information about broken tasks and crashed software but it requires more space in the flash memory.
|
||||
It also stores SHA256 of crashed application image. This format of core dump is recommended for new software designs and is flexible enough to extend saved information for future revisions.
|
||||
The Binary format is kept for compatibility standpoint, it uses less space in the memory to keep data and provides better performance.
|
||||
The ELF format contains extended features and allow to save more information about broken tasks and crashed software but it requires more space in the flash memory.
|
||||
This format of core dump is recommended for new software designs and is flexible enough to extend saved information for future revisions.
|
||||
|
||||
3. Maximum number of tasks snapshots in core dump (`Components -> Core dump -> Maximum number of tasks`).
|
||||
The Binary format is kept for compatibility standpoint, it uses less space in the memory to keep data and provides better performance.
|
||||
|
||||
4. Delay before core dump is printed to UART (`Components -> Core dump -> Delay before print to UART`). Value is in ms.
|
||||
**Core dump data integrity check (Components -> Core dump -> Core dump data integrity check)**
|
||||
|
||||
5. Type of data integrity check for core dump (`Components -> Core dump -> Core dump data integrity check`).
|
||||
.. only:: esp32
|
||||
|
||||
* Use CRC32 for core dump integrity verification
|
||||
* Use SHA256 for core dump integrity verification
|
||||
* Use CRC32 for core dump integrity verification
|
||||
* Use SHA256 for core dump integrity verification (only work in ELF format)
|
||||
|
||||
The SHA256 hash algorithm provides greater probability of detecting corruption than a CRC32 with multiple bit errors. The CRC32 option provides better calculation performance and consumes less memory for storage.
|
||||
The CRC32 option provides better calculation performance and consumes less memory for storage.
|
||||
|
||||
The SHA256 hash algorithm provides greater probability of detecting corruption than a CRC32 with multiple bit errors.
|
||||
|
||||
.. only:: not esp32
|
||||
|
||||
* Use CRC32 for core dump integrity verification
|
||||
|
||||
**Maximum number of tasks snapshots in core dump (Components -> Core dump -> Maximum number of tasks)**
|
||||
|
||||
**Delay before core dump is printed to UART (Components -> Core dump -> Delay before print to UART)**
|
||||
|
||||
The value is in ms.
|
||||
|
||||
**Handling of UART core dumps in IDF Monitor (Components -> Core dump -> Delay before print to UART)**
|
||||
|
||||
The value is base64 encoded.
|
||||
|
||||
* Decode and show summary (info_corefile)
|
||||
* Don't decode
|
||||
|
||||
.. only:: esp32c3
|
||||
|
||||
**Reserved stack size (Components -> Core dump -> Reserved stack size)**
|
||||
|
||||
Size of the memory to be reserved for core dump stack. If 0 core dump process will run on the stack of crashed task/ISR, otherwise special stack will be allocated.
|
||||
To ensure that core dump itself will not overflow task/ISR stack set this to the value above 800.
|
||||
|
||||
Save core dump to flash
|
||||
-----------------------
|
||||
@ -62,40 +81,40 @@ When this option is selected core dumps are saved to special partition on flash.
|
||||
allocates necessary space on flash, But if user wants to use its own layout file together with core dump feature it should define separate partition for core dump
|
||||
as it is shown below::
|
||||
|
||||
# Name, Type, SubType, Offset, Size
|
||||
# Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap
|
||||
nvs, data, nvs, 0x9000, 0x6000
|
||||
phy_init, data, phy, 0xf000, 0x1000
|
||||
factory, app, factory, 0x10000, 1M
|
||||
coredump, data, coredump,, 64K
|
||||
# Name, Type, SubType, Offset, Size
|
||||
# Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap
|
||||
nvs, data, nvs, 0x9000, 0x6000
|
||||
phy_init, data, phy, 0xf000, 0x1000
|
||||
factory, app, factory, 0x10000, 1M
|
||||
coredump, data, coredump,, 64K
|
||||
|
||||
There are no special requrements for partition name. It can be choosen according to the user application needs, but partition type should be 'data' and
|
||||
There are no special requirements for partition name. It can be chosen according to the user application needs, but partition type should be 'data' and
|
||||
sub-type should be 'coredump'. Also when choosing partition size note that core dump data structure introduces constant overhead of 20 bytes and per-task overhead of 12 bytes.
|
||||
This overhead does not include size of TCB and stack for every task. So partirion size should be at least 20 + max tasks number x (12 + TCB size + max task stack size) bytes.
|
||||
This overhead does not include size of TCB and stack for every task. So partition size should be at least 20 + max tasks number x (12 + TCB size + max task stack size) bytes.
|
||||
|
||||
The example of generic command to analyze core dump from flash is: `espcoredump.py -p </path/to/serial/port> info_corefile </path/to/program/elf/file>`
|
||||
or `espcoredump.py -p </path/to/serial/port> dbg_corefile </path/to/program/elf/file>`
|
||||
The example of generic command to analyze core dump from flash is: ``espcoredump.py -p </path/to/serial/port> info_corefile </path/to/program/elf/file>``
|
||||
or ``espcoredump.py -p </path/to/serial/port> dbg_corefile </path/to/program/elf/file>``
|
||||
|
||||
Print core dump to UART
|
||||
-----------------------
|
||||
|
||||
When this option is selected base64-encoded core dumps are printed on UART upon system panic. In this case user should save core dump text body to some file manually and
|
||||
then run the following command: `espcoredump.py info_corefile -t b64 -c </path/to/saved/base64/text> </path/to/program/elf/file>`
|
||||
or `espcoredump.py dbg_corefile -t b64 -c </path/to/saved/base64/text> </path/to/program/elf/file>`
|
||||
then run the following command: ``espcoredump.py --chip <target_chip_type> info_corefile -t b64 -c </path/to/saved/base64/text> </path/to/program/elf/file>``
|
||||
or ``espcoredump.py --chip <target_chip_type> dbg_corefile -t b64 -c </path/to/saved/base64/text> </path/to/program/elf/file>``
|
||||
|
||||
Base64-encoded body of core dump will be between the following header and footer::
|
||||
|
||||
================= CORE DUMP START =================
|
||||
<body of base64-encoded core dump, save it to file on disk>
|
||||
================= CORE DUMP END ===================
|
||||
================= CORE DUMP START =================
|
||||
<body of base64-encoded core dump, save it to file on disk>
|
||||
================= CORE DUMP END ===================
|
||||
|
||||
The `CORE DUMP START` and `CORE DUMP END` lines must not be included in core dump text file.
|
||||
The ``CORE DUMP START`` and ``CORE DUMP END`` lines must not be included in core dump text file.
|
||||
|
||||
ROM Functions in Backtraces
|
||||
---------------------------
|
||||
|
||||
It is possible situation that at the moment of crash some tasks or/and crashed task itself have one or more ROM functions in their callstacks.
|
||||
Since ROM is not part of the program ELF it will be impossible for GDB to parse such callstacks, because it tries to analyse functions' prologues to acomplish that.
|
||||
Since ROM is not part of the program ELF it will be impossible for GDB to parse such callstacks, because it tries to analyse functions' prologues to accomplish that.
|
||||
In that case callstack printing will be broken with error message at the first ROM function.
|
||||
To overcome this issue you can use ROM ELF provided by Espressif ({IDF_TARGET_ROM_ELF}) and pass it to 'espcoredump.py'.
|
||||
|
||||
@ -108,18 +127,9 @@ Core dump supports retrieving variable data over GDB by attributing special nota
|
||||
Supported notations and RAM regions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. only:: esp32
|
||||
|
||||
- ``COREDUMP_DRAM_ATTR`` places variable into DRAM area which will be included into dump.
|
||||
- ``COREDUMP_RTC_ATTR`` places variable into RTC area which will be included into dump.
|
||||
- ``COREDUMP_RTC_FAST_ATTR`` places variable into RTC_FAST area which will be included into dump.
|
||||
- ``COREDUMP_IRAM_ATTR`` places variable into IRAM area which will be included into dump when :ref:`Enable IRAM as 8 bit accessible memory <CONFIG_ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY>` is set.
|
||||
|
||||
.. only:: esp32s2
|
||||
|
||||
- ``COREDUMP_DRAM_ATTR`` places variable into DRAM area which will be included into dump.
|
||||
- ``COREDUMP_RTC_ATTR`` places variable into RTC area which will be included into dump.
|
||||
- ``COREDUMP_RTC_FAST_ATTR`` places variable into RTC_FAST area which will be included into dump.
|
||||
* ``COREDUMP_DRAM_ATTR`` places variable into DRAM area which will be included into dump.
|
||||
* ``COREDUMP_RTC_ATTR`` places variable into RTC area which will be included into dump.
|
||||
* ``COREDUMP_RTC_FAST_ATTR`` places variable into RTC_FAST area which will be included into dump.
|
||||
|
||||
Example
|
||||
^^^^^^^
|
||||
@ -128,53 +138,76 @@ Example
|
||||
|
||||
2. In your project, create a global variable in DRAM area as such as:
|
||||
|
||||
.. code-block:: bash
|
||||
.. code-block:: bash
|
||||
|
||||
// uint8_t global_var;
|
||||
COREDUMP_DRAM_ATTR uint8_t global_var;
|
||||
// uint8_t global_var;
|
||||
COREDUMP_DRAM_ATTR uint8_t global_var;
|
||||
|
||||
3. In main application, set the variable to any value and `assert(0)` to cause a crash.
|
||||
3. In main application, set the variable to any value and ``assert(0)`` to cause a crash.
|
||||
|
||||
.. code-block:: bash
|
||||
.. code-block:: bash
|
||||
|
||||
global_var = 25;
|
||||
assert(0);
|
||||
global_var = 25;
|
||||
assert(0);
|
||||
|
||||
4. Build, flash and run the application on a target device and wait for the dumping information.
|
||||
|
||||
5. Run the command below to start core dumping in GDB, where ``PORT`` is the device USB port:
|
||||
|
||||
.. code-block:: bash
|
||||
.. code-block:: bash
|
||||
|
||||
espcoredump.py -p PORT dbg_corefile <path/to/elf>
|
||||
espcoredump.py -p PORT dbg_corefile <path/to/elf>
|
||||
|
||||
6. In GDB shell, type ``p global_var`` to get the variable content:
|
||||
|
||||
.. code-block:: bash
|
||||
.. code-block:: bash
|
||||
|
||||
(gdb) p global_var
|
||||
$1 = 25 '\031'
|
||||
(gdb) p global_var
|
||||
$1 = 25 '\031'
|
||||
|
||||
Running 'espcoredump.py'
|
||||
------------------------
|
||||
Running ``espcoredump.py``
|
||||
--------------------------
|
||||
|
||||
Generic command syntax:
|
||||
|
||||
`espcoredump.py [options] command [args]`
|
||||
Generic command syntax: ``espcoredump.py [options] command [args]``
|
||||
|
||||
:Script Options:
|
||||
* --port,-p PORT. Serial port device.
|
||||
* --baud,-b BAUD. Serial port baud rate used when flashing/reading.
|
||||
|
||||
--chip {auto,esp32,esp32s2,esp32c3}
|
||||
Target chip type. Default value is "auto"
|
||||
|
||||
--port PORT, -p PORT Serial port device. Either "chip" or "port" need to be specified to determine the port when you have multi-target connected at the same time.
|
||||
|
||||
--baud BAUD, -b BAUD Serial port baud rate used when flashing/reading
|
||||
|
||||
--gdb-timeout-sec GDB_TIMEOUT_SEC
|
||||
Overwrite the default internal delay for gdb responses
|
||||
|
||||
:Commands:
|
||||
* info_corefile. Retrieve core dump and print useful info.
|
||||
* dbg_corefile. Retrieve core dump and start GDB session with it.
|
||||
|
||||
**dbg_corefile** Starts GDB debugging session with specified corefile
|
||||
|
||||
**info_corefile** Print core dump info from file
|
||||
|
||||
:Command Arguments:
|
||||
* --debug,-d DEBUG. Log level (0..3).
|
||||
* --gdb,-g GDB. Path to gdb to use for data retrieval.
|
||||
* --core,-c CORE. Path to core dump file to use (if skipped core dump will be read from flash).
|
||||
* --core-format,-t CORE_FORMAT. Specifies that file passed with "-c" is an ELF ("elf"), dumped raw binary ("raw") or base64-encoded ("b64") format.
|
||||
* --off,-o OFF. Offset of coredump partition in flash (type `idf.py partition_table` to see it).
|
||||
* --save-core,-s SAVE_CORE. Save core to file. Othwerwise temporary core file will be deleted. Ignored with "-c".
|
||||
* --rom-elf,-r ROM_ELF. Path to ROM ELF file to use (if skipped "esp32_rom.elf" is used).
|
||||
* --print-mem,-m Print memory dump. Used only with "info_corefile".
|
||||
* <prog> Path to program ELF file.
|
||||
|
||||
--debug DEBUG, -d DEBUG
|
||||
Log level (0..3)
|
||||
|
||||
--gdb GDB, -g GDB Path to gdb
|
||||
|
||||
--core CORE, -c CORE Path to core dump file (if skipped core dump will be read from flash)
|
||||
|
||||
--core-format {b64,elf,raw}, -t {b64,elf,raw}
|
||||
File specified with "-c" is an ELF ("elf"), raw (raw) or base64-encoded (b64) binary
|
||||
|
||||
--off OFF, -o OFF Offset of coredump partition in flash (type "make partition_table" to see).
|
||||
|
||||
--save-core SAVE_CORE, -s SAVE_CORE
|
||||
Save core to file. Otherwise temporary core file will be deleted. Does not work with "-c"
|
||||
|
||||
--rom-elf ROM_ELF, -r ROM_ELF
|
||||
Path to ROM ELF file. Will use "<target>_rom.elf" if not specified
|
||||
|
||||
--print-mem, -m Print memory dump. Only valid when info_corefile.
|
||||
|
||||
**<prog>** Path to program ELF file.
|
||||
|
@ -252,12 +252,18 @@ test_espcoredump:
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- components/espcoredump/test/.coverage
|
||||
- components/espcoredump/test/output
|
||||
- components/espcoredump/test/**/.coverage
|
||||
- components/espcoredump/test/**/output
|
||||
expire_in: 1 week
|
||||
variables:
|
||||
IDF_COREDUMP_ELF_REPO: "https://gitlab-ci-token:${BOT_TOKEN}@${CI_SERVER_HOST}:${CI_SERVER_PORT}/idf/idf-coredump-elf.git"
|
||||
IDF_COREDUMP_ELF_TAG: idf-20210909-00
|
||||
# install CMake version specified in tools.json
|
||||
SETUP_TOOLS_LIST: "all"
|
||||
script:
|
||||
- retry_failed git clone ${IDF_COREDUMP_ELF_REPO} -b $IDF_COREDUMP_ELF_TAG
|
||||
- cd components/espcoredump/test/
|
||||
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ./test_espcoredump.sh
|
||||
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ./test_espcoredump.sh ${CI_PROJECT_DIR}/idf-coredump-elf
|
||||
|
||||
test_logtrace_proc:
|
||||
extends: .host_test_template
|
||||
|
@ -5,6 +5,7 @@ components/esp_wifi/test_md5/test_md5.sh
|
||||
components/espcoredump/espcoredump.py
|
||||
components/espcoredump/test/test_espcoredump.py
|
||||
components/espcoredump/test/test_espcoredump.sh
|
||||
components/espcoredump/test_apps/build_espcoredump.sh
|
||||
components/heap/test_multi_heap_host/test_all_configs.sh
|
||||
components/mbedtls/esp_crt_bundle/gen_crt_bundle.py
|
||||
components/mbedtls/esp_crt_bundle/test_gen_crt_bundle/test_gen_crt_bundle.py
|
||||
|
0
tools/ci/mypy_ignore_list.txt
Normal file
0
tools/ci/mypy_ignore_list.txt
Normal file
@ -143,6 +143,7 @@ function(__build_init idf_path)
|
||||
idf_build_get_property(idf_path IDF_PATH)
|
||||
idf_build_get_property(prefix __PREFIX)
|
||||
file(GLOB component_dirs ${idf_path}/components/*)
|
||||
list(SORT component_dirs)
|
||||
foreach(component_dir ${component_dirs})
|
||||
get_filename_component(component_dir ${component_dir} ABSOLUTE)
|
||||
__component_dir_quick_check(is_component ${component_dir})
|
||||
|
@ -275,6 +275,7 @@ macro(__component_add_sources sources)
|
||||
endif()
|
||||
|
||||
file(GLOB dir_sources "${abs_dir}/*.c" "${abs_dir}/*.cpp" "${abs_dir}/*.S")
|
||||
list(SORT dir_sources)
|
||||
|
||||
if(dir_sources)
|
||||
foreach(src ${dir_sources})
|
||||
|
@ -102,10 +102,13 @@ endfunction()
|
||||
function(__kconfig_component_init component_target)
|
||||
__component_get_property(component_dir ${component_target} COMPONENT_DIR)
|
||||
file(GLOB kconfig "${component_dir}/Kconfig")
|
||||
list(SORT kconfig)
|
||||
__component_set_property(${component_target} KCONFIG "${kconfig}")
|
||||
file(GLOB kconfig "${component_dir}/Kconfig.projbuild")
|
||||
list(SORT kconfig)
|
||||
__component_set_property(${component_target} KCONFIG_PROJBUILD "${kconfig}")
|
||||
file(GLOB sdkconfig_rename "${component_dir}/sdkconfig.rename")
|
||||
list(SORT sdkconfig_rename)
|
||||
__component_set_property(${component_target} SDKCONFIG_RENAME "${sdkconfig_rename}")
|
||||
endfunction()
|
||||
|
||||
|
Reference in New Issue
Block a user