From owner-freebsd-hackers@FreeBSD.ORG Wed May 16 14:00:44 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB5CB106564A for ; Wed, 16 May 2012 14:00:44 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wg0-f42.google.com (mail-wg0-f42.google.com [74.125.82.42]) by mx1.freebsd.org (Postfix) with ESMTP id 42A258FC18 for ; Wed, 16 May 2012 14:00:44 +0000 (UTC) Received: by wgbds11 with SMTP id ds11so5393783wgb.1 for ; Wed, 16 May 2012 07:00:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=iitCo1De3X+pRspUPlAZUogtZjHOz/9vmRNyXevDNdM=; b=XEjCjsbtoiVL34vksY3ldvxAgSKNQT+8IWIk8mpEJ1REn14OvqwcHSfO1AyhKJsi3l 2Bu8EqmDhLNbHWJW/5vT7b2Ras/tfezNHNdXnBa+IWUEjfONfZgSO5LhO8J5TODtkOlq b8dfP5rbt07XvWEEkAMWMHTQCT7ygLtYhHXCXQsQXpvgBlU95eQJ7l0CvizhaEdPculJ 7EnxaAaMGkMpHUX8XKNlRPEzABUF/8l5NWLMT5MnRy1ypa1eqziR0NSVPuajTJTTEuiF 7PHJ9LYn4k5ythwVuE2O3YwRTvwNyE/UyNedz6+x3XWdLJQmegkSEXXyE5ygN0Yo64oX zt+w== Received: by 10.180.92.130 with SMTP id cm2mr8394241wib.4.1337176842776; Wed, 16 May 2012 07:00:42 -0700 (PDT) Received: from dft-labs.eu (dft-labs.eu. [80.87.128.179]) by mx.google.com with ESMTPS id h8sm9395880wix.4.2012.05.16.07.00.40 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 16 May 2012 07:00:41 -0700 (PDT) Date: Wed, 16 May 2012 16:00:33 +0200 From: Mateusz Guzik To: tzabal@it.teithe.gr Message-ID: <20120516140033.GB2470@dft-labs.eu> References: <20120516003020.82068pr8h9dyqjfw@webmail.teithe.gr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20120516003020.82068pr8h9dyqjfw@webmail.teithe.gr> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-hackers@freebsd.org Subject: Re: GSoC Project: Automated Kernel Crash Reporting System - Discussion X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 May 2012 14:00:44 -0000 On Wed, May 16, 2012 at 12:30:20AM +0300, tzabal@it.teithe.gr wrote: > Hello Community, > > I have the project "Automated Kernel Crash Reporting System" for > this GSoC and I would like to discuss my plans about it before > starting the coding on May 21. > Cogratulations. :) > I have created a page in the FreeBSD Wiki (http://wiki.freebsd.org/SummerOfCode2012/AutomatedKernelCrashReportingSystem) > where I describe in details the architecture of the system. > > Here are some points that I would like to be discussed: > > * The implementation of the kcrashreporter is planned to be done in > two shell scripts. The first shell script is a rc.d script and the > second is the actual program. I choose to code it in shell because > kcrashreporter invokes the kgdb to collect the necessary debugging > information. I think that using the shell instead of traditional > programming language for this kind of job is more straightforward > and natural. Do you have a different opinion? > Are you going to support textdumps? I would like to note that some machines have swap space only for textdumps, so I think you should support these. ddb is equiped with a lot of cool commands that show various important debugging information(e.g. show alllocks). AFAIK kgdb doesn't have such facilities so you will have to implement those first if you decide to use it (btw I think these would be useful even without this project). Take a look at tools/debugscripts. That being said, I would give a priority to support for textdumps (and in case kgdb support cannot be finished in time, I would make sure that the project is expendable enough to support information obtained from kgdb and possibly other sources). > * Can you recommend a secure way of sending a report from a FreeBSD > system to the Central Collector machine? > I don't know if these are good ideas (no clue about cryptography), but I would either: - HTTP POST data over SSL or - HTTP POST data encrypted with some public key > * Which data do you want kcrashreporter to collect? At the moment I > have considered the panic message, the backtrace, the version level > of the release, the hardware platform (uname -vm) and the > configuration file of the panicked kernel (config -x `sysctl -n > kern.bootfile`). > hardware information, dmesg, locks, locked vnodes, mount points, ps, backtraces of all threads Basically if ddb can show something easly enough (or you will be able to make it do so), the report should contain it. > * Do you propose a different Web Server than the Apache HTTP Server? > For example, on my initial planning I had included MySQL as the > selected DBMS and after some discussions I changed to PostgreSQL. > I guess this site won't be very busy, so whatever popular httpd you will choose it should be fine (although I would stick with either apache or nginx). No clue about databases. Also it would be nice to have a way to contact the owner of machine that submitted the report. One way I can think of is the ability to specify e-mail address (say in rc.conf?) that will be included in the report. -- Mateusz Guzik