Emergency alert and tracer for realtime high-performance computing app (work in progress, currently supported env is only Linux x86-64).

Overview

HPC Emerg

Emergency alert and tracer for realtime high-performance computing app (work in progress, currently supported env is only Linux x86-64).

Example Output

==========================================================
  BUG: PID: 351893 at main.c:9 func_b
  Not tainted: 0; Compiler: Ubuntu Clang 11.0.1
  Signal: 4 (SIGILL); is_recoverable = 1;
  RIP: 0000000000401243 at ./main(func_b+0x33)
  Code: c7 45 f8 00 00 00 00 48 83 7d f8 64 0f 83 6e 00 00 00 e9 00 00 00 00 c6 45 f7 01 f6 45 f7 01 0f 84 43 00 00 00 e9 00 00 00 00 <0f> 0b 48 8d 05 9c 3b 00 00 e9 00 00 00 00 48 8d 05 58 3e 00 00 8a 
  RSP: 00007fff50b72e60 EFLAGS: 00010202
  RAX: 0000000000000001 RBX: 00000000004021f0 RCX: 0000000000000000
  RDX: 0000000000000000 RSI: 00000000004062a0 RDI: 0000000000000001
  RBP: 00007fff50b72e70 R08: 0000000000000000 R09: 00007fa15d37cac0
  R10: 000000000040301c R11: 0000000000000246 R12: 0000000000401120
  R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
  CS: 0033 GS: 0000 FS: 0000 SS: 002b
  CR2: 0000000000000000

  RSP Dump:
  %rsp => 0x7fff50b72e60 | 70 2e b7 50 ff 7f 00 01 00 00 00 00 00 00 00 00 |p..P............|
          0x7fff50b72e70 | 80 2e b7 50 ff 7f 00 00 a9 12 40 00 00 00 00 00 |[email protected]|
          0x7fff50b72e80 | a0 2e b7 50 ff 7f 00 00 dc 12 40 00 00 00 00 00 |[email protected]|
          0x7fff50b72e90 | 00 00 00 00 00 00 00 00 40 c3 37 5d 01 00 00 00 |[email protected]]....|
          0x7fff50b72ea0 | c0 2e b7 50 ff 7f 00 00 d2 12 40 00 00 00 00 00 |[email protected]|
          0x7fff50b72eb0 | 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 |................|
          0x7fff50b72ec0 | e0 2e b7 50 ff 7f 00 00 d2 12 40 00 00 00 00 00 |[email protected]|
          0x7fff50b72ed0 | 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 |................|

  Call Trace: 
          [0x00000000401c91] ./main(??? 0+0x401c91)
          [0x000000004016d1] ./main(??? 0+0x4016d1)
          [0x000000004015cb] ./main(??? 0+0x4015cb)
          [0x00000000401526] ./main(??? 0+0x401526)
          [0x007fa15d25e040] /lib/x86_64-linux-gnu/libc.so.6(??? 0+0x5d25e040)
  %rip => [0x00000000401243] ./main(func_b+0x33)
          [0x000000004012a9] ./main(func_a+0x9)
          [0x000000004012dc] ./main(func_ss+0x2c)
          [0x000000004012d2] ./main(func_ss+0x22)
          [0x000000004012d2] ./main(func_ss+0x22)
          [0x000000004012d2] ./main(func_ss+0x22)
          [0x000000004012d2] ./main(func_ss+0x22)
          [0x0000000040133b] ./main(main+0x4b)
          [0x007fa15d245565] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xd5)
          [0x0000000040114e] ./main(_start+0x2e)
==========================================================

Maintainer

License

This project is licensed under the GNU GPL-2.0.

Issues
  • hpc_emerg: use sigaltstack to handle bad %rsp value

    hpc_emerg: use sigaltstack to handle bad %rsp value

    Aleksey Covacevice wrote:

    I hope you're aware that introspection through signal handlers is not reliable. Eg.: if your stack is corrupted somehow, there's little chance you can do anything else (since you can't even safely allocate local storage).

    Use sigaltstack() to guarantee some stack space even in stack corruption scenarios.

    Suggested-by: Aleksey Covacevice Link: https://t.me/assemblybr/37701 Signed-off-by: Ammar Faizi [email protected]

    The following changes since commit 19dfae6b163efb93c039e706c543db49aa6d47da:
    
      README.md: add maintainer (2021-08-15 17:49:07 +0700)
    
    are available in the Git repository at:
    
      https://github.com/ammarfaizi2/hpc_emerg dev_ammarfaizi2
    
    for you to fetch changes up to 8e5629ffd1dd36d716da9ec24cda2955c43a1865:
    
      hpc_emerg: use sigaltstack to handle bad %rsp value (2021-08-16 16:38:52 +0700)
    
    ----------------------------------------------------------------
    Ammar Faizi (1):
          hpc_emerg: use sigaltstack to handle bad %rsp value
    
     main.c                     | 12 ++++++++++--
     src/emerg/arch/x64/emerg.c | 21 +++++++++++++++++----
     2 files changed, 27 insertions(+), 6 deletions(-)
    
    opened by ammarfaizi2 0
Releases(v0.0.1-rc1)
Owner
Ammar Faizi
HPC software engineer. I love PHP, C/C++ and x86-64 CPU. I use GNU/Linux for everyday life. I am currently studying Japanese and CS.
Ammar Faizi
An easy to build CO2 Monitor/Meter with Android and iOS App for real time visualization and charting of air data, data logger, a variety of communication options (BLE, WIFI, MQTT, ESP-Now) and many supported sensors.

CO2-Gadget An easy to build CO2 Monitor/Meter with cell phone App for real time visualization and charting of air data, datalogger, a variety of commu

Mariete 19 Jun 23, 2022
⚡️Lightning-fast linter for .env files. Written in Rust 🦀

⚡️ Lightning-fast linter for .env files. Written in Rust ?? Dotenv-linter can check / fix / compare .env files for problems that may cause the applica

dotenv-linter 1.4k Jun 27, 2022
Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.

Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.

Pavel Stehule 1.8k Jun 21, 2022
A port of the Linux x86 IOLI crackme challenges to x86-64

This is a port of the original Linux x86 IOLI crackme binaries to x86-64. The original set of IOLI crackmes can be found here: https://github.com/Maij

Julian Daeumer 4 Mar 19, 2022
Open Redragon drivers for Linux. Currently only supporting some mice.

OpenDragon Open Redragon drivers for Linux. Currently only supporting some mice. Table of contents Support Installation Building from source Usage Sou

Alexa Ognjanovic 70 May 19, 2022
Accident Detection Prevention and an Emergency Solution (ADPES)

Arduino Code for integration of GSM module, GPS module, and various sensor to implement Accident Detection Prevention and an Emergency Solution (ADPES).

Md Imam Hossain 2 Apr 12, 2022
An open source re-implementation of Final Alert 1.0.2 written in C++.

Motivation The project is a rewrite of Final Alert 2, a map editor for Command and Conquer: Red Alert 2 and Command and Conquer: Yuri's Revenger and t

SEC-SOME 2 Nov 19, 2021
LibEFT: an EFT loading DLL for Emergency mods!

LibEFT: an EFT loading DLL for Emergency mods! "Ladies and gentlemen, I present... The disguised S3TC texture. There's no way it's anything else. I di

null 2 Dec 18, 2021
a work in progress try to make an IDE with the CSFML

EatSleepCode A work in progress for educational purpose. To help better understanding the CSFML lib. Installation clone this repo and do make Use case

Saverio 2 Jun 29, 2022
X11 file manager (work in progress)

xfiles This is a still incomplete file manager for X11. It can only navigate through directories, select files (and do nothing with them), call a sc

Seninha 13 Apr 9, 2022
SysWhispers Shellcode Loader (Work in Progress)

Shhhloader Shhhloader is a SysWhispers Shellcode Loader that is currently a Work in Progress. It takes raw shellcode as input and compiles a C++ stub

icyguider 351 Jun 25, 2022
This device repo aims to support booting AOSP on SDM845 devices supported by the mainline Linux kernel

device/generic/sdm845 (AOSP device config for SDM845 devices) This device repo aims to support booting AOSP on SDM845 devices supported by the mainlin

Caleb Connolly 15 Apr 7, 2022
A simple Linux kernel module that kills ptrace tracer and its tracees

dont_trace dont_trace is a simple Linux kernel module that kills ptrace tracer and its tracees. This kernel module relies upon the Linux kernel task_s

null 5 Mar 31, 2022
Flutter-Clock-and-Reminder-App - a highly functional clock and reminder app developed on flutter framework.

clock_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

Umar Baloch 5 Dec 27, 2021
A Flutter package that makes it easy to customize and work with your Flutter desktop app's system tray.

system_tray A Flutter package that that enables support for system tray menu for desktop flutter apps. on Windows, macOS and Linux. Features: - Modify

AnTler 103 Jun 24, 2022
If the button pressed esp will reset and App mode will on. App mode will on then led will on, network is connected led will off.

DHT22-to-Google-sheet-Reset-Using-ESP8266-LED-Switch If button pressed esp will reset and App mode will on. App mode will on then led will on, network

Md. Harun-Or-Rashid 4 Oct 5, 2021
An eventing framework for building high performance and high scalability systems in C.

NOTE: THIS PROJECT HAS BEEN DEPRECATED AND IS NO LONGER ACTIVELY MAINTAINED As of 2019-03-08, this project will no longer be maintained and will be ar

Meta Archive 1.7k Jun 15, 2022
A modern-day Boss Key software tool. Switch instantly from work to play & play to work with Bosky.

Bosky By: Seanpm2001, Bosky-dev Et; Al. Top README.md Read this article in a different language Sorted by: A-Z Sorting options unavailable ( af Afrika

Sean P. Myrick V19.1.7.2 1 Nov 11, 2021
Converts file formats supported by AdPlug to VGM format.

adlib2vgm Converts file formats supported by AdPlug to VGM format. Notice This tool is originally designed to work with the RetroWave OPL3 Sound Card.

SudoMaker 12 Feb 8, 2022