Server IP : 158.178.228.73 / Your IP : 80.80.80.153 Web Server : Apache/2.4.37 (Oracle Linux Server) OpenSSL/1.1.1k System : Linux ust-wp1-prod 5.15.0-308.179.6.el8uek.x86_64 #2 SMP Wed Apr 23 10:46:57 PDT 2025 x86_64 User : tomasFtp ( 1007) PHP Version : 8.4.8 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/proc/self/root/proc/2802828/root/bin/ |
Upload File : |
#!/usr/libexec/platform-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.gettext(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 as 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 as ex: print(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)