Debugging

Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2012-05-31 20:42:43
Size: 1679
Editor: ev
Comment:
Revision 5 as of 2012-06-01 15:53:01
Size: 2042
Editor: ev
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
<<TableOfContents>>

= Local deployment =
Line 3: Line 7:
'''Note: this does not yet provide retracing or a local copy of http://errors.ubuntu.com''' '''Note: this does not yet provide retracing of the reported crashes or a local copy of http://errors.ubuntu.com'''
Line 36: Line 40:
Apport should launch automatically. Make sure the "report this problem" box is checked, then press continue. A 0-byte .upload file should be created in /var/crash, your terminal window running whoopsie should show it uploading to the daisy server, and the apache logs should output the results. To see if the crash was completely processed into the database, run the following commands: Apport should launch automatically. Make sure the "report this problem" box is checked, then press continue. A 0-byte .upload file should be created in /var/crash, your terminal window running whoopsie should show it uploading to the daisy server, and the apache logs should output the results:
{{{
10
.55.60.56 - - [31/May/2012:10:52:19 +0000] "POST /a378de8de1bb41bf7454f8fc8a67
1283233e32a321d197a5ff2f0888a2da2363e1bfdd3eb41257638145a57c08de9693f0ceaa33f66f
bd633b1bf66224eb256e HTTP/1.1" 200 226 "-" "-"
}}}

To see if the crash was completely processed into the database, run the following commands:
Line 41: Line 52:
connect localhost/9160; connect $ETH0_IP_ADDRESS/9160;
Line 45: Line 56:

= Monitoring txstatsd traffic =
{{{
nc -l -u 8125
}}}

Local deployment

You can spin up an instance of daisy (lp:daisy), the Ubuntu error tracker database, for development and debugging.

Note: this does not yet provide retracing of the reported crashes or a local copy of http://errors.ubuntu.com

First, install and configure juju. Then run the following commands:

mkdir -p ~/bzr/precise/daisy
bzr branch lp:~ev/charms/precise/daisy/trunk ~/bzr/precise/daisy
juju deploy rabbitmq-server
juju deploy cassandra
juju deploy -u --repository ~/bzr local:daisy
juju add-relation rabbitmq-server daisy
juju add-relation daisy:db cassandra:database
juju status 2>/dev/null

None of the relations or nodes should be in the failure state. Get the IP address of the daisy server and start watching the apache error log:

juju ssh daisy/0
tail -f /var/log/apache2/error.log -f /var/log/apache2/access.log

Set up an SSH tunnel to your daisy server, then point whoopsie at it:

sudo stop whoospie
ssh -N -L 8080:$IP_ADDRESS_OF_DAISY:80 $IP_ADDRESS_OF_DAISY
sudo CRASH_DB_URL=http://localhost:8080 whoopsie -f

Create a crash report:

evince &; PID="$\\!"; sleep 3; kill -SEGV $PID

Apport should launch automatically. Make sure the "report this problem" box is checked, then press continue. A 0-byte .upload file should be created in /var/crash, your terminal window running whoopsie should show it uploading to the daisy server, and the apache logs should output the results:

10.55.60.56 - - [31/May/2012:10:52:19 +0000] "POST /a378de8de1bb41bf7454f8fc8a67
1283233e32a321d197a5ff2f0888a2da2363e1bfdd3eb41257638145a57c08de9693f0ceaa33f66f
bd633b1bf66224eb256e HTTP/1.1" 200 226 "-" "-"

To see if the crash was completely processed into the database, run the following commands:

juju ssh cassandra/0
cassandra-cli
connect $ETH0_IP_ADDRESS/9160;
use crashdb;
list OOPS;

Monitoring txstatsd traffic

nc -l -u 8125

ErrorTracker/Debugging (last edited 2012-06-01 15:53:01 by ev)