From owner-freebsd-ports-bugs@FreeBSD.ORG Wed Dec 21 19:30:12 2011 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66D221065676 for ; Wed, 21 Dec 2011 19:30:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 3F5B38FC1B for ; Wed, 21 Dec 2011 19:30:12 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id pBLJUCO4028057 for ; Wed, 21 Dec 2011 19:30:12 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id pBLJUCKc028052; Wed, 21 Dec 2011 19:30:12 GMT (envelope-from gnats) Resent-Date: Wed, 21 Dec 2011 19:30:12 GMT Resent-Message-Id: <201112211930.pBLJUCKc028052@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Mel Flynn Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0ED1D106564A for ; Wed, 21 Dec 2011 19:20:13 +0000 (UTC) (envelope-from mel@datakitty.lan.rachie.is-a-geek.net) Received: from datakitty.lan.rachie.is-a-geek.net (rachie.is-a-geek.net [66.230.99.27]) by mx1.freebsd.org (Postfix) with ESMTP id B94158FC16 for ; Wed, 21 Dec 2011 19:20:12 +0000 (UTC) Received: from datakitty.lan.rachie.is-a-geek.net (localhost [127.0.0.1]) by datakitty.lan.rachie.is-a-geek.net (8.14.5/8.14.5) with ESMTP id pBLJKBoM020716; Wed, 21 Dec 2011 10:20:11 -0900 (AKST) (envelope-from mel@datakitty.lan.rachie.is-a-geek.net) Received: (from mel@localhost) by datakitty.lan.rachie.is-a-geek.net (8.14.5/8.14.5/Submit) id pBLJKBqv020715; Wed, 21 Dec 2011 10:20:11 -0900 (AKST) (envelope-from mel) Message-Id: <201112211920.pBLJKBqv020715@datakitty.lan.rachie.is-a-geek.net> Date: Wed, 21 Dec 2011 10:20:11 -0900 (AKST) From: Mel Flynn To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: MAINTAINER Subject: ports/163513: [PATCH] Fix automoc4 hangs cosmetically. X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Mel Flynn List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Dec 2011 19:30:12 -0000 >Number: 163513 >Category: ports >Synopsis: [PATCH] Fix automoc4 hangs cosmetically. >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Dec 21 19:30:11 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Mel >Release: FreeBSD 8.2-STABLE amd64 >Organization: >Environment: System: FreeBSD datakitty.lan.rachie.is-a-geek.net 8.2-STABLE FreeBSD 8.2-STABLE #5: Fri Nov 11 11:35:54 AKST 2011 mel@datakitty.lan.rachie.is-a-geek.net:/data/obj/data/RELENG_8/src/sys/GENERIC amd64 >Description: Automoc4 unpredictably hangs when calling cmake to print colored text. The root cause lies in QProcess calling async unsafe functions in a thread as analyzed here: http://lists.freebsd.org/pipermail/freebsd-stable/2011-May/062603.html The symptom is however easily mitigated by attached patch. >How-To-Repeat: Build one of the larger kde4 ports to increase chances of bug showing up. Confirmed candidates (2 cores builds): - x11/kde4-runtime - x11/kdelibs4 - x11/kde4-baseapps - deskutils/kdepimlibs4 >Fix: Patch below uses a conservative 2 seconds for the QProcess to realize the command has already finished. --- patch-kde4automoc.cpp begins here --- --- kde4automoc.cpp.orig 2009-01-22 09:50:09.000000000 -0900 +++ kde4automoc.cpp 2011-11-28 08:49:56.000000000 -0900 @@ -71,7 +71,7 @@ QStringList args(cmakeEchoColorArgs); args << msg; cmakeEcho.start(cmakeExecutable, args, QIODevice::NotOpen); - cmakeEcho.waitForFinished(-1); + cmakeEcho.waitForFinished(2000); } QString builddir; --- patch-kde4automoc.cpp ends here --- >Release-Note: >Audit-Trail: >Unformatted: