Search
Search
Search
Search
Information
Information
Light
Dark
Open actions menu
Basic upload method
Bypass upload method
Tips!
If you encounter an error (by firewall) while uploading using both methods,
try changing extension of the file before uploading it and rename it right after.
This uploader supports multiple file upload.
Submit
~
usr
share
apport
File Content:
java_uncaught_exception
#!/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()
Edit
Download
Unzip
Chmod
Delete