403Webshell
Server IP : 61.19.30.66  /  Your IP : 216.73.216.15
Web Server : Apache/2.2.22 (Ubuntu)
System : Linux klw 3.11.0-15-generic #25~precise1-Ubuntu SMP Thu Jan 30 17:39:31 UTC 2014 x86_64
User : www-data ( 33)
PHP Version : 5.3.10-1ubuntu3.48
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/share/apport/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share//apport/java_uncaught_exception
#!/usr/bin/python

'''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

#from apport import unicode_gettext as _

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:
		import urlparse
		url = report['MainClassUrl']

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

		if scheme == 'jar':
			# path is then a URL to the jar file
			scheme, netloc, path, params, query, fragment = urlparse.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()

Youez - 2016 - github.com/yon3zu
LinuXploit