From owner-freebsd-gnome@FreeBSD.ORG Fri Nov 5 17:24:16 2010 Return-Path: Delivered-To: gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6CF5D106564A; Fri, 5 Nov 2010 17:24:16 +0000 (UTC) (envelope-from avg@freebsd.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 862EF8FC12; Fri, 5 Nov 2010 17:24:14 +0000 (UTC) Received: from odyssey.starpoint.kiev.ua (alpha-e.starpoint.kiev.ua [212.40.38.101]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id TAA17168; Fri, 05 Nov 2010 19:24:10 +0200 (EET) (envelope-from avg@freebsd.org) Message-ID: <4CD43DBA.1000308@freebsd.org> Date: Fri, 05 Nov 2010 19:24:10 +0200 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.11) Gecko/20101021 Lightning/1.0b2 Thunderbird/3.1.5 MIME-Version: 1.0 To: Kevin Oberman References: <20101105161556.0AE311CC0F@ptavv.es.net> <4CD42F13.6020105@icyb.net.ua> <4CD43218.60205@freebsd.org> In-Reply-To: <4CD43218.60205@freebsd.org> X-Enigmail-Version: 1.1.2 Content-Type: text/plain; charset=KOI8-U Content-Transfer-Encoding: 7bit Cc: gnome@freebsd.org, bug-followup@freebsd.org Subject: Re: ports/151725: sysutils/hal: hald fails to start with dbus-1.4 X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Nov 2010 17:24:16 -0000 on 05/11/2010 18:34 Andriy Gapon said the following: > Run started hald-probe-scsi (20000) (0) > ! full path is '/usr/local/libexec/hald-probe-scsi', program_dir is > '/usr/local/libexec' > 18:30:33.136 [I] hald_runner.c:110: runner_server_message_handler: > destination=(null) obj_path=/org/freedesktop/DBus/Local > interface=org.freedesktop.DBus.Local method=Disconnected > 18:30:33.136 [I] hald_runner.c:151: runner process disconnected > *** [DIE] hald_runner.c:runner_died():204 : Runner died > Not sure what is the problem, perhaps someone who knows the code better can come up with an explanation, but the following informally specified patch seems to fix the issue for me (verified with 24 hald start-ups): In hald-runner/runner.c, function run_request_run(): g_free (program_dir); -if (r->input) { +if (r->input && strlen(r->input) > 0) { if (write(stdin_v, r->input, strlen(r->input)) != (ssize_t) strlen(r->input)) printf("Warning: Error while writing r->input (%s) to stdin_v.\n", r->input); close(stdin_v); } I hope that it's easy to apply this change by hand. I will have a proper patch once I clean out all my debugging modifications from the sources. It looked like the issue was caused by the above write() call after a sufficiently quick child process had already exited. -- Andriy Gapon