New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tools: crash_log_parser: make ELF and MAP parameters optional #7174

Merged
merged 1 commit into from Jun 18, 2018

Conversation

Projects
None yet
8 participants
@TeroJaasko
Contributor

TeroJaasko commented Jun 8, 2018

Description

On some bug reports the customer is providing only the raw
crash dump but not the ELF and MAP files. Those files are
needed to decode the addresses into symbol names, but the
extremely useful fault reason can still be decoded even
without them.

By making the ELF and MAP arguments optional, one can now
decode the raw dump content into something such as:

--8<--8<--

ELF or MAP file missing, logging raw values.

Crash Info:
	Crash location = <unknown-symbol> [0x000091F4] (based on PC value)
	Caller location = <unknown-symbol> [0x00018E39] (based on LR value)
	Stack Pointer at the time of crash = [200091E8]
	Target and Fault Info:
		Processor Arch: ARM-V7M or above
		Processor Variant: C24
		Forced exception, a fault with configurable priority has been escalated to HardFault
		The processor has attempted to execute an undefined instruction

Pull request type

[ ] Fix
[ ] Refactor
[ ] New target
[X] Feature
[ ] Breaking change
tools: crash_log_parser: make ELF and MAP parameters optional
On some bug reports the customer is providing only the raw
crash dump but not the ELF and MAP files. Those files are
needed to decode the addresses into symbol names, but the
extremely useful fault reason can still be decoded even
without them.

By making the ELF and MAP arguments optional, one can now
decode the raw dump content into something such as:

--8<--8<--
ELF or MAP file missing, logging raw values.

Crash Info:
	Crash location = <unknown-symbol> [0x000091F4] (based on PC value)
	Caller location = <unknown-symbol> [0x00018E39] (based on LR value)
	Stack Pointer at the time of crash = [200091E8]
	Target and Fault Info:
		Processor Arch: ARM-V7M or above
		Processor Variant: C24
		Forced exception, a fault with configurable priority has been escalated to HardFault
		The processor has attempted to execute an undefined instruction

@0xc0170 0xc0170 requested review from ARMmbed/mbed-os-tools and SenRamakri Jun 8, 2018

@theotherjimmy

Looks good.

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Jun 11, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented Jun 11, 2018

Build : SUCCESS

Build number : 2321
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/7174/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build
/morph mbed2-build

@mbed-ci

This comment has been minimized.

@mbed-ci

This comment has been minimized.

@cmonr

This comment has been minimized.

Contributor

cmonr commented Jun 12, 2018

We're looking into some CI issues at the moment. The test will be restarted when the dust has settled.

@studavekar

This comment has been minimized.

Collaborator

studavekar commented Jun 15, 2018

re-triggering failing tests

/morph test

@mbed-ci

This comment has been minimized.

@cmonr cmonr added ready for merge and removed needs: CI labels Jun 16, 2018

@cmonr cmonr merged commit 5d8e9dc into ARMmbed:master Jun 18, 2018

14 checks passed

AWS-CI uVisor Build & Test Success
Details
ci-morph-build build completed
Details
ci-morph-exporter build completed
Details
ci-morph-mbed2-build build completed
Details
ci-morph-test test completed
Details
continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
travis-ci/astyle Passed, 920 files
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/events Passed, runtime is 9966 cycles (+1137 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/licence_check Local licence_check testing has passed
Details
travis-ci/littlefs Passed, code size is 9964B (+0.00%)
Details
travis-ci/tools-py2.7 Local tools-py2.7 testing has passed
Details
@adustm

This comment has been minimized.

Member

adustm commented Aug 24, 2018

Hello @TeroJaasko @0xc0170 ,
It's not clear to me. How do you generate the map file now ?
Kind regards

@TeroJaasko

This comment has been minimized.

Contributor

TeroJaasko commented Aug 24, 2018

@adustm : point of this PR was not to remove need for MAP completely, but allow decoding at least some of the crash log information in case the ELF & MAP are not available at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment