Library Encapsulation Module for Embedded Crash Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Debugging and isolating crashes in embedded information handling systems, particularly in multi-threaded applications, is challenging due to limitations in persistent storage for core dump files and the absence of a debugger in embedded environments.
Innovation Solution
A method involving a library encapsulation module with function clones that store and manage process IDs and function IDs using a mutex-protected table, allowing error detection and logging without core dump files or a debugger, enabling effective error isolation and logging in embedded systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Difficulty of detecting and measuring
If core dump files and debuggers are used for crash isolation, then debugging capability is improved, but persistent storage requirements and system complexity increase
Solution Approach 1:
The patent extracts the essential debugging information (process ID, function ID, source code location) from the complex core dump file format and stores only these critical elements in a lightweight table structure. This extraction approach maintains crash isolation capability while dramatically reducing storage requirements by eliminating redundant data and complex file structures.
Solution Approach 2:
The patent uses a temporary in-memory table structure that is created during execution and discarded after crash analysis. This disposable approach replaces persistent core dump files with a transient data structure that requires minimal storage space and can be easily cleared after use, eliminating the need for long-term storage of crash data.
2Difficulty of detecting and measuring
If core dump files and debuggers are used for crash isolation, then debugging capability is improved, but system complexity increases
Solution Approach 1:
The patent segments the crash isolation process into distinct components: a library encapsulation module that instruments shared library functions, a table structure that stores crash information, and a signal handler that processes crashes. This segmentation allows each component to be independently implemented and maintained, reducing overall system complexity while maintaining comprehensive crash isolation capability.
Solution Approach 2:
The patent introduces a library encapsulation module as an intermediary layer between shared library functions and the application. This mediator instruments function calls and stores information in a table without requiring full debugger integration, thereby simplifying the system architecture by replacing complex debugger dependencies with a lightweight intermediary mechanism.
3Measurement precision
If function clones with mutex-protected tables are used, then error logging precision is improved, but device complexity increases
Solution Approach 1:
The patent creates a universal library encapsulation module that can instrument multiple shared library functions through a standardized interface. The function clone mechanism and table structure serve multiple purposes: tracking function calls, storing crash information, and enabling precise error location. This multi-functionality reduces the need for separate instrumentation code for each function, thereby managing complexity while maintaining high precision.
4Adaptability or versatility
If debugging is performed in embedded environments with concurrent incremental development, then development flexibility is improved, but crash isolation difficulty increases
Solution Approach 1:
The patent performs preliminary instrumentation of shared library functions during the compilation and linking phases, before the application runs. The library encapsulation module and table structure are prepared in advance, establishing tracking mechanisms that automatically capture crash information during execution. This preliminary action enables crash isolation in concurrently developed multi-threaded applications without requiring runtime modifications or complex debugging setup.
Data Source
AI summary
The present disclosure relates in general to embedded information handling systems, and more particularly to systems and methods for isolating a crash of an embedded multi-threaded application to a shared library call in embedded information handling systems.


