Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Scope

Goal is to provide a reference crash upload solution to RDK-B community

...

  • draw.io Diagram
    bordertrue
    diagramNamecrashuploadrdkb
    simpleViewerfalse
    width
    linksauto
    tbstyletop
    lboxtrue
    diagramWidth10211231
    height711886
    revision9


How to setup a simple file server in local Host machine(MacBook)

  • python3 -m uploadserver 8080 &

  • Code Block
     dmcli eRT getv Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.CrashPortal
    CR component name is: eRT.com.cisco.spvtg.ccsp.CR
    subsystem_prefix eRT.
    Execution succeed.
    Parameter    1 name: Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.CrashPortal
                   type:     string,    value: http://10.2.156.149:8080/upload 
    
    
    
  • Image Added

CPE configurations

  • ulimit -c unlimited

code repo

Build side

  • inherit breakpad-wrapper  ------- to generate symbols in the build
  • Code Block
    ~/kernel66$ ls build-bananapi4-rdk-broadband/tmp/deploy/breakpad_symbols/
    bananapi4-rdk-broadband
    cpokur625@dvm-yocto4-docker-cpokur625:~/kernel66$ ls build-bananapi4-rdk-broadband/tmp/deploy/breakpad_symbols/bananapi4-rdk-broadband/

Appendix

Process to upload dumps to server in RDK-B Component

    • Integrate breakpad for the RDK-B component if it is not already integrated.
    • Add crashupload package to the respective .bbappend file
    • Make necessary changes in uploadDumps.sh and add it as a patch in crashupload_git.bbappend
    • Install the uploadDumps.sh and its dependencies in respective crashupload.bbappend file
    • Add requirements and dependencies to coredump-upload.service and coredump-upload.path in the crashupload_git.bbappend file.
    • Image Modified
    • Image Modified
    • After building the component, flash the image in RPI4 and check whether coredump-upload.path and coredump-upload.service files were added in systemd or not.
    • Check both the files are in active state or not.
    • Generate a crash on the component and it will create .dmp file in /minidumps/ folder and coredump-upload.path triggers coredump-upload.service to upload the dump files to crash portal.
    • Below logs will be generated during the execution of uploadDumps and same can be seen in /rdklogs/logs/core_log.txt
          Image Modified
    • Check from server side the upload was successful or not.
    • Image Modified
    • Attached procedure for installing breakpad and generating crash in local machine.
    • View file
      nameRDKB_Component_Stacktrace_locally.txt
      height250
      View file
      nameProcess_to_generate_dumps_and_extract.txt
      height250