Your IP : 172.28.240.42


Current Path : /usr/share/apport/testsuite/
Upload File :
Current File : //usr/share/apport/testsuite/test_report.pyc


Yc@s
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
ZddlZddl
ZyddlmZWn!ek
rddlmZnXdejfdYZedkrejndS(iN(tStringIOtTcBs.eZdZdZdZdZdZdZdZdZ	e
d!dd	d
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"RS("cCsptjjd}tjj}|jt|jd|jd|j|dd|j	|j|dd|j
d|dktjj}|jt|jd|d	<|j|j|dd|j	|j|dd|j
d|dk|j
d
|dk|j
d|ktjj}d|d	<|j|j
d|kd
S(sadd_package_info().tbashtnonexistant_packagetPackagesbash t
SourcePackagetlibctDependenciess	/bin/bashtExecutablePaths

tPackageArchitectures/nonexistingN(tapportt	packagingtget_versiontreporttReporttassertRaisest
ValueErrortadd_package_infotassertEqualtstript
assertTruetKeyError(tselftbashversiontpr((s*/usr/share/apport/testsuite/test_report.pyttest_add_package_infos(




cCs|tjj}|j|j|djd|jt|dd|jt|dd|j|ddS(sadd_os_info().tUnametLinuxt
DistroReleaset
startswithitArchitectureN(	R
R
Rtadd_os_infoRRthasattrt
assertGreatertlen(RR((s*/usr/share/apport/testsuite/test_report.pyttest_add_os_info-s
cCstjj}|j|jd|kx7|djD]%}|jtj|jdkq=W|jtj	t
jj|dkdS(sadd_user_info().t
UserGroupsiN(
R
R
Rt
add_user_infoRtsplittgrptgetgrnamtgr_gidtgetgrgidtostgetgidtgr_name(RRtg((s*/usr/share/apport/testsuite/test_report.pyttest_add_user_info7s
#c
Csdtjkstdtjj}|j|jd"|j	|j|jtj
|jtddddgj
t|jd|jdtjd|dk|jd|dk|jd	|dk|jd
|dk|jt|dttjtjtjj}|j	d
d	g|jd|dkd	tjkr|jdtjd	|dknt}tjdkrtjdddt}ntjj}|jt|j	d|rtjdddn|j|jd|jd|dk|d|j|djd|d|jd|ktjdddddgdtjdtjdtjdt}|jstxCtrtd |j$}|jrPntj d!Wd"QXqWtjj}|j	d#|j|j|j|j|j!d$|j|dd%|j|dd&|jd|k|jd&|dk|jd'|dktj"j#d(std)tjd*gdtjdt}|jstxCtrFtd |j$}|jr0Pntj d!Wd"QXqWtjj}|j|_|j	|j!d+|j$d|k|j%d|j|dtj"j&d(|jt|dttjtj"j&d(jtjd,d-gdtjdt}|js#txCtrhtd |j$}|jrRPntj d!Wd"QXq&Wtjj}|j	d#|j|j!d$|j|dj'd.t|d7}|j|dtj"j&|j(j)d/Wd"QX|jt|dttj|dj|jd'|dkt*j+\}}tj,|d0tj-|tj.|d1tj|gdtjdtjdt}|jstxCtrtd |j$}|jrPntj d!Wd"QXqWtjj}|j	d#|j|j!d$|j|d||jt|dttj|jtj/||jd2|dk|jd2|dk|jd'|dk|jt0|j	|jd"S(3sadd_proc_info().tLANGsplease set $LANG for this testtProcEnvirontProcMapstProcCmdlinesreport has required fieldssLANG=tUSERtPWDs	report.pyRtExecutableTimestamptextraenvsPWD=iiiitinitt
ProcStatussError:tInterpreterPathtcats/foo bars\hs\ \t-tstdintstdouttstderrt	close_fdss/proc/%i/cmdlineg?Ntpids
scat /foo\ bar \\h \\\ \\ -s/bin/cats[stack]s/bin/shs+/bin/sh needs to be a symlink for this testtshsexit
tzgreptfoos	bin/zgrepis2#!/usr/bin/python
import sys
sys.stdin.readline()
itpython(1R+tenvirontAssertionErrorR
R
RRRAtNonet
add_proc_infotgetpidRtsettissubsettkeystinttstatt__file__tst_mtimetFalsetgetuidt	setresuidtTrueRtOSErrorRt
subprocesstPopentPIPEtopentreadttimetsleeptcommunicatetpathtislinktassertFalsetgettrealpathtendswithtreadlineRttempfiletmkstemptwritetclosetchmodtunlinkR(RRtrestore_roottptfdt
testscript((s*/usr/share/apport/testsuite/test_report.pyttest_add_proc_infoCs
%"%	!	
		

 %		

)	
	

cCs~tjdgdtjdidd6}tjdtjj}|jd|j	|j
d|jd|d	kd
tjdgdtjdidd6}tjdtjj}|jd|j	|j
d|jd|d	kd
tjdgdtjdidd6}tjdtjj}|jd|j	|j
d|jd|d	kddS(sclassification of $PATH.R;R=tenvsG/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/gamestPATHg?RAtR1s+system default $PATH should be filtered outs/usr/sbin:/usr/bin:/sbin:/binsPATH=(custom, no user)s%PATH is customized without user pathss)/home/pitti:/usr/sbin:/usr/bin:/sbin:/binsPATH=(custom, user)s"PATH is customized with user pathsN(
RWRXRYR\R]R
R
Rtadd_proc_environRAR^RaR(RRmtr((s*/usr/share/apport/testsuite/test_report.pyttest_add_path_classifications0





cCst}tjdkr4tjdddt}nztj}tjj	}d|d<d|d<d|j
|d	<|j|j|dd|j
d
|k|jtjj	}d|d<d|d<d
|d	<|j|j|dd|j
d
|ktjj	}d|d<d|d<d|d	<|j|j|dd|j|d
dtjj	}d|d<d|d<d|d	<|j|j|dd|j|d
dtjj	}d|d<d|d<d|d	<|j|j|dd|j|d
dtjj	}d|d<d|d<d|d	<|j|j|dd|j|d
dtjj	}d|d<d|d<d|d	<|j|j|dd|j
d
|ktjj	}d|d<d|d<d|d	<|j|j|d
d|j|ddtjj	}d|d<d|d<d|d	<|j|j|dd|j
d
|ktjj	}d|d<d|d<d|d	<|j|j|d
d|j|ddtjj	}d|d<d|d<d|d	<|j|j|dd|j
d
|ktjj	}d|d<d |d<d!|d	<|j|j|d
d|j|dd"tjj	}d|d<d |d<d#|d	<|j|j|d
d|j|dd"tjj	}d$|d<d |d<d%|d	<|j|j|d
d$|j|dd"tjj	}d$|d<d|d<d&|d	<|j|j|d
d$|jd'|dkd(|dWd)|rtjdddnXd)S(*s_check_interpreted().iiis/usr/bin/geditRsName:	geditR9tgedit/R3R:s	/bin/dashsName:	znonexistingtnonexisting/foosName:	zgreps/bin/sh/bin/zgrepfoos
/bin/zgreps
Name:	dashs
/usr/bin/monotzgrep--debug/bin/zgreptzgrep/bin/zgreps/usr/bin/pythontpython/etc/shadowtpython/etc/passwds/etc/passwdsName:	shadows
../etc/shadowsName:	passwds
../etc/passwds/bin/../etc/passwdsName:	pythonREs
Name:	bashtpython/bin/bashs	/bin/bashtpython-OO/bin/bashs/usr/bin/python2.7s/usr/bin/python/bin/bashtpython-tt-mapport/report-vR
s)expecting "report" in ExecutablePath "%s"N(RRR+RSRTRURftNamedTemporaryFileR
R
Rtnamet_check_interpretedRRaRiR(RRltfR((s*/usr/share/apport/testsuite/test_report.pyttest_check_interpreteds	



























































cCstjj}d|d<d|d<d|d<tj}z dddgt_|jWd	|t_X|j|djd
|d|j|dd|j	d|d	S(
s-_check_interpreted() does not run module codes/usr/bin/pythonRsName:	pythonR9tpython-munittest.__main__R3s-msunittest.__main__Nsunittest/__main__.pyR:tUnreportableReason(
R
R
RtsystargvRRRdRtassertNotIn(RRt	orig_argv((s*/usr/share/apport/testsuite/test_report.pyttest_check_interpreted_no_execs


	
cCstjj}d|d<d|d<d|d<|j|j|dd|j|dd	tjj}d|d<d|d<d
|d<|j|j|dd|j|dd	tjj}d|d<d|d<d|d<|j|j|dd
|j|dd	tjj}d|d<d|d<d|d<|j|jd|k|jd|k|j|dd	dS(s4_check_interpreted() for programs ran through twistds/usr/bin/python2.7RsName:	twistdR9s/usr/bin/python/usr/bin/twistd--uidroot--gidroot--pidfile/var/run/nanny.pid-rglib2--logfile/var/log/nanny.log-y/usr/share/nanny/daemon/nanny.tapR3s!/usr/share/nanny/daemon/nanny.tapR:s/usr/bin/twistds/usr/bin/python/usr/bin/twistd--pidfile=/var/run/apt-p2p//apt-p2p.pid--rundir=/var/run/apt-p2p/--python=/usr/sbin/apt-p2p--logfile=/var/log/apt-p2p.log--no_saves/usr/sbin/apt-p2ps~/usr/bin/python/usr/bin/twistd-rgtk2--pidfile/tmp/vmc.pid-noy/usr/share/vodafone-mobile-connect/gtk-tap.py-l/dev/nulls-/usr/share/vodafone-mobile-connect/gtk-tap.pys/usr/bin/python/usr/bin/twistd--pidfile=/var/run/poker-network-server.pid--logfile=/var/log/poker-network-server.log--no_save--reactor=pollpokerserverRN(R
R
RRRR(RR((s*/usr/share/apport/testsuite/test_report.pyttest_check_interpreted_twistds:















t11sS
int f(x) {
    int* p = 0; *p = x;
    return x+1;
}
int main() { return f(42); }
c	Csd}tj}tjj}zptj}tj	t
j|tj|t
dd}|j|WdQXtjdddddgdksttjjdsttjd	d
dddd
dgdtjtjjdsttjdddgdtjdks'ttjj|d|d<tjj|df|d<||d<|j|r|j||jnWdtj|X|S(s'Create a test executable which will die with a SIGSEGV, generate a
        core dump for it, create a problem report with those two arguments
        (ExecutablePath and CoreDump) and call add_gdb_info().

        If file is given, the report is written into it. Return the apport.report.Report.scrash.ctwNtgccs-gs-otcrashitgdbs--batchs--extrunsgenerate-core-file cores./crashR>tcoretreadelfs-nRtCoreDumptSignal(RHR+tgetcwdR
R
RRftmkdtemptatexittregistertshutiltrmtreetchdirRZRhRWtcallRGR_texistsRYtjointadd_gdb_infotflush(tklasstfiletsignaltcodetworkdirtorig_cwdRRn((s*/usr/share/apport/testsuite/test_report.pyt_generate_sigsegv_reports2
*


cCsL|jd|k|jd|k|jd|k|jd|k|jd|k|jd|dk|jd|dk|d|jtjd|d|jd	|dk|jd
|dk|jd	|dk|jd
|dk|jd|dk|jt|djdkdS(
Nt
StacktracetThreadStacktracet
StacktraceTopt	RegisterstDisassemblys(no debugging symbols found)sCore was generated bys(?s)(^|.*\n)#0  [^\n]+\n#0  s#0  0xs#1  0xs
Thread 1 (i(RtretmatchR"t
splitlines(RR((s*/usr/share/apport/testsuite/test_report.pyt_validate_gdb_fieldsscCstjj}|j|j}|j||j|dd|d|jd|k|jdd}|j||jd|dk|d|jd|kdS(	s-add_gdb_info() with core dump file reference.Rs*f (x=42) at crash.c:3
main () at crash.c:6tAssertionMessageRsR
int main() {
    void     (*function)(void);
    function = 0;
    function();
}
s#Cannot access memory at address 0x0RN(	R
R
RRRRRRaR(RR((s*/usr/share/apport/testsuite/test_report.pyttest_add_gdb_infos

		
cCsftj}|j||jdtjj}|jt|j	|j
|j|dS(s%add_gdb_info() with inline core dump.iN(RfRRtseekR
R
RtloadRZRRR(RtrepR((s*/usr/share/apport/testsuite/test_report.pyttest_add_gdb_info_loads


cCs|j}|d=|d=|d=|d=tj|ddd|jt|j|jd||jd||jd|d	d
S(s%add_gdb_info() with damaged core dumpRRRRRii'sInvalid core dumpRN(RR+ttruncateRtIOErrorRRtassertIn(RR((s*/usr/share/apport/testsuite/test_report.pyttest_add_gdb_info_damaged'scCs9tj}|j||jdtjj}|jt|j	d|d<|j
d|jd|jktjj}|jt|j	|j
d|jd|dk|d|j
|j
d|jd|dk|d|j|j
d|jd|dk|dd	S(
s$parse-segv produces sensible resultsit1Rtfake_uitSegvAnalysiss.Skipped: missing required field "Architecture"s*Skipped: missing required field "ProcMaps"s!not located in a known VMA regionN(RfRRRR
R
RRRZRtadd_hooks_infoRRMRRI(RRR((s*/usr/share/apport/testsuite/test_report.pyttest_add_zz_parse_segv_details9s*








cCsztj\}}tjjtjj|d}tjj|sLtztj|t	|d}|j
dWdQXtj|dtj
|gdksttjdtj
dd	|gd
tjdksttjj}d|d<||d
<|f|d<|jWdtj|tj|X|j||jd|dkprd|dkdS(sadd_gdb_info() with a script.RRs>#!/bin/bash
cd `dirname $0`
ulimit -c unlimited
kill -SEGV $$
NiiiRs-nR>s	/bin/bashR:RRslibc.soRsin execute_command(RfRgR+R_RtdirnameRRGRiRZRhRjRWRR\R]RYR
R
RRRkRR(RRntscripttcoredumpR((s*/usr/share/apport/testsuite/test_report.pyttest_add_gdb_info_scriptUs,!







cCstj\}}tjjds+tztj|t|d}|jdWdQXtj	|dt
j|gdksttj
dt
jdd	dgd
t
jdksttjj}|d|d<d|d
<|jWdtj|tj|dtjdX|j||jd|dk|d|j|djd|d|jd|dk|d|j|djd|dtj\}}tjjdstztj|t|d}|jdWdQXtj	|dt
j|gdksBtt
jdd	dgd
t
jdksottjj}|d|d<d|d
<|jWdtj|tj|dtjdX|j||jd||dk|d|j|djd|d|jd|dk|d|j|djd|dtj\}}tjjdstztj|t|d}|jdWdQXtj	|dt
j|gdkstt
jdd	dgd
t
jdksttjj}|d|d<d|d
<|jWdtj|tj|dtjdX|j||jd|k|jddS(sadd_gdb_info() with SIGABRT/assert()

        If these come from an assert(), the report should have the assertion
        message. Otherwise it should be marked as not reportable.
        RRs#!/bin/sh
gcc -o $0.bin -x c - <<EOF
#include <assert.h>
int main() { assert(1 < 0); }
EOF
ulimit -c unlimited
$0.bin 2>/dev/null
NiiiRs-nR>s.binRRs*<stdin>:2: main: Assertion `1 < 0' failed.Rt$s= 0xs\ns#!/bin/sh
gcc -O2 -D_FORTIFY_SOURCE=2 -o $0.bin -x c - <<EOF
#include <string.h>
int main(int argc, char *argv[]) {
    char buf[8];
    strcpy(buf, argv[1]);
    return 0;
}
EOF
ulimit -c unlimited
LIBC_FATAL_STDERR_=1 $0.bin aaaaaaaaaaaaaaaa 2>/dev/null
s2** buffer overflow detected ***: %s.bin terminateds|#!/bin/sh
gcc -o $0.bin -x c - <<EOF
#include <stdlib.h>
int main() { abort(); }
EOF
ulimit -c unlimited
$0.bin 2>/dev/null
(score(score(score(RfRgR+R_RRGRiRZRhRjRWRR\R]RYR
R
RRRkRRRaRRdRb(RRnRR((s*/usr/share/apport/testsuite/test_report.pyttest_add_gdb_info_abortys





	!!





!!




cCs-tjdd}|jd|jtjdd}|jd|jtjj}d|d<d|d<tjj}d	|d<d|d
<d|d<tjj}d
|d<d|d<tjj}d|d<|j|j|j	dd|d<|j|j|j	d|j|j|j	d|j|j|j	d|j
}tjd|d<|j|j|j	dd|d<|j|j|j	d*d|d<|j|j|j	d*dd|d<|j|j|j	d*dd|d<|j|j|j	d*dd|d
<|j|j|j	d*dd|d<|j|j|j	d*d |d=|j|j|j	d*d!|j|j|j	d*d"d#|d<|j|jd$d*d%|j|jd&d*d'|j|jd(d*d)d*S(+ssearch_bug_patterns().tprefixsapport-s<?xml version="1.0"?>
<patterns>
    <pattern url="http://bugtracker.net/bugs/1">
        <re key="Package">^bash </re>
        <re key="Foo">ba.*r</re>
    </pattern>
    <pattern url="http://bugtracker.net/bugs/2">
        <re key="Package">^bash 1-2$</re>
        <re key="Foo">write_(hello|goodbye)</re>
    </pattern>
    <pattern url="http://bugtracker.net/bugs/3">
        <re key="Package">^coreutils </re>
        <re key="Bar">^1$</re>
    </pattern>
    <pattern url="http://bugtracker.net/bugs/4">
        <re key="Package">^coreutils </re>
        <re key="Bar">*</re> <!-- invalid RE -->
    </pattern>
    <pattern url="http://bugtracker.net/bugs/5">
        <re key="SourcePackage">^bazaar$</re>
        <re key="LogFile">AssertionError</re>
    </pattern>
</patterns>s!<?xml version="1.0"?>
</patterns>sbash 1-2RtbazaartFoos
bazaar 2-1RRGtLogFilescoreutils 1RtBars	invalid 1shttp://bugtracker.net/bugs/1t
write_goodbyeshttp://bugtracker.net/bugs/2shttp://bugtracker.net/bugs/3shttp://bugtracker.net/bugs/5sbash-static 1-2s	bash 1-21s$does not match on wrong bash versiontzzs!does not match on wrong Foo valueRs!does not match on wrong Bar valuet	launchpads&does not match on wrong source packageRss!does not match on empty attributes!does not match on nonexisting keysgracefully handles invalid XMLsother 2sfile:///nonexisting/directory/s(gracefully handles nonexisting base pathshttp://security.ubuntu.com/s1gracefully handles base path without bug patternsshttp://nonexisting.domain/s)gracefully handles nonexisting URL domainN(RfRRhRR
R
RRtsearch_bug_patternsRtcopytproblem_reporttCompressedValueRH(Rtpatternstinvalidtr_bashtr_bazaartr_coreutilst	r_invalidtr_bash_compressed((s*/usr/share/apport/testsuite/test_report.pyttest_search_bug_patternssr

















cCstjj}tjtj_tjj}tjtj_zttjj	tjjdd}|j
dWdQXttjj	tjjdd}|j
dWdQXttjj	tjjdd}|j
dWdQXttjj	tjjd	d}|j
d
WdQXttjj	tjjdd}|j
dWdQXtjj}d
|d<|j|j
dt|jt|jtddddddgdtjj}d|d<|j|j
dt|jt|jtddddddgdtjj}d|d<|j|j
dt|jt|jtddddddddgd|j|dd|j|dd|j|dd|j|dd|j|ddtjj}d|d<|j|j
dt|jt|jtddddddddgd|j|dd|j|dd|j|dd|j|ddd|d <|j|j
dttjj}d!|d<|j|j
dtttjj	tjjd"d}|j
d#WdQXtjj}d|d$<d%|d<|j|j
dt|jt|jtdddd$dddddg	d|j|dd|j|dd|j|dd|j|dd|j|ddd&|d<|j|j
dtWdtjtjjtjtjj|tj_|tj_XdS('sadd_hooks_info().sfoo.pyRs
import sys
def add_info(report):
    report['Field1'] = 'Field 1'
    report['Field2'] = 'Field 2\nBla'
    if 'Spethial' in report:
        raise StopIteration
Nsfoo1.pys
def add_info(report):
    report['CommonField1'] = 'CommonField 1'
    if report['Package'] == 'commonspethial':
        raise StopIteration
sfoo2.pysD
def add_info(report):
    report['CommonField2'] = 'CommonField 2'
sfoo3.pys@
def add_info(report, ui):
    report['CommonField3'] = str(ui)
tnotmes6
def add_info(report):
    report['BadField'] = 'XXX'
tbarRRtProblemTypetDatetCommonField1tCommonField2tCommonField3sreport has required fieldss	baz 1.2-3RDtField1tField2sField 1sField 2
Blas
CommonField 1s
CommonField 2s	foo 4.5-6RtSpethialtcommonspethials
source_foo.pys
def add_info(report, ui):
    report['Field1'] = 'Field 1'
    report['Field2'] = 'Field 2\nBla'
    if report['Package'] == 'spethial':
        raise StopIteration
Rslibfoo 3tspethial(R
R
t	_hook_dirRfRt_common_hook_dirRZR+R_RRhRRRRRRKRMRURR(Rt
orig_hook_dirtorig_common_hook_dirRnRu((s*/usr/share/apport/testsuite/test_report.pyttest_add_hooks_infoZs'
'
'
'
'






'



c	CsVtjjjj}tj}tjj|dtjjj_zttjj|dd}|j	dWdQXttjj|dd}|j	dWdQXtjj
}tjj|d|d<tjj
}tjj|d|d<tjj
}tjj|d|d<|j|jt
|j|jt
|j|jt
|j|j|jt
|j|jt|j|jt
|j|j|jt|j|jt|j|jt
tjdttjj|dd}|j	d	WdQX|j|jt|j|jt
|j|jt
ttjjjjd}|j	d
WdQX|j|jt
|j|jt
|j|jt
d|d<|j|jtjjtjjjjdWdtj||tjjj_XdS(
s"mark_ignore() and check_ignored().s
ignore.xmlRRNtcrapRtcpitcrapnewRss
/non existingi(R
R
t_ignore_fileRfRR+R_RRZRhRRt
check_ignoredRRtmark_ignoreRUR\R]tgetsizeRR(Rtorig_ignore_fileRRntbash_reptcrap_reptcp_rep((s*/usr/share/apport/testsuite/test_report.pyt
test_ignoringsR!!!


!

,
c	Cs7tjj}tjtj_tjj}dtj_ztjj}d|d<tjj}d|d<|j|jt	|j|jt	t
tjj
tjjdd}|jdWdQXt
tjj
tjjd	d}|jd
WdQX|j|jt	|j|jt	t
tjj
tjjdd}|jdWdQX|j|jt	|j|jtt
tjj
tjjd	d
}|jdWdQX|j|jt|j|jtWdtjtjj|tj_|tj_XdS(s*check_ignored() for system-wise blacklist.s/nonexistants	/bin/bashRs	/bin/craptREADMERs# Ignore file
#/bin/bash
Ntbl1s"/bin/bas
/bin/bashh
bash
bin/bash
tbl_2s
/bin/crap
tas
/bin/bash
(R
R
t_blacklist_dirRfRRRRRRRRZR+R_RRhRURR(Rtorig_blacklist_dirRRRRn((s*/usr/share/apport/testsuite/test_report.pyttest_blacklistings8

''''c	CsItjj}tjtj_tjjjj}dtjjj_ztjj}d|d<tjj}d|d<|j|jt	|j|jt	t
tjj
tjjdd}|jdWdQXt
tjj
tjjd	d}|jd
WdQX|j|jt	|j|jtt
tjj
tjjdd}|jdWdQX|j|jt	|j|jt	t
tjj
tjjd	d}|jd
WdQX|j|jt|j|jt	Wdtjtjj|tj_|tjjj_XdS(s*check_ignored() for system-wise whitelist.s/nonexistants	/bin/bashRs	/bin/crapRRs# Ignore file
#/bin/bash
Ntwl1s
/bin/bash
twl_2s
/bin/crap
s/bin/bas
/bin/bashh
bash
(R
R
t_whitelist_dirRfRRRRRRRRZR+R_RRhRURR(Rtorig_whitelist_dirRRRRn((s*/usr/share/apport/testsuite/test_report.pyttest_whitelisting9s8

''''cCs+tjj}|j|jd|d<|j|jd|d<|j|jd|d<|j|jd|d<|j|jd|d<|j|jd|d<|j|jd|d<|j|jd	|d<|j|jd
|d<|j|jdS(shas_useful_stacktrace().RsRs?? ()s?? ()
?? ()s!read () from /lib/libc.6.so
?? ()s-read () from /lib/libc.6.so
?? ()
?? ()
?? ()s=read () from /lib/libc.6.so
foo (i=1) from /usr/lib/libfoo.sosCread () from /lib/libc.6.so
foo (i=1) from /usr/lib/libfoo.so
?? ()sIread () from /lib/libc.6.so
foo (i=1) from /usr/lib/libfoo.so
?? ()
?? ()sOread () from /lib/libc.6.so
?? ()
foo (i=1) from /usr/lib/libfoo.so
?? ()
?? ()N(R
R
RRathas_useful_stacktraceR(RRu((s*/usr/share/apport/testsuite/test_report.pyttest_has_useful_stacktraceds(








cCstjj}|j|jd3d|d<d|d<d|d<|j|jdd|d<|j|jd	d
|d<|j|jdd|d<|j|jd	d
|d<|j|jdd|d<d|d<d|d<|j|jdtjj}d|d<d|d<|j|jdtjj}d|d<d|d<|j|jdtjj}d|d<d|d<|j|jdtjj}d|d<d|d<|j}|j|jd|j|jdtjj}d|d<d|d<|j|jdtjj}d |d<d!|d<|j|jd"tjjd#}d$|d#<|j|jd%d
|d&<|j|jd%d'|d&<|j|jd(d|d<d|d<d|d<d)|d*<d)|d+<|j|jdd,|d*<|j|jd-d.|d*<|j|jdtjjd/}d0|d1<|j|jd2d3S(4sstandard_title().RRs	/bin/bashRsfoo()
bar(x=3)
baz()
Rs"bash crashed with SIGSEGV in foo()t42s$bash crashed with signal 42 in foo()Rssbash crashed with signal 42s
??()
foo()s	??()
??()t6sfoo.c:42 main: i > 0Rs)bash assert failure: foo.c:42 main: i > 0s/usr/share/apport/apport-gtksATraceback (most recent call last):
File "/usr/share/apport/apport-gtk", line 202, in <module>
app.run_argv()
File "/var/lib/python-support/python2.5/apport/ui.py", line 161, in run_argv
self.run_crashes()
File "/var/lib/python-support/python2.5/apport/ui.py", line 104, in run_crashes
self.run_crash(f)
File "/var/lib/python-support/python2.5/apport/ui.py", line 115, in run_crash
response = self.ui_present_crash(desktop_entry)
File "/usr/share/apport/apport-gtk", line 67, in ui_present_crash
subprocess.call(['pgrep', '-x',
NameError: global name 'subprocess' is not definedt	Tracebacks`apport-gtk crashed with NameError in ui_present_crash(): global name 'subprocess' is not defineds|TypeError: Cannot create a consistent method resolution
order (MRO) for bases GObject, CanvasGroupableIface, CanvasGroupablesOapport-gtk crashed with TypeError: Cannot create a consistent method resolutionskTraceback (most recent call last):
  File "/x/foo.py", line 242, in setup_chooser
    raise "Moo"
Mo?o[a-1]s4apport-gtk crashed with Mo?o[a-1] in setup_chooser()sTraceback (most recent call last):
  File "/x/foo.py", line 242, in setup_chooser
    raise "
Key: "+key+" isn't set.
Restarting AWN usually solves this issue
"

Key: /apps/avant-window-navigator/app/active_png isn't set.
Restarting AWN usually solves this issuesapport-gtk crashed withssetup_chooser()s/usr/bin/gnome-aboutsTraceback (most recent call last):
  File "/usr/bin/gnome-about", line 30, in <module>
    import pygtk
  File "/usr/lib/pymodules/python2.6/pygtk.py", line 28, in <module>
    import nonexistent
ImportError: No module named nonexistent
sjgnome-about crashed with ImportError in /usr/lib/pymodules/python2.6/pygtk.py: No module named nonexistents
/usr/bin/dcutsTraceback (most recent call last):
  File "/usr/bin/dcut", line 28, in <module>
    import nonexistent
ImportError: No module named nonexistent
sFdcut crashed with ImportError in __main__: No module named nonexistentRRs&package bash failed to install/upgradetErrorMessagesbotched
not found
s1package bash failed to install/upgrade: not foundtamd64R	Rti386s<bash crashed with SIGSEGV in foo() [non-native i386 package]tallt
KernelOopss_------------[ cut here ]------------
kernel BUG at /tmp/oops.c:5!
invalid opcode: 0000 [#1] SMPtOopsTextskernel BUG at /tmp/oops.c:5!N(	R
R
RRtstandard_titleRHRRRd(RR
tt((s*/usr/share/apport/testsuite/test_report.pyttest_standard_titles
































cCs:tjj}|j|jgd|d<|j|jdgd|d<|j|jdgdtjjd|d<|j|jgd|d<|j|jdd	gd
tjjd|d<|j|jd	gdtjjdtjjd	f|d<|j|jgdS(
sobsolete_packages().sbash 0RRsbash 0 [modified: /bin/bash]sbash scoreutils 0
cron 0
Rt	coreutilstcrons+coreutils %s [modified: /bin/mount]
cron 0
scoreutils %s
cron %s
N(R
R
RRtobsolete_packagesRtget_available_version(RR
((s*/usr/share/apport/testsuite/test_report.pyttest_obsolete_packages&s"


cCs*tjj}d|d<|j|j|ddtjj}d|d<|j|j|ddtjj}d|d<|j|j|ddtjj}d|d<|j|j|ddtjj}d	|d<|j|j|dd
tjj}d|d<|j|j|ddtjj}d
|d<|j|j|ddtjj}d|d<|j|j|ddtjj}d|d<|j|j|ddtjj}d|d<|j|j|dddS(s_gen_stacktrace_top().s #0  0x10000488 in h (p=0x0) at crash.c:25
#1  0x100004c8 in g (x=1, y=42) at crash.c:26
#2  0x10000514 in f (x=1) at crash.c:27
#3  0x10000530 in e (x=1) at crash.c:28
#4  0x10000530 in d (x=1) at crash.c:29
#5  0x10000530 in c (x=1) at crash.c:30
#6  0x10000550 in main () at crash.c:31
RRsuh (p=0x0) at crash.c:25
g (x=1, y=42) at crash.c:26
f (x=1) at crash.c:27
e (x=1) at crash.c:28
d (x=1) at crash.c:29s#0 h (p=0x0) at crash.c:25
#1  0x100004c8 in g (x=1, y=42) at crash.c:26
#2 f (x=1) at crash.c:27
#3  0x10000530 in e (x=1) at crash.c:28
#4  0x10000530 in d (x=1) at crash.c:29
#5  0x10000530 in c (x=1) at crash.c:30
#6  0x10000550 in main () at crash.c:31
s#0  0x10000488 in raise () from /lib/libpthread.so.0
#1  0x100004c8 in ??
#2  <signal handler called>
#3  0x10000530 in e (x=1) at crash.c:28
#4  0x10000530 in d (x=1) at crash.c:29
#5  0x10000530 in c (x=1) at crash.c:30
#6  0x10000550 in main () at crash.c:31
sWe (x=1) at crash.c:28
d (x=1) at crash.c:29
c (x=1) at crash.c:30
main () at crash.c:31s#0  0x10000488 in raise () from /lib/libpthread.so.0
#1  ??
#2  <signal handler called>
#3  0x10000530 in e (x=1) at crash.c:28
#4  d (x=1) at crash.c:29
#5  0x10000530 in c (x=1) at crash.c:30
#6  0x10000550 in main () at crash.c:31
sW#0  0x10000488 in raise () from /lib/libpthread.so.0
#1  0x100004c8 in ??
#2  <signal handler called>
#3  0x10000530 in e (x=1) at crash.c:28
#4  0x10000530 in d (x=1) at crash.c:29
#5  0x10000123 in raise () from /lib/libpthread.so.0
#6  <signal handler called>
#7  0x10000530 in c (x=1) at crash.c:30
#8  0x10000550 in main () at crash.c:31
s|e (x=1) at crash.c:28
d (x=1) at crash.c:29
raise () from /lib/libpthread.so.0
<signal handler called>
c (x=1) at crash.c:30sT#0  0xb7d39cab in IA__g_logv (log_domain=<value optimized out>, log_level=G_LOG_LEVEL_ERROR,
    format=0xb7d825f0 "file %s: line %d (%s): assertion failed: (%s)", args1=0xbfee8e3c "xxx") at /build/buildd/glib2.0-2.13.5/glib/gmessages.c:493
#1  0xb7d39f29 in IA__g_log (log_domain=0xb7edbfd0 "libgnomevfs", log_level=G_LOG_LEVEL_ERROR,
    format=0xb7d825f0 "file %s: line %d (%s): assertion failed: (%s)") at /build/buildd/glib2.0-2.13.5/glib/gmessages.c:517
#2  0xb7d39fa6 in IA__g_assert_warning (log_domain=0xb7edbfd0 "libgnomevfs", file=0xb7ee1a26 "gnome-vfs-volume.c", line=254,
    pretty_function=0xb7ee1920 "gnome_vfs_volume_unset_drive_private", expression=0xb7ee1a39 "volume->priv->drive == drive")
    at /build/buildd/glib2.0-2.13.5/glib/gmessages.c:552
No locals.
#3  0xb7ec6c11 in gnome_vfs_volume_unset_drive_private (volume=0x8081a30, drive=0x8078f00) at gnome-vfs-volume.c:254
        __PRETTY_FUNCTION__ = "gnome_vfs_volume_unset_drive_private"
#4  0x08054db8 in _gnome_vfs_volume_monitor_disconnected (volume_monitor=0x8070400, drive=0x8078f00) at gnome-vfs-volume-monitor.c:963
        vol_list = (GList *) 0x8096d30
        current_vol = (GList *) 0x8097470
#5  0x0805951e in _hal_device_removed (hal_ctx=0x8074da8, udi=0x8093be4 "/org/freedesktop/Hal/devices/volume_uuid_92FC9DFBFC9DDA35")
    at gnome-vfs-hal-mounts.c:1316
        backing_udi = <value optimized out>
#6  0xb7ef1ead in filter_func (connection=0x8075288, message=0x80768d8, user_data=0x8074da8) at libhal.c:820
        udi = <value optimized out>
        object_path = 0x8076d40 "/org/freedesktop/Hal/Manager"
        error = {name = 0x0, message = 0x0, dummy1 = 1, dummy2 = 0, dummy3 = 0, dummy4 = 1, dummy5 = 0, padding1 = 0xb7e50c00}
#7  0xb7e071d2 in dbus_connection_dispatch (connection=0x8075288) at dbus-connection.c:4267
#8  0xb7e33dfd in ?? () from /usr/lib/libdbus-glib-1.so.2sgnome_vfs_volume_unset_drive_private (volume=0x8081a30, drive=0x8078f00) at gnome-vfs-volume.c:254
_gnome_vfs_volume_monitor_disconnected (volume_monitor=0x8070400, drive=0x8078f00) at gnome-vfs-volume-monitor.c:963
_hal_device_removed (hal_ctx=0x8074da8, udi=0x8093be4 "/org/freedesktop/Hal/devices/volume_uuid_92FC9DFBFC9DDA35")
filter_func (connection=0x8075288, message=0x80768d8, user_data=0x8074da8) at libhal.c:820
dbus_connection_dispatch (connection=0x8075288) at dbus-connection.c:4267sC#0  0x007cf416 in __kernel_vsyscall ()
No symbol table info available.
#1  0x01017c8f in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0x0101b2b5 in __GI_abort () at abort.c:92
#3  0x0807daab in meta_bug (format=0x80b0c60 "Unexpected X error: %s serial %ld error_code %d request_code %d minor_code %d)
") at core/util.c:398
#4  0x0806989c in x_error_handler (error=0xbf924acc, xdisplay=0x9104b88) at core/errors.c:247
#5  x_error_handler (xdisplay=0x9104b88, error=0xbf924acc) at core/errors.c:203
#6  0x00e97d3b in _XError (dpy=0x9104b88, rep=0x9131840) at ../../src/XlibInt.c:1583
#7  0x00e9490d in handle_error (dpy=0x9104b88, err=0x9131840, in_XReply=0) at ../../src/xcb_io.c:212
#8  0x00e94967 in handle_response (dpy=0x9104b88, response=0x9131840, in_XReply=0) at ../../src/xcb_io.c:324
#9  0x00e952fe in _XReadEvents (dpy=0x9104b88) at ../../src/xcb_io.c:425
#10 0x00e93663 in XWindowEvent (dpy=0x9104b88, w=16777220, mask=4194304, event=0xbf924c6c) at ../../src/WinEvent.c:79
#11 0x0806071c in meta_display_get_current_time_roundtrip (display=0x916d7d0) at core/display.c:1217
#12 0x08089f64 in meta_window_show (window=0x91ccfc8) at core/window.c:2165
#13 implement_showing (window=0x91ccfc8, showing=1) at core/window.c:1583
#14 0x080879cc in meta_window_flush_calc_showing (window=0x91ccfc8) at core/window.c:1806smeta_display_get_current_time_roundtrip (display=0x916d7d0) at core/display.c:1217
meta_window_show (window=0x91ccfc8) at core/window.c:2165
implement_showing (window=0x91ccfc8, showing=1) at core/window.c:1583
meta_window_flush_calc_showing (window=0x91ccfc8) at core/window.c:1806ss#0  g_logv (log_domain=0x7fd41db08a46 "Gdk", log_level=<optimized out>, format=0x7fd41db12e87 "%s", args1=0x7fff50bf0c18) at /build/buildd/glib2.0-2.29.16/./glib/gmessages.c:577
#1  0x00007fd42006bb92 in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at /build/buildd/glib2.0-2.29.16/./glib/gmessages.c:591
#2  0x00007fd41dae86f3 in _gdk_x11_display_error_event (display=<optimized out>, error=<optimized out>) at /build/buildd/gtk+3.0-3.1.12/./gdk/x11/gdkdisplay-x11.c:2374
#3  0x00007fd41daf5647 in gdk_x_error (error=0x7fff50bf0dc0, xdisplay=<optimized out>) at /build/buildd/gtk+3.0-3.1.12/./gdk/x11/gdkmain-x11.c:312
#4  gdk_x_error (xdisplay=<optimized out>, error=0x7fff50bf0dc0) at /build/buildd/gtk+3.0-3.1.12/./gdk/x11/gdkmain-x11.c:275
#5  0x00007fd41d5a301f in _XError (dpy=0x2425370, rep=<optimized out>) at ../../src/XlibInt.c:1583
#6  0x00007fd41d59fdd1 in handle_error (dpy=0x2425370, err=0x7fd408707980, in_XReply=<optimized out>) at ../../src/xcb_io.c:212
#7  0x00007fd41d5a0d27 in _XReply (dpy=0x2425370, rep=0x7fff50bf0f60, extra=0, discard=0) at ../../src/xcb_io.c:698
#8  0x00007fd41d5852fb in XGetWindowProperty (dpy=0x2425370, w=0, property=348, offset=0, length=2, delete=<optimized out>, req_type=348, actual_type=0x7fff50bf1038, actual_format=0x7fff50bf105c, nitems=0x7fff50bf1040, bytesafter=0x7fff50bf1048, prop=0x7fff50bf1050) at ../../src/GetProp.c:61
#9  0x00007fd41938269e in window_is_xembed (w=<optimized out>, d=<optimized out>) at canberra-gtk-module.c:373
#10 dispatch_sound_event (d=0x32f6a30) at canberra-gtk-module.c:454
#11 dispatch_queue () at canberra-gtk-module.c:815sXGetWindowProperty (dpy=0x2425370, w=0, property=348, offset=0, length=2, delete=<optimized out>, req_type=348, actual_type=0x7fff50bf1038, actual_format=0x7fff50bf105c, nitems=0x7fff50bf1040, bytesafter=0x7fff50bf1048, prop=0x7fff50bf1050) at ../../src/GetProp.c:61
window_is_xembed (w=<optimized out>, d=<optimized out>) at canberra-gtk-module.c:373
dispatch_sound_event (d=0x32f6a30) at canberra-gtk-module.c:454
dispatch_queue () at canberra-gtk-module.c:815s#0  0x00987416 in __kernel_vsyscall ()
No symbol table info available.
#1  0x00ebecb1 in *__GI_raise (sig=6)
        selftid = 945
#2  0x00ec218e in *__GI_abort () at abort.c:59
        save_stage = Unhandled dwarf expression opcode 0x9f
Rss#0  0x00987416 in __kernel_vsyscall ()
#1  __strchr_sse42 () at strchr.S:97
#2 h (p=0x0) at crash.c:25
#3  0x100004c8 in g (x=1, y=42) at crash.c:26
#4  0x10000999 in __memmove_ssse3 ()
#5 f (x=1) at crash.c:27
#6  0x10000530 in e (x=1) at crash.c:28
#7  0x10000999 in __strlen_sse2_back () at strchr.S:42
#8  0x10000530 in d (x=1) at crash.c:29
#9  0x10000530 in c (x=1) at crash.c:30
#10 0x10000550 in main () at crash.c:31
N(R
R
Rt_gen_stacktrace_topR(RRu((s*/usr/share/apport/testsuite/test_report.pyttest_gen_stacktrace_top@sb





























cCsqtjj}|j|jdd|d<d|d<d|d<|j|jdd|d<|j|jdd	|d<|j|jd|d=d
|d<|j|jdd
|d<|j|jdd|d<|j|jdd|d<d|d<|j|jdtjj}d|d<d|d<d|d<|j|jddS(scrash_signature().RRs
/bin/crashRsfoo_bar (x=1) at crash.c:28
d01 (x=1) at crash.c:29
raise () from /lib/libpthread.so.0
<signal handler called>
__frob::~frob (x=1) at crash.c:30RsE/bin/crash:42:foo_bar:d01:raise:<signal handler called>:__frob::~frobstfoo_bar (x=1) at crash.c:28
??
raise () from /lib/libpthread.so.0
<signal handler called>
__frob (x=1) at crash.c:30RssTraceback (most recent call last):
  File "test.py", line 7, in <module>
    print(_f(5))
  File "test.py", line 5, in _f
    return g_foo00(x+1)
  File "test.py", line 2, in g_foo00
    return x/0
ZeroDivisionError: integer division or modulo by zeroR	s1/bin/crash:ZeroDivisionError:test.py@7:_f:g_foo00s7TypeError: function takes exactly 0 arguments (1 given)s/bin/crash:TypeErrortFooBartKernelCrashRs
crash 4.0-8.9
GNU gdb 6.1
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...

      KERNEL: /usr/lib/debug/boot/vmlinux-2.6.31-2-generic
    DUMPFILE: /tmp/tmpRJZy_O
        CPUS: 1
        DATE: Thu Jul  9 12:58:08 2009
      UPTIME: 00:00:57
LOAD AVERAGE: 0.15, 0.05, 0.02
       TASKS: 173
    NODENAME: egon-desktop
     RELEASE: 2.6.31-2-generic
     VERSION: #16-Ubuntu SMP Mon Jul 6 20:38:51 UTC 2009
     MACHINE: i686  (2137 Mhz)
      MEMORY: 2 GB
       PANIC: "[   57.879776] Oops: 0002 [#1] SMP " (check log for details)
         PID: 0
     COMMAND: "swapper"
        TASK: c073c180  [THREAD_INFO: c0784000]
         CPU: 0
       STATE: TASK_RUNNING (PANIC)

PID: 0      TASK: c073c180  CPU: 0   COMMAND: "swapper"
 #0 [c0785ba0] sysrq_handle_crash at c03917a3
    [RA: c03919c6  SP: c0785ba0  FP: c0785ba0  SIZE: 4]
    c0785ba0: c03919c6
 #1 [c0785ba0] __handle_sysrq at c03919c4
    [RA: c0391a91  SP: c0785ba4  FP: c0785bc8  SIZE: 40]
    c0785ba4: c06d4bab  c06d42d2  f6534000  00000004
    c0785bb4: 00000086  0000002e  00000001  f6534000
    c0785bc4: c0785bcc  c0391a91
 #2 [c0785bc8] handle_sysrq at c0391a8c
    [RA: c0389961  SP: c0785bcc  FP: c0785bd0  SIZE: 8]
    c0785bcc: c0785c0c  c0389961
 #3 [c0785bd0] kbd_keycode at c038995c
    [RA: c0389b8b  SP: c0785bd4  FP: c0785c10  SIZE: 64]
    c0785bd4: c056f96a  c0785be4  00000096  c07578c0
    c0785be4: 00000001  f6ac6e00  f6ac6e00  00000001
    c0785bf4: 00000000  00000000  0000002e  0000002e
    c0785c04: 00000001  f70d6850  c0785c1c  c0389b8b
 #4 [c0785c10] kbd_event at c0389b86
    [RA: c043140c  SP: c0785c14  FP: c0785c20  SIZE: 16]
    c0785c14: c0758040  f6910900  c0785c3c  c043140c
 #5 [c0785c20] input_pass_event at c0431409
    [RA: c04332ce  SP: c0785c24  FP: c0785c40  SIZE: 32]
    c0785c24: 00000001  0000002e  00000001  f70d6000
    c0785c34: 00000001  0000002e  c0785c64  c04332ce
 #6 [c0785c40] input_handle_event at c04332c9
    [RA: c0433ac6  SP: c0785c44  FP: c0785c68  SIZE: 40]
    c0785c44: 00000001  ffff138d  0000003d  00000001
    c0785c54: f70d6000  00000001  f70d6000  0000002e
    c0785c64: c0785c84  c0433ac6
 #7 [c0785c68] input_event at c0433ac1
    [RA: c0479806  SP: c0785c6c  FP: c0785c88  SIZE: 32]
    c0785c6c: 00000001  00000092  f70d677c  f70d70b4
    c0785c7c: 0000002e  f70d7000  c0785ca8  c0479806
 #8 [c0785c88] hidinput_hid_event at c0479801
    [RA: c0475b31  SP: c0785c8c  FP: c0785cac  SIZE: 36]
    c0785c8c: 00000001  00000007  c0785c00  f70d6000
    c0785c9c: f70d70b4  f70d5000  f70d7000  c0785cc4
    c0785cac: c0475b31
    [RA: 0  SP: c0785ffc  FP: c0785ffc  SIZE: 0]
   PID    PPID  CPU   TASK    ST  %MEM     VSZ    RSS  COMM
>     0      0   0  c073c180  RU   0.0       0      0  [swapper]
      1      0   1  f7038000  IN   0.1    3096   1960  init
      2      0   0  f7038c90  IN   0.0       0      0  [kthreadd]
    271      2   1  f72bf110  IN   0.0       0      0  [bluetooth]
    325      2   1  f71c25b0  IN   0.0       0      0  [khungtaskd]
   1404      2   0  f6b5bed0  IN   0.0       0      0  [kpsmoused]
   1504      2   1  f649cb60  IN   0.0       0      0  [hd-audio0]
   2055      1   0  f6a18000  IN   0.0    1824    536  getty
   2056      1   0  f6a1d7f0  IN   0.0    1824    536  getty
   2061      1   0  f6a1f110  IN   0.1    3132   1604  login
   2062      1   1  f6a18c90  IN   0.0    1824    540  getty
   2063      1   1  f6b58c90  IN   0.0    1824    540  getty
   2130      1   0  f6b5f110  IN   0.0    2200   1032  acpid
   2169      1   0  f69ebed0  IN   0.0    2040    664  syslogd
   2192      1   1  f65b3ed0  IN   0.0    1976    532  dd
   2194      1   1  f6b5a5b0  IN   0.1    3996   2712  klogd
   2217      1   0  f6b74b60  IN   0.1    3008   1120  dbus-daemon
   2248      1   0  f65b7110  IN   0.2    6896   4304  hald
   2251      1   1  f65b3240  IN   0.1   19688   2604  console-kit-dae
RUNQUEUES[0]: c6002320
 RT PRIO_ARRAY: c60023c0
 CFS RB_ROOT: c600237c
  PID: 9      TASK: f703f110  CPU: 0   COMMAND: "events/0"
Rskernel:sysrq_handle_crash:__handle_sysrq:handle_sysrq:kbd_keycode:kbd_event:input_pass_event:input_handle_event:input_event:hidinput_hid_eventRs	/bin/bashsfoo.c:42 main: i > 0Rs/bin/bash:foo.c:42 main: i > 0N(R
R
RRtcrash_signatureRH(RRu((s*/usr/share/apport/testsuite/test_report.pyttest_crash_signatures2








]



cCstjj}d|d<d|d<d|d<|d|d<d|d	<|jt}|j||jd
tjj}|j|ddt|d
dst	|j
|jt|j
|j
d|j
|jddS(s#methods get along with binary data.RRs/bin/fooRsV#0  0x10000488 in h (p="") at crash.c:25
#1  0x10000550 in main () at crash.c:31
RRtpython-OO	/bin/bashR3itbinaryt
compressedRt	get_values/bin/foo:11:h:mainsfoo crashed with SIGSEGV in h()N(R
R
RRRRhRRR RGRRRURR(RRtio((s*/usr/share/apport/testsuite/test_report.pyttest_binary_datas 




	

cstjdddddftj}fdt_zrtjj}ddjd	|d
<dd|d<|j|j|d
d
|j|ddWd|t_XdS(s%methods get along with non-ASCII dataist♪xiiicsS(N(((tuname(s*/usr/share/apport/testsuite/test_report.pyt<lambda>su
ä %s ♥ isUTF-8tProcUnicodeValues
ä %s ♥ tProcByteArrayValueuä hostname ♥ sä hostname ♥ N(R+R$R
R
Rtdecodet	anonymizeR(Rt
orig_unameR((R$s*/usr/share/apport/testsuite/test_report.pyttest_nonascii_datas%	
cCstjj}|jt|jdd|d<|j|jdd|j|jdd|j|jdd|j|jd	d
|j|jdd|j|jd
d|j|jdd|j|jdd|j|jdddS(s_address_to_offset()isU
00400000-004df000 r-xp 00000000 08:02 1044485                            /bin/bash
006de000-006df000 r--p 000de000 08:02 1044485                            /bin/bash
01596000-01597000 rw-p 00000000 00:00 0
01597000-015a4000 rw-p 00000000 00:00 0                                  [heap]
7f491f868000-7f491f88a000 r-xp 00000000 08:02 526219                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7f491fa8f000-7f491fc24000 r-xp 00000000 08:02 522605                     /lib/x86_64-linux-gnu/libc-2.13.so
7f491fc24000-7f491fe23000 ---p 00195000 08:02 522605                     /lib/with spaces !/libfoo.so
7fff6e57b000-7fff6e59c000 rw-p 00000000 00:00 0                          [stack]
7fff6e5ff000-7fff6e600000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
R2iAs/bin/bash+1d703IVIs(/lib/x86_64-linux-gnu/libc-2.13.so+36687imims/bin/bash+0ims/bin/bash+1000imiI@Is/lib/with spaces !/libfoo.so+10N(R
R
RRRGt_address_to_offsetRRH(RR((s*/usr/share/apport/testsuite/test_report.pyttest_address_to_offsets
cCstjj}|j|j|jdd
|jt|djddddd}|j|jdddd|j	d	|jdddkd
S(s/_address_to_offset() for current /proc/pid/mapsiR2R<iiit+t5REN(
R
R
RRIRR,RHRNR&R(RRtres((s*/usr/share/apport/testsuite/test_report.pyttest_address_to_offset_lives
0 cCstjj}|j|jdd|d<d|d<d|d<|j|jdd|d<|j|jd	tjd
d|d<|j|jdd|d<|j}|j|dd
|d<|j|j|d|d<|j|jddS(scrash_signature_addresses()s	/bin/bashRRRsU
00400000-004df000 r-xp 00000000 08:02 1044485                            /bin/bash
006de000-006df000 r--p 000de000 08:02 1044485                            /bin/bash
01596000-01597000 rw-p 00000000 00:00 0
01597000-015a4000 rw-p 00000000 00:00 0                                  [heap]
7f491f868000-7f491f88a000 r-xp 00000000 08:02 526219                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7f491fa8f000-7f491fc24000 r-xp 00000000 08:02 522605                     /lib/x86_64-linux-gnu/libc-2.13.so
7f491fc24000-7f491fe23000 ---p 00195000 08:02 522605                     /lib/with spaces !/libfoo.so
7fff6e57b000-7fff6e59c000 rw-p 00000000 00:00 0                          [stack]
7fff6e5ff000-7fff6e600000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
R2sl
#0  0x00007f491fac5687 in kill () at ../sysdeps/unix/syscall-template.S:82
No locals.
#1  0x000000000043fd51 in kill_pid ()
#2  g_main_context_iterate (context=0x1731680) at gmain.c:3068
#3  0x000000000042eb76 in ?? ()
#4  0x00000000004324d8 in ??
No symbol table info available.
#5  0x00000000004707e3 in parse_and_execute ()
#6  0x000000000041d703 in _start ()
Rs/bin/bash:42:%s:/lib/x86_64-linux-gnu/libc-2.13.so+36687:/bin/bash+3fd51:/bin/bash+2eb76:/bin/bash+324d8:/bin/bash+707e3:/bin/bash+1d703isJ#0  0x00007f491fac5687 in kill () at ../sysdeps/unix/syscall-template.S:82s
#0  0x00007f491fac5687 in kill () at ../sysdeps/unix/syscall-template.S:82
No locals.
#1  0x000001000043fd51 in kill_pid ()
#2  g_main_context_iterate (context=0x1731680) at gmain.c:3068
#3  0x000000000042eb76 in ?? ()
#4  0x00000000004324d8 in ??
No symbol table info available.
#5  0x00000000004707e3 in parse_and_execute ()
#6  0x000000000041d715 in main ()
#7  0x000000000041d703 in _start ()
s
#0  0x00007f491fac5687 in kill () at ../sysdeps/unix/syscall-template.S:82
No locals.
#1  0x000001000043fd51 in kill_pid ()
#2  0x0000000000000010 in ??
#3  g_main_context_iterate (context=0x1731680) at gmain.c:3068
#4  0x000000000042eb76 in ?? ()
#5  0x0000000000000000 in ?? ()
#6  0x0000000000000421 in ?? ()
#7  0x00000000004324d8 in ??
No symbol table info available.
#8  0x00000000004707e3 in parse_and_execute ()
#9  0x000000000041d715 in main ()
#10 0x000000000041d703 in _start ()
s
#0  0x00007f491fac5687 in kill () at ../sysdeps/unix/syscall-template.S:82
No locals.
#1  0x000001000043fd51 in kill_pid ()
#2  g_main_context_iterate (context=0x1731680) at gmain.c:3068
#3  0x000001000042eb76 in ?? ()
#4  0x00000000004324d8 in ??
No symbol table info available.
#5  0x00000000004707e3 in parse_and_execute ()
#6  0x000000000041d715 in main ()
#7  0x000000000041d703 in _start ()
N(	R
R
RRtcrash_signature_addressesRHR+R$tassertNotEqual(RRtsig((s*/usr/share/apport/testsuite/test_report.pyttest_crash_signature_addressess$







N(#t__name__t
__module__RR#R/RpRvRRRtclassmethodRHRRRRRRRRRRRRRRRRRRR#R+R-R1R5(((s*/usr/share/apport/testsuite/test_report.pyR
sB		
			!			()			
			$	|	e	x	<	+	+	!							"	t__main__(tunittestRR\RfR+RWR'RRRt
apport.reportR
Rtapport.packagingt	cStringIORtImportErrorR"tTestCaseRR6tmain(((s*/usr/share/apport/testsuite/test_report.pyt<module>s"x
O