AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 3.12.155.2
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /bin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /bin/abrt-action-analyze-vmcore
#! /usr/bin/python -u
# -*- coding: utf-8 -*-
# Generate backtrace from vmcore
#

import os
import sys
import getopt
from subprocess import Popen, PIPE

from reportclient import verbose, set_verbosity, error_msg_and_die, error_msg

GETTEXT_PROGNAME = "abrt"
import locale
import gettext

_ = lambda x: gettext.lgettext(x)

def init_gettext():
    try:
        locale.setlocale(locale.LC_ALL, "")
    except locale.Error:
        os.environ['LC_ALL'] = 'C'
        locale.setlocale(locale.LC_ALL, "")
    # Defeat "AttributeError: 'module' object has no attribute 'nl_langinfo'"
    try:
        gettext.bind_textdomain_codeset(GETTEXT_PROGNAME, locale.nl_langinfo(locale.CODESET))
    except AttributeError:
        pass
    gettext.bindtextdomain(GETTEXT_PROGNAME, '/usr/share/locale')
    gettext.textdomain(GETTEXT_PROGNAME)


PROGNAME = "abrt-action-analyze-vmcore"

# everything was ok
RETURN_OK = 0
# serious problem, should be logged somewhere
RETURN_FAILURE = 2

ver = ""
if __name__ == "__main__":
    dmesg_log = "dmesg_log"
    cachedirs = []
    vmlinux_di_cachedir = ""
    vmlinux_di_path = ""
    tmpdir = ""
    vmcore = ""

    init_gettext()

    help_text = _("Usage: {0} [-v[v]] [--core=VMCORE]").format(PROGNAME)
    try:
        opts, args = getopt.getopt(sys.argv[1:], "hvd", ["help", "core="])
    except getopt.GetoptError, err:
        error_msg(str(err))  # prints something like "option -a not recognized"
        error_msg_and_die(help_text)
    usercache = False

    for opt, arg in opts:
        if opt in ("-h", "--help"):
            print help_text
            exit(0)
        elif opt == "-v":
            verbose += 1
        elif opt in ("-d"):
            try:
                os.chdir(arg)
            except OSError, ex:
                print str(ex)
                sys.exit(RETURN_FAILURE)

    if not vmcore:
        vmcore = os.path.join(os.getcwd(), "vmcore")

    set_verbosity(verbose)

    if not os.path.exists(vmcore):
        print _("File {0} doesn't exist").format(vmcore)
        sys.exit(RETURN_FAILURE)

    print _("Extracting the oops text from core")
    crash = Popen(["makedumpfile", "--dump-dmesg", "-f", vmcore, dmesg_log], stdout=PIPE, stderr=PIPE, bufsize=-1)
    out, err = crash.communicate()

    if crash.returncode != 0:
        error_msg_and_die(_("Can't process {0}:\n{1}").format(vmcore, err))

    backtrace_file = open("backtrace", "w")
    dump_oops = Popen(["abrt-dump-oops", "-u", ".", dmesg_log], stdout=backtrace_file, stderr=PIPE, bufsize=-1)
    out, err = dump_oops.communicate()
    backtrace_file.close()
    ret = dump_oops.returncode
    if dump_oops.returncode != 0:
        print _("Can't extract the oops message: '{0}'").format(err)
        sys.exit(ret)

    print _("Oops text extracted successfully")
    sys.exit(ret)

Anon7 - 2022
AnonSec Team