404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.21.114.165: ~ $
#!/usr/bin/python3

'''Receive details from ApportUncaughtExceptionHandler.

This generates and saves a problem report.
'''

# Copyright 2010 Canonical Ltd.
# Author: Matt Zimmerman <mdz@ubuntu.com>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.  See http://www.gnu.org/copyleft/gpl.html for
# the full text of the license.

import sys

if sys.version_info.major < 3:
    from urlparse import urlparse
    urlparse  # pyflakes
else:
    from urllib.parse import urlparse


def make_title(report):
    lines = report['StackTrace'].split('\n')
    message = lines[0].strip()
    stackframe = lines[1].strip()
    return '%s in %s' % (message, stackframe)


def main():
    from apport.packaging_impl import impl as packaging
    if not packaging.enabled():
        return -1

    # read from the JVM process a sequence of key, value delimited by null
    # bytes
    items = sys.stdin.read().split('\0')
    d = dict()
    while items:
        key = items.pop(0)
        if not items:
            break
        value = items.pop(0)
        d[key] = value

    # create report
    import apport.report
    import os

    report = apport.report.Report(type='Crash')
    # assume our parent is the JVM process
    report.pid = os.getppid()

    report.add_os_info()
    report.add_proc_info()
    # these aren't relevant because the crash was in bytecode
    del report['ProcMaps']
    del report['ProcStatus']
    report.add_user_info()

    # add in data which was fed to us from the JVM process
    for key, value in d.items():
        report[key] = value

    # Add an ExecutablePath pointing to the file where the main class resides
    if 'MainClassUrl' in report:
        url = report['MainClassUrl']

        scheme, netloc, path, params, query, fragment = urlparse(url)

        if scheme == 'jar':
            # path is then a URL to the jar file
            scheme, netloc, path, params, query, fragment = urlparse(path)
            if '!/' in path:
                path = path.split('!/', 1)[0]

        if scheme == 'file':
            report['ExecutablePath'] = path
        else:
            # Program at some non-file URL crashed. Give up.
            return

    report['Title'] = make_title(report)

    try:
        with apport.fileutils.make_report_file(report) as f:
            report.write(f)
    except (IOError, OSError) as e:
        apport.fatal('Cannot create report: ' + str(e))


if __name__ == '__main__':
    main()

Filemanager

Name Type Size Permission Actions
general-hooks Folder 0755
package-hooks Folder 0755
symptoms Folder 0755
testsuite Folder 0755
apport File 31.6 KB 0755
apport-checkreports File 1.24 KB 0755
apport.jar File 2.38 KB 0644
apportcheckresume File 3.14 KB 0755
dump_acpi_tables.py File 1.41 KB 0755
dump_acpi_tables.pyc File 1.53 KB 0644
gcc_ice_hook File 1.18 KB 0755
is-enabled File 672 B 0755
iwlwifi_error_dump File 1.92 KB 0755
java_uncaught_exception File 2.58 KB 0755
kernel_crashdump File 2.82 KB 0755
kernel_oops File 1.2 KB 0755
package_hook File 2.15 KB 0755
recoverable_problem File 2.25 KB 0755
root_info_wrapper File 96 B 0755
unkillable_shutdown File 3.41 KB 0755
whoopsie-upload-all File 5.58 KB 0755