HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/__pycache__/apport_python_hook.cpython-38.pyc
U

��8d�@s<dZddlZddlZdZdd�Zdd�Zdd	�Zd
d�ZdS)z:Python sys.excepthook hook to generate apport crash dumps.�Nz/etc/default/apportc	CsVddl}z2tt��}|��}W5QRX|�d||j�dkWStk
rPYdSXdS)z4Return whether Apport should generate crash reports.rNz^\s*enabled\s*=\s*0\s*$T)�re�open�CONFIG�read�search�M�IOError)r�f�conf�r�4/usr/lib/python3/dist-packages/apport_python_hook.py�enableds
r
cCs��zh|tfkrW��XdSzddl}|jWntk
rFYW��*dSXt�sXW��dSzddlm}|Wn tk
r�ddl	m}YnXddl
}ddl}ddlm
}m}z$tj�tj�t��tjd��}	WnTtttfk
�r&zt�dt���}	Wn tk
�r YYW��PdSXYnXt�|	tj��rFtj�|	��sPW�� dS||	��sdW��dSddl}
|
j� �}t!|d��r�|�"�}|dk�r�W���dS|dk�r�t#||�n||d	<|tk�r�|j$dk	�r�t%|j$�|d	<|�}
|j&||||
d
�|
�'��(�|d<|j)dd
gd�|�*�|	|d<d|k�rJt%t+t�,|	�j-��|d<zdtj|d<Wntk
�rrYnX|�.��r�W��dS|�/dd|	�}t�0�}dtj1�2dd�||f}d}tj�3|��r|
j4�5|��rt6|d��}||�d}W5QRX|dk�rW�hdSt�7|�nW�TdS|�r.t%|�|d<t�8t�6|tj9tj:Btj;Bd�d��}|�<|�W5QRXW5t�r�t�|||�XdS)z1Catch an uncaught exception and make a traceback.Nr)�StringIO)�likely_packaged�get_recent_crashesz/proc/%i/exe�
get_dbus_namez"org.freedesktop.DBus.Error.NoReplyz)org.freedesktop.DBus.Error.ServiceUnknown�_PythonExceptionQualifier)�file�	Traceback�
PYTHONPATH�
PYTHONHOME)�extraenv�ExecutablePath�ExecutableTimestampz%r�
PythonArgs�/�_z%s/%s.%i.crash�APPORT_REPORT_DIRz
/var/crash�rb��CrashCounteri��wb)=�sys�__excepthook__�KeyboardInterrupt�apt_pkg�DATE�ImportErrorr
�	cStringIOr�ior�	traceback�apport.fileutilsrr�os�path�realpath�join�getcwd�argv�	TypeError�AttributeError�
IndexError�readlink�getpid�OSError�access�X_OK�isfile�
apport.report�report�Report�hasattrr�dbus_service_unknown_analysis�errno�str�print_exception�getvalue�strip�
add_proc_info�
add_user_info�int�stat�st_mtime�
check_ignored�sub�getuid�environ�get�exists�	fileutils�seen_reportr�unlink�fdopen�O_WRONLY�O_CREAT�O_EXCL�write)�exc_type�exc_obj�exc_tbr%rrr*rr�binary�apport�pr�name�tb_file�mangled_program�user�pr_filename�
crash_counterr	rrr�apport_excepthook"s�




$








��

��rdc
Cs�ddlm}ddl}ddl}z"ddlm}m}m}|||fWn(tk
rfddlm}m}m}YnX|�d|�	��}|s�t
jr�t
j�d|�	��dS|�
d�}	g}
|d�D]�}|dd�}|j|d	d
�zL|�dd�|	k�r|�dd
�}
|jdd|
g|jd�dk}|
�||
|f�Wq�||fk
�rVt
j�rNt
j�d||�	�f�Yq�Yq�Xq�|
�snd|	|d<n>d|d<|
D]0\}}
}|dd||
|�r�dndf7<�qzdS)Nr)�glob)�ConfigParser�NoSectionError�
NoOptionErrorz/name\s+(\S+)\s+was not provided by any .servicez/Error: cannot parse D-BUS name from exception: rz%/usr/share/dbus-1/*services/*.service)�
interpolationzUTF-8)�encodingz
D-BUS Service�Name�Exec�pidofz-sx)�stdoutz"Invalid D-BUS .service file %s: %szno service file providing �DbusErrorAnalysiszprovided byz %s (%s is %srunning)�znot )re�
subprocessr�configparserrfrgrhr'r�get_dbus_messager"�stderrrW�grouprrN�call�PIPE�append)rYr<rerqrrfrgrh�m�	dbus_name�servicesr	�cp�exe�running�servicerrrr?�sT��

�
�r?cCs
tt_dS)zInstall the python apport hook.N)rdr"�
excepthookrrrr�install�sr�)�__doc__r,r"rr
rdr?r�rrrr�<module>s.