From owner-freebsd-mono@FreeBSD.ORG Sun Mar 15 16:04:01 2015 Return-Path: Delivered-To: freebsd-mono@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9F3C8839 for ; Sun, 15 Mar 2015 16:04:01 +0000 (UTC) Received: from nm28-vm3.bullet.mail.ne1.yahoo.com (nm28-vm3.bullet.mail.ne1.yahoo.com [98.138.91.158]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5BD442AA for ; Sun, 15 Mar 2015 16:04:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1426435321; bh=Chd+cO90Opl71n+2Q76bb7Xrbpuc/lxF/8pZL7itoAg=; h=Date:From:Reply-To:To:Subject:From:Subject; b=iYzBu93U1igeJLOR+dJSZSAyYvHzqvx3PoCvgzjQUJRkVRdKNkh4mhYRc81bIrQnDJhs4RdobCTaakFT3QaplZ0ECB8t7CBJwls5o3l7MbG9D/0Z96c07wE+wZDkbAY6yKQwrJq1X3iWqW2qSKJySHzoB6x/lrcRNDAFBDKFI0rLQCyrzOF4qjmLJ0ViYUyVdR52uHoaO1Drh15EXLoBl89acXdeT2Tow7ttfXCrgnOH6HoZvOpqi6vbqXNWCxuzsFfvvkstlRKABcBIdyPA3INPzrH4biuaKoToM1WtXH2vOR2YzJkk/TmOsnpSIFVeHAdkcqCM/BaFZ8Km0A5bGw== Received: from [98.138.101.131] by nm28.bullet.mail.ne1.yahoo.com with NNFMP; 15 Mar 2015 16:02:01 -0000 Received: from [98.138.89.254] by tm19.bullet.mail.ne1.yahoo.com with NNFMP; 15 Mar 2015 16:02:01 -0000 Received: from [127.0.0.1] by omp1046.mail.ne1.yahoo.com with NNFMP; 15 Mar 2015 16:02:01 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 320751.49860.bm@omp1046.mail.ne1.yahoo.com X-YMail-OSG: OxDAhMUVM1np_KERbhir98zKX7KGXqpOYLzfRArQPGVlwGq7wu8p16eFpWqhuGQ t7O.hzOrKSVRcAcJMrcnypkkBY1CzVyhmys6rY0v4QbcHifZvx.42MwVjYXjzrsOILQGEMrDUIdW B1_ZwxRArusvE3B6iGwl3MCxpyjLYGXN8TBIbpddHmpnkSs0d2_.jwdWhH8vQFTuKR3EFkLxDlDT D01B0vLDm2nSYnk.2FZKFEk1wKnqvLUS_ijyhuzDibkoyxQtZthqiEa1azpNQqyNt0KU3MrJs2s1 SXEu2hJ8xvSIej9S5dIn8MqQbZjrsAdWZaQyWJhECy7pgdpcQbq4x7_.EgkvBs5wxBcoSnqO8lbo egYp3jMCUMhIsuWtVfdcc4YLpuXjzPta4nyN9zjsgOdGIaHiIy3yj.1A2sXj7UHr4l1GM7tUuoB2 dCmkuoFqE_1DvfsGn8XJKnB4muzcd47fd5UFXue8LK3nzV8j7ZnMMAN.VdRFaDfiZNpTcyCzS23b 6JC8f39lAh44yU.F9.dtsZBjxXyxRtO2CwMkmNvoKfWyIRv77ox7Ak1hTlQ-- Received: by 98.138.101.165; Sun, 15 Mar 2015 16:02:00 +0000 Date: Sun, 15 Mar 2015 16:02:00 +0000 (UTC) From: Ji-Haw Foo Reply-To: Ji-Haw Foo To: "freebsd-mono@freebsd.org" Message-ID: <250033514.587345.1426435320161.JavaMail.yahoo@mail.yahoo.com> Subject: Re: ASP.Net and file changes on FreeBSD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2015 16:04:01 -0000 I've been asking this same question since I started porting .NET to FBSD, Like you I got silence on this question, which leads me to conclude that the only way forward is to manually restart the service to effect a change. It sucks but there's a web page/ module you can load to do it easily over HTTP. From owner-freebsd-mono@FreeBSD.ORG Sun Mar 15 22:28:22 2015 Return-Path: Delivered-To: mono@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EDB086CF for ; Sun, 15 Mar 2015 22:28:22 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D385FFD9 for ; Sun, 15 Mar 2015 22:28:22 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t2FMSMoB037949 for ; Sun, 15 Mar 2015 22:28:22 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: mono@FreeBSD.org Subject: [Bug 198066] x11-toolkits/libgdiplus: Fails to build on 10.1-RELEASE jail in poudriere. Date: Sun, 15 Mar 2015 22:28:23 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: romain@FreeBSD.org X-Bugzilla-Status: In Progress X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: mono@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: maintainer-feedback? X-Bugzilla-Changed-Fields: bug_status cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2015 22:28:23 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D198066 Romain Tarti=C3=A8re changed: What |Removed |Added ---------------------------------------------------------------------------- Status|New |In Progress CC| |romain@FreeBSD.org --- Comment #3 from Romain Tarti=C3=A8re --- I can't reproduce this issue: libgdiplus-3.8_3 build correctly on both=20 10_1_RELEASE_i386 and 10_1_RELEASE_amd64 jails in poudriere with recent snpashot of the ports tree (a few days ago). Can you please update & clean your poudriere ports tree, try again and repo= rt success or failure, specifying the ports tree version in case of failure ? Thanks! --=20 You are receiving this mail because: You are the assignee for the bug.= From owner-freebsd-mono@FreeBSD.ORG Mon Mar 16 10:14:11 2015 Return-Path: Delivered-To: freebsd-mono@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A1C70713 for ; Mon, 16 Mar 2015 10:14:11 +0000 (UTC) Received: from mail-we0-x234.google.com (mail-we0-x234.google.com [IPv6:2a00:1450:400c:c03::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2D64836C for ; Mon, 16 Mar 2015 10:14:11 +0000 (UTC) Received: by wegp1 with SMTP id p1so34271647weg.1 for ; Mon, 16 Mar 2015 03:14:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=HDg9Gi9nd22b83ZtxlHcYTYT2fjaSNq1gVKS7arTH5Q=; b=DDQ7C8QqhDLBHFHMosMOelj3wzzW/9BVdTBjggAh8Wuod6AQyJDuUczWM+echDb67e F+P4aJylqshyhK+n8TeUxLWQXumAXe1fTkOc61QPac9LyLGqWkciLREu19sKSehKO/xQ S5HaURRDqPdFjMC3cAza8sZoT1X2cXs2DyI/Ao3KWmpi3Z0XFLFCZ5hIAMm9uvjcJFTU GMiEQRB85Tpj4ysWtBAb+yrK9lnP2vS8acUKyAR6YWiyNYD0VUy7c9L+V0aZI+3cRMJD 5zEpnVk9TxotkosCNJMnlbUYo7TycQj1E1DNDCmgZR9nwVEqxp3zLOqzblnZ9kgKQuPp 0/uw== X-Received: by 10.180.73.66 with SMTP id j2mr44050177wiv.69.1426500849532; Mon, 16 Mar 2015 03:14:09 -0700 (PDT) Received: from zmaj.softwarehood.com (212-200-205-182.dynamic.isp.telekom.rs. [212.200.205.182]) by mx.google.com with ESMTPSA id p10sm14671966wjw.44.2015.03.16.03.14.07 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 16 Mar 2015 03:14:07 -0700 (PDT) Message-ID: <5506ACE1.5080801@gmail.com> Date: Mon, 16 Mar 2015 11:13:53 +0100 From: Ivan Radovanovic User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130812 Thunderbird/17.0.8 MIME-Version: 1.0 To: Ji-Haw Foo Subject: Re: ASP.Net and file changes on FreeBSD References: <250033514.587345.1426435320161.JavaMail.yahoo@mail.yahoo.com> In-Reply-To: <250033514.587345.1426435320161.JavaMail.yahoo@mail.yahoo.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Ji-Haw Foo via freebsd-mono X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 10:14:11 -0000 I just realized one interesting fact - on this machine I am using for development where xsp does correctly detect changes on files (9.3-stable + mono 3.2.3), in fact it works correctly only when I run it from X - if X is not running then it doesn't detect any changes. I will investigate more in that direction, and post findings here, so it might help somebody else as well On 03/15/15 17:02, Ji-Haw Foo via freebsd-mono napisa: > I've been asking this same question since I started porting .NET to FBSD, Like you I got silence on this question, which leads me to conclude that the only way forward is to manually restart the service to effect a change. It sucks but there's a web page/ module you can load to do it easily over HTTP. > _______________________________________________ > freebsd-mono@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mono > To unsubscribe, send any mail to "freebsd-mono-unsubscribe@freebsd.org" > From owner-freebsd-mono@FreeBSD.ORG Mon Mar 16 14:44:24 2015 Return-Path: Delivered-To: mono@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8060266A for ; Mon, 16 Mar 2015 14:44:24 +0000 (UTC) Received: from mta15.cpro20.com (mta15.cpro20.com [216.24.226.15]) by mx1.freebsd.org (Postfix) with ESMTP id 3FC95B84 for ; Mon, 16 Mar 2015 14:44:24 +0000 (UTC) Received: by mta15.cpro20.com id h0rm36159uku for ; Mon, 16 Mar 2015 10:28:10 -0400 (envelope-from ) Message-ID: <1426516014348.6749096.13566416.2353172112@backend.cpro20.com> Date: Mon, 16 Mar 2015 10:28:10 -0400 X-Campaign: 6749096/13566416/2353172112 Bounces-To: bounce_brwiui_nhnqrga@cpro20.com Errors-To: bounce_brwiui_nhnqrga@cpro20.com Reply-To: "Jimmy LaRose" To: From: "Jimmy LaRose" Subject: The Truth About Feasibility Studies MIME-Version: 1.0 Content-Type: text/plain;charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 14:44:24 -0000 VISIT HERE to join us in GEORGIA, OHIO, FLORIDA & MASSACHUSETTS for the most entertaining and provocative nonprofit conference of the year!!! ...or call 800-257-6670 to speak to one of our team members To My Fellow Nonprofit Executives, Donors & Volunteers, Have you ever wondered if performing a feasibility study is a wise investment of your organization's time and money? Did you know that 80% of feasibility study results are inconclusive or report that......YOU'RE NOT READY FOR CAMPAIGN! Why then do nonprofits pay $25,000 to $50,000 to find out what they already know? There are several answers but here's the three most important ones... #1 Consulting firms primary source of revenue is based on a flawed and archaic business model that requires you to pay for a service you aren't ready for and may never need #2 Nonprofits would rather avoid the hard work of donor cultivation by paying an out-of-town third party to perform the visits they should really be doing themselves #3 "That's they way we've always done it" (or even worse) "that's the way other nonprofits do it"There's also a moral issue at play here. All to often feasibility study results are misrepresented because the consulting firm performing the study stands to make more money by running the campaign after the study process has been completed. Tragically, there are hundreds of nonprofits in the middle of stalled campaigns because their consultant manipulated leadership into believing a goal could be reached that was never achievable. If your team is considering expanding annual fund, launching a capital campaign or building endowment then you'll want to spend some time exploring these important issues at a Major Gifts Ramp-Up Conference. Over 9,000 of your colleagues have already taken this important step and have not only avoided critical mistakes but have launched fundraising projects that... …come in OVER GOAL …are completed ON SCHEDULE …are executed UNDER BUDGET …result in HAPPY VOLUNTEERS …produce GRATEFUL DONORS …promote COMMUNITY PRIDE We look forward to meeting you personally at one of our upcoming Major Gifts Ramp-Up Event. We know that budgets are tight which is why NDI's Board of Directors is making this two-day offering available for only $98 for one person or $198 for your entire team(unlimited registrations).I look forward to hearing from you. Until then I remain, Sincerely Yours, Jimmy LaRose Founder National Development Institute, established in 1990, is a 501(c)3 public benefit charity that insures donors, granting organizations and corporations safeguard their mission by building capacity within nonprofits committed to human welfare, education, health care, the arts, & environment. 201 Main Street Lexington SC 29071 United States This email is intended for mono@freebsd.org. To unsubscribe visit http://trk.cpro20.com/Tracking/t.fo?82rww--mkh1-12x0n807&sl=e&t=5&_v=2 Update your subscription preferences visit http://trk.cpro20.com/Tracking/t.fo?82rww--mkh1-12x0n807&sl=e&t=1&_v=2 From owner-freebsd-mono@FreeBSD.ORG Wed Mar 18 10:27:51 2015 Return-Path: Delivered-To: freebsd-mono@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 111A4330 for ; Wed, 18 Mar 2015 10:27:51 +0000 (UTC) Received: from mail-wg0-x229.google.com (mail-wg0-x229.google.com [IPv6:2a00:1450:400c:c00::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 94F8294 for ; Wed, 18 Mar 2015 10:27:50 +0000 (UTC) Received: by wgdm6 with SMTP id m6so31136615wgd.2 for ; Wed, 18 Mar 2015 03:27:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=aCp8kRKrlRPFE0TJgwffVFnPn6ZD5icPgffb2mMBJ18=; b=UY0Knvsz8MD0Q2U6l3oXS7wdZryy4AKAAxt4Ae67vV+B0YwAKofr5eVFh44/2oU3VY t320PTL2mj9inKU3d1KvSkAYErXdtWI3qE8hZ63pMcIiW0LsB+sMSSa4HTI9B1V0ZA0m 3zSH6fEFHjCnj1hd5fNSu/eAAif1PM2V51Q1sJxR4ltdapsg/E/QQxQhyrvui5ym1aim e/M3Xa7uU24v7FDnLdRLqk0wrC0WXSR5nzz0uKcYNA+MgfB0NoBsF4NFtrnQmQvp2VUR 2/ZPp+p0w/VKdQHOg6lr0PkxC2PnNAu2MIPvbDZWDwTpPEr4nujaERB76zmIYXjENXtM BzHg== X-Received: by 10.181.8.99 with SMTP id dj3mr5434084wid.83.1426674469123; Wed, 18 Mar 2015 03:27:49 -0700 (PDT) Received: from zmaj.softwarehood.com (212-200-205-182.dynamic.isp.telekom.rs. [212.200.205.182]) by mx.google.com with ESMTPSA id cj9sm23833609wjc.42.2015.03.18.03.27.47 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 18 Mar 2015 03:27:47 -0700 (PDT) Message-ID: <55095322.2070604@gmail.com> Date: Wed, 18 Mar 2015 11:27:46 +0100 From: Ivan Radovanovic User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130812 Thunderbird/17.0.8 MIME-Version: 1.0 To: freebsd-mono@freebsd.org Subject: Re: ASP.Net and file changes on FreeBSD References: <54F96252.9040705@gmail.com> In-Reply-To: <54F96252.9040705@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 10:27:51 -0000 On 03/06/15 09:16, Ivan Radovanovic napisa: > Hi, > > I am running latest ASP.Net using latest mono from ports (3.10) on > FreeBSD 10.1 and it seems it is unable to detect changes on (some?) > files. What confuses me is that if I run xsp for testing project it is > unable to realize that project DLL is recompiled, or if I change > web.config it won't restart application manually, or if aspx file is > changed it won't recompile it, but if I add new aspx file then it will > try to compile that. It seems to me like it is able to detect file > addition but not change. > > Is there some workaround for this? > > Kind regards, > Ivan > > P.S. > Is there some dedicated website/forum for mono on FreeBSD - I saw some > page on mono project site but that is completely outdated and I also saw > BSD# page on google, but that also seems little bit old? I did little > bit of work on having up-to-date xsp/fast-cgi and monodevelop to > compile/work on freebsd so I would like to pass that to somebody from > freebsd-mono group so it could eventually reach ports :-) This is actually more interesting problem than what I expected, here are conclusions up to this point: * 3.10.0 has completely broken kevent implentation of FileSystemWatcher - so it couldn't restart application because it is not able to detect any file changes (I gave up on patching this implementation with latest code when I saw that 3.12.1 is ported to FreeBSD) * 3.12.1 has proper support for FileSystemWatcher, but I suspect something in System.Web.dll is broken (for example it properly detects dll change (writes message about that), but doesn't restart application), I am still unable to pinpoint exact problem there * 3.2.3 has partially working FileSystemWatcher (using kevent) - it is not able to catch file changes but only file creations/deletions, for that reason changes using editors like ee which really change file contents (not changing inode number) go undetected, but changes with editors which recreate file (like monodevelop or gedit for example) are properly captured and handled. This version also properly restarts application when dll is changed. I was using identical xsp for all mono versions to rule out differences there (I didn't do any tests using fastcgi server or mod_mono - will probably do that once I have xsp working as expected). From owner-freebsd-mono@FreeBSD.ORG Wed Mar 18 21:06:04 2015 Return-Path: Delivered-To: freebsd-mono@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 587F266A for ; Wed, 18 Mar 2015 21:06:04 +0000 (UTC) Received: from mail-we0-x234.google.com (mail-we0-x234.google.com [IPv6:2a00:1450:400c:c03::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D5CF0B85 for ; Wed, 18 Mar 2015 21:06:03 +0000 (UTC) Received: by webcq43 with SMTP id cq43so42143425web.2 for ; Wed, 18 Mar 2015 14:06:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type; bh=LIjVn0H/C2lF3ABcIRcrsO9amY+bdsvoL+fPK2wlknI=; b=DvYPprL3XlnsuLeEADiy2O0q4+uURRKEwWGTyXqBjWLOujv/Qvnr51PfeRzS4i8s9d 8PQHAKdWyiFQRGZX8AlodGl9janR7IWCJjA/LFGpSe4oEnoHmQ/msGpnKn+5TAlwLVvC q5rAIAroV3gz2CiOuWGseqduL3Ot5tbuLpfC8R5tWtwepfbc/sbwYxGfypYg5BUBk2LE ta/RL/ZdR9NdMOAzfI1gKWhdW93A9VfGz1HohqI72oCwrf4HnudtyMNUeYlFDcXKX8lT DtxHcGQ0ueE+Zmwzc8uvoNRo8Q1t6agryyv6znXSrR2AF4wvqsXQjrQu/H7BQeLyojFt UBug== X-Received: by 10.180.89.148 with SMTP id bo20mr10045588wib.91.1426712762347; Wed, 18 Mar 2015 14:06:02 -0700 (PDT) Received: from zmaj.softwarehood.com (212-200-205-182.dynamic.isp.telekom.rs. [212.200.205.182]) by mx.google.com with ESMTPSA id ga8sm4750056wib.11.2015.03.18.14.06.01 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 18 Mar 2015 14:06:01 -0700 (PDT) Message-ID: <5509E8B8.3090602@gmail.com> Date: Wed, 18 Mar 2015 22:06:00 +0100 From: Ivan Radovanovic User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130812 Thunderbird/17.0.8 MIME-Version: 1.0 To: freebsd-mono@freebsd.org Subject: Re: ASP.Net and file changes on FreeBSD References: <54F96252.9040705@gmail.com> <55095322.2070604@gmail.com> In-Reply-To: <55095322.2070604@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 21:06:04 -0000 On 03/18/15 11:27, Ivan Radovanovic napisa: > On 03/06/15 09:16, Ivan Radovanovic napisa: >> Hi, >> >> I am running latest ASP.Net using latest mono from ports (3.10) on >> FreeBSD 10.1 and it seems it is unable to detect changes on (some?) >> files. What confuses me is that if I run xsp for testing project it is >> unable to realize that project DLL is recompiled, or if I change >> web.config it won't restart application manually, or if aspx file is >> changed it won't recompile it, but if I add new aspx file then it will >> try to compile that. It seems to me like it is able to detect file >> addition but not change. >> >> Is there some workaround for this? >> >> Kind regards, >> Ivan >> >> P.S. >> Is there some dedicated website/forum for mono on FreeBSD - I saw some >> page on mono project site but that is completely outdated and I also saw >> BSD# page on google, but that also seems little bit old? I did little >> bit of work on having up-to-date xsp/fast-cgi and monodevelop to >> compile/work on freebsd so I would like to pass that to somebody from >> freebsd-mono group so it could eventually reach ports :-) > > This is actually more interesting problem than what I expected, here are > conclusions up to this point: > > * 3.10.0 has completely broken kevent implentation of FileSystemWatcher > - so it couldn't restart application because it is not able to detect > any file changes (I gave up on patching this implementation with latest > code when I saw that 3.12.1 is ported to FreeBSD) > > * 3.12.1 has proper support for FileSystemWatcher, but I suspect > something in System.Web.dll is broken (for example it properly detects > dll change (writes message about that), but doesn't restart > application), I am still unable to pinpoint exact problem there > > * 3.2.3 has partially working FileSystemWatcher (using kevent) - it is > not able to catch file changes but only file creations/deletions, for > that reason changes using editors like ee which really change file > contents (not changing inode number) go undetected, but changes with > editors which recreate file (like monodevelop or gedit for example) are > properly captured and handled. This version also properly restarts > application when dll is changed. > > I was using identical xsp for all mono versions to rule out differences > there (I didn't do any tests using fastcgi server or mod_mono - will > probably do that once I have xsp working as expected). There were 2 problems here (applies to 3.12.1): * FileSystemWatcher implementation for kevent was relying on Darwin's specific behavior (when kevent is executed with NULL timeout, if kqueue FD is closed kevent call on Darwin returns with error, however FreeBSD doesn't behave that way), so instead of using (almost) blocking version of kevent I put reasonable timeout there (instead of 500 seconds they had I put 0.5 seconds) * HttpApplicationFactory wasn't able to restart application domain because of deadlock within FileSystemWatcher (basically file changed notification is executed from watcher's thread and then there is attempt to disable watcher from that same thread). I resolved this by creating separate thread to post events. As far as I can tell at least xsp now works as expected (restaring application on DLL changes, recompiling changed files if .aspx file is changed), I will probably test at least fastcgi server soon as well, and I will try to find solution which would work with blocking kevent. Attached is patch for latest mono version in ports (3.12.1) - patch file should be saved to files subdirectory of port and port should be rebuilt after that. From owner-freebsd-mono@FreeBSD.ORG Wed Mar 18 21:22:12 2015 Return-Path: Delivered-To: freebsd-mono@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 25EBBAD9 for ; Wed, 18 Mar 2015 21:22:12 +0000 (UTC) Received: from mail-wi0-x22c.google.com (mail-wi0-x22c.google.com [IPv6:2a00:1450:400c:c05::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A37D0D5E for ; Wed, 18 Mar 2015 21:22:11 +0000 (UTC) Received: by wibg7 with SMTP id g7so70596282wib.1 for ; Wed, 18 Mar 2015 14:22:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type; bh=9w3giJGRy6ULXzSNVh6sfA5i8+JsAjW1BTf2VA+5k70=; b=mjGzUfESpXzTpfQJFA/eR527+jI3h/Pal2KwRb5g63AewYjwZt70PF6hpl6BT1CUTR AIc8szPUI9D1QNrdh+y4qX2czSRwbKD4t1F2qFjmt+cnk99f1+FkSNN0qp3sllYTTPUH 09D5meMheGEgwhEHKCfw2+g879ms/u+8FLp56UU0yn7uZWqW7TwBqEO6+a/O0x/nNe2B eq1LwQ2DIXGX0b3JkDL9NL983PCrzimbwzrA8XTB7iOaRZCBZ86hbCOndzCZVXN49E4n 044+WNRXR01oDgWfqiTITU7i6/hc71MUfG4MKHfck0oh3MvY9BoeTts9NrJQ44fK+8sG rSgA== X-Received: by 10.194.170.193 with SMTP id ao1mr146521447wjc.52.1426713730164; Wed, 18 Mar 2015 14:22:10 -0700 (PDT) Received: from zmaj.softwarehood.com (212-200-205-182.dynamic.isp.telekom.rs. [212.200.205.182]) by mx.google.com with ESMTPSA id fs8sm4781920wib.8.2015.03.18.14.22.08 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 18 Mar 2015 14:22:09 -0700 (PDT) Message-ID: <5509EC80.1060105@gmail.com> Date: Wed, 18 Mar 2015 22:22:08 +0100 From: Ivan Radovanovic User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130812 Thunderbird/17.0.8 MIME-Version: 1.0 To: freebsd-mono@freebsd.org Subject: Re: ASP.Net and file changes on FreeBSD References: <54F96252.9040705@gmail.com> <55095322.2070604@gmail.com> <5509E8B8.3090602@gmail.com> In-Reply-To: <5509E8B8.3090602@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 21:22:12 -0000 On 03/18/15 22:06, Ivan Radovanovic napisa: > On 03/18/15 11:27, Ivan Radovanovic napisa: >> On 03/06/15 09:16, Ivan Radovanovic napisa: >>> Hi, >>> >>> I am running latest ASP.Net using latest mono from ports (3.10) on >>> FreeBSD 10.1 and it seems it is unable to detect changes on (some?) >>> files. What confuses me is that if I run xsp for testing project it is >>> unable to realize that project DLL is recompiled, or if I change >>> web.config it won't restart application manually, or if aspx file is >>> changed it won't recompile it, but if I add new aspx file then it will >>> try to compile that. It seems to me like it is able to detect file >>> addition but not change. >>> >>> Is there some workaround for this? >>> >>> Kind regards, >>> Ivan >>> >>> P.S. >>> Is there some dedicated website/forum for mono on FreeBSD - I saw some >>> page on mono project site but that is completely outdated and I also saw >>> BSD# page on google, but that also seems little bit old? I did little >>> bit of work on having up-to-date xsp/fast-cgi and monodevelop to >>> compile/work on freebsd so I would like to pass that to somebody from >>> freebsd-mono group so it could eventually reach ports :-) >> >> This is actually more interesting problem than what I expected, here are >> conclusions up to this point: >> >> * 3.10.0 has completely broken kevent implentation of FileSystemWatcher >> - so it couldn't restart application because it is not able to detect >> any file changes (I gave up on patching this implementation with latest >> code when I saw that 3.12.1 is ported to FreeBSD) >> >> * 3.12.1 has proper support for FileSystemWatcher, but I suspect >> something in System.Web.dll is broken (for example it properly detects >> dll change (writes message about that), but doesn't restart >> application), I am still unable to pinpoint exact problem there >> >> * 3.2.3 has partially working FileSystemWatcher (using kevent) - it is >> not able to catch file changes but only file creations/deletions, for >> that reason changes using editors like ee which really change file >> contents (not changing inode number) go undetected, but changes with >> editors which recreate file (like monodevelop or gedit for example) are >> properly captured and handled. This version also properly restarts >> application when dll is changed. >> >> I was using identical xsp for all mono versions to rule out differences >> there (I didn't do any tests using fastcgi server or mod_mono - will >> probably do that once I have xsp working as expected). > > There were 2 problems here (applies to 3.12.1): > > * FileSystemWatcher implementation for kevent was relying on Darwin's > specific behavior (when kevent is executed with NULL timeout, if kqueue > FD is closed kevent call on Darwin returns with error, however FreeBSD > doesn't behave that way), so instead of using (almost) blocking version > of kevent I put reasonable timeout there (instead of 500 seconds they > had I put 0.5 seconds) > > * HttpApplicationFactory wasn't able to restart application domain > because of deadlock within FileSystemWatcher (basically file changed > notification is executed from watcher's thread and then there is attempt > to disable watcher from that same thread). I resolved this by creating > separate thread to post events. > > As far as I can tell at least xsp now works as expected (restaring > application on DLL changes, recompiling changed files if .aspx file is > changed), I will probably test at least fastcgi server soon as well, and > I will try to find solution which would work with blocking kevent. > > Attached is patch for latest mono version in ports (3.12.1) - patch file > should be saved to files subdirectory of port and port should be rebuilt > after that. Previous patch had one mistake (timespec struct in fact uses nanoseconds, not microseconds (mono guys named member tv_usec, so I naturally assumed microseconds were used)) - I realized that when I checked CPU usage. This is final patch attached. From owner-freebsd-mono@FreeBSD.ORG Thu Mar 19 01:37:23 2015 Return-Path: Delivered-To: freebsd-mono@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7A219391 for ; Thu, 19 Mar 2015 01:37:23 +0000 (UTC) Received: from marvin.blogreen.org (unknown [IPv6:2001:41d0:fe22:1a01::2]) by mx1.freebsd.org (Postfix) with ESMTP id 32406D41 for ; Thu, 19 Mar 2015 01:37:22 +0000 (UTC) Received: by marvin.blogreen.org (Postfix, from userid 1001) id 4F78A7A6F0; Thu, 19 Mar 2015 02:37:15 +0100 (CET) Date: Thu, 19 Mar 2015 02:37:15 +0100 From: Romain =?iso-8859-1?Q?Tarti=E8re?= To: Ivan Radovanovic Subject: Re: ASP.Net and file changes on FreeBSD Message-ID: <20150319013715.GA68586@FreeBSD.org> Mail-Followup-To: Ivan Radovanovic , freebsd-mono@freebsd.org References: <54F96252.9040705@gmail.com> <55095322.2070604@gmail.com> <5509E8B8.3090602@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="6c2NcOVqGQ03X4Wi" Content-Disposition: inline In-Reply-To: <5509E8B8.3090602@gmail.com> X-PGP-Key: http://romain.blogreen.org/pubkey.asc User-Agent: Mutt/1.5.23 (2014-03-12) Cc: freebsd-mono@freebsd.org X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 01:37:23 -0000 --6c2NcOVqGQ03X4Wi Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Ivan! On Wed, Mar 18, 2015 at 10:06:00PM +0100, Ivan Radovanovic wrote: > Attached is patch for latest mono version in ports (3.12.1) - patch file= =20 > should be saved to files subdirectory of port and port should be rebuilt= =20 > after that. Attachements are eaten by the mailing list software :-) Please fill-in a PR and attach your patch there, thanks! https://bugs.freebsd.org/bugzilla/enter_bug.cgi --=20 Romain Tarti=E8re http://people.FreeBSD.org/~romain/ pgp: 8234 9A78 E7C0 B807 0B59 80FF BA4D 1D95 5112 336F (ID: 0x5112336F) (plain text =3Dnon-HTML=3D PGP/GPG encrypted/signed e-mail much appreciated) --6c2NcOVqGQ03X4Wi Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQGcBAEBCAAGBQJVCihHAAoJELpNHZVREjNvTX0L/3NCkv9ggalB2GVpiFTo3Gzg Vzre7CpDljb9lm4pWyYq1ygpw4mhtiJFEwNwEb5DyP4+uKSAO9BF/NvdoPh+pZpP C+Oj7cTdrZt1utT7pjCAA40Ehx2oHMK/P+TUV8qITGuvEpAArgJEHL+rPlWldMYG FVYWyq2LruxbXudWGQhLzQq/FGwQWUFPf/nrY1N7x3Mq9MbzvCbZS0uWuCYVso5r u2auxgNWCeywqlcbukN/ZTiCNhagK+l2V8FbHbEW2TFdhLJrKUmNAGYBd+gMtHpN m6W/ABRZcUXUbGbVNunh+S0elP1HWI/NlAsmV5HHUWLDGsm0CG2nWwxZaLUdIUkj EVSfIkHCyUZbJvmw1pcbulTqmr1WjCKTAD6mRHjBeNCYybx1570/VBkqOnOn+osf 4J80Y78OtPdD8pBAmFJKY8U1SA9Dsg8yIEJw9z3EX5GPFXSAl9fx2194joe3cdmR +ogue1WO9dHJReTc8sutRFTUxubMJsh/wt/e3fHa1w== =SM0e -----END PGP SIGNATURE----- --6c2NcOVqGQ03X4Wi-- From owner-freebsd-mono@FreeBSD.ORG Thu Mar 19 11:53:35 2015 Return-Path: Delivered-To: freebsd-mono@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3F2246F2 for ; Thu, 19 Mar 2015 11:53:35 +0000 (UTC) Received: from mail-we0-x231.google.com (mail-we0-x231.google.com [IPv6:2a00:1450:400c:c03::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BC879611 for ; Thu, 19 Mar 2015 11:53:34 +0000 (UTC) Received: by wetk59 with SMTP id k59so55149990wet.3 for ; Thu, 19 Mar 2015 04:53:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=O4Lx7DxisbwE6cZ2V+Ym4CvUO79VNDpJi4J6t5Thg/Q=; b=z76bAe+qGB0PIvtir3Wa59mpB21OTZ4AsfvLeZWBmEK46uVWf38sA8sXtbY6KcwLzR PZXWFp9ebY82QeKKQqwHhH2G89AyRSsVjOniw7U8Nxr7RpbYo5qxLhKgdC/WR1t1XiG9 /WIxG3yU0ElHMOFRVotmMUfdrucl8JxidsaZz8eAm7CyMONVTAsfQO8o+PloDK3ehecB CSUs86Hf3iP5AP/k9SNLFOZlLG1B3HRxzzHz8aImCrJBZsTVt7tSe6y7hU+0hua8H6sh lPOAMhy684P+FFyjOwhkYF01kvXA5KHtjIAK0CPpb6qTNOVs5KPtGSdT8CZA2A5t+0v1 x3fw== X-Received: by 10.180.89.210 with SMTP id bq18mr16045069wib.28.1426766013023; Thu, 19 Mar 2015 04:53:33 -0700 (PDT) Received: from zmaj.softwarehood.com (212-200-205-182.dynamic.isp.telekom.rs. [212.200.205.182]) by mx.google.com with ESMTPSA id r3sm1683553wjw.7.2015.03.19.04.53.31 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 19 Mar 2015 04:53:32 -0700 (PDT) Message-ID: <550AB8BB.3010902@gmail.com> Date: Thu, 19 Mar 2015 12:53:31 +0100 From: Ivan Radovanovic User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130812 Thunderbird/17.0.8 MIME-Version: 1.0 To: freebsd-mono@freebsd.org Subject: Re: ASP.Net and file changes on FreeBSD References: <54F96252.9040705@gmail.com> <55095322.2070604@gmail.com> <5509E8B8.3090602@gmail.com> <20150319013715.GA68586@FreeBSD.org> In-Reply-To: <20150319013715.GA68586@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 11:53:35 -0000 On 03/19/15 02:37, Romain Tartière napisa: > Hi Ivan! > > On Wed, Mar 18, 2015 at 10:06:00PM +0100, Ivan Radovanovic wrote: >> Attached is patch for latest mono version in ports (3.12.1) - patch file >> should be saved to files subdirectory of port and port should be rebuilt >> after that. > > Attachements are eaten by the mailing list software :-) Please fill-in > a PR and attach your patch there, thanks! > > https://bugs.freebsd.org/bugzilla/enter_bug.cgi > Hi Romain, I will, I just want to verify first that mono developer's assumption of kevent/kqueue behavior indeed doesn't hold on FreeBSD (I prefer their idea to what I did, but I think it can't work) - I posted question on hackers@ mailing list and I will wait for day or two to be sure that I am right. Kind regards, Ivan From owner-freebsd-mono@FreeBSD.ORG Fri Mar 20 08:39:10 2015 Return-Path: Delivered-To: mono@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 32FA5F86 for ; Fri, 20 Mar 2015 08:39:10 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1E9119EB for ; Fri, 20 Mar 2015 08:39:10 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t2K8d9qw017699 for ; Fri, 20 Mar 2015 08:39:09 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: mono@FreeBSD.org Subject: maintainer-feedback requested: [Bug 198727] [PATCH] lang/mono FileSystemWatcher (kevent) deadlock problem Date: Fri, 20 Mar 2015 08:39:09 +0000 X-Bugzilla-Type: request Message-ID: In-Reply-To: References: X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 08:39:10 -0000 Ivan Radovanovic has reassigned Bugzilla Automation 's request for maintainer-feedback to mono@FreeBSD.org: Bug 198727: [PATCH] lang/mono FileSystemWatcher (kevent) deadlock problem https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198727 --- Description --- Created attachment 154559 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=154559&action=edit patch - ready to go into files directory of port There were 2 problems with mono's original implementation of kevent FileSystemWatcher on FreeBSD: * FileSystemWatcher implementation in mono's HEAD for kevent was relying on Darwin's specific behavior (when kevent is executed with NULL timeout, if kqueue FD is closed kevent call on Darwin returns with error, however FreeBSD doesn't behave that way - in fact according to feedback I got from kernel developers on FreeBSD close would block waiting for kevent to complete thus causing deadlock) * All watcher events were generated from the same thread which detected them and that presented possibility of deadlock if change handler was to disable/reset watcher (this manifested in ASP.Net applications not being restarted after dll changes, and not recompiling individual components on aspx/ascx file changes) Attached patch fixes those problems (I was able to verify that after applying it XSP and mono's fastcgi servers behave in expected way). Attached patch does several things: * renames member of imported timespec structure from misleading tv_usec to proper tv_nsec (value is in nanoseconds, not microseconds) * adds watcher thread abort in case it doesn't gracefully shutdown within 2 seconds (I think not really needed, but better safe than sorry) * moves actual event dispatching to separate thread (thus eliminating potential for deadlock described earlier) Attached patch is to be applied on latest version of port at this moment (3.12.1) From owner-freebsd-mono@FreeBSD.ORG Fri Mar 20 08:39:10 2015 Return-Path: Delivered-To: mono@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 72739F87 for ; Fri, 20 Mar 2015 08:39:10 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3E8279EC for ; Fri, 20 Mar 2015 08:39:10 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t2K8dAHU017702 for ; Fri, 20 Mar 2015 08:39:10 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: mono@FreeBSD.org Subject: [Bug 198727] [PATCH] lang/mono FileSystemWatcher (kevent) deadlock problem Date: Fri, 20 Mar 2015 08:39:09 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: patch X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: radovanovic@gmail.com X-Bugzilla-Status: New X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: mono@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: maintainer-feedback? X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status keywords bug_severity priority component assigned_to reporter flagtypes.name attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 08:39:10 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198727 Bug ID: 198727 Summary: [PATCH] lang/mono FileSystemWatcher (kevent) deadlock problem Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Keywords: patch Severity: Affects Many People Priority: --- Component: Individual Port(s) Assignee: mono@FreeBSD.org Reporter: radovanovic@gmail.com Flags: maintainer-feedback?(mono@FreeBSD.org) Keywords: patch Assignee: mono@FreeBSD.org Created attachment 154559 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=154559&action=edit patch - ready to go into files directory of port There were 2 problems with mono's original implementation of kevent FileSystemWatcher on FreeBSD: * FileSystemWatcher implementation in mono's HEAD for kevent was relying on Darwin's specific behavior (when kevent is executed with NULL timeout, if kqueue FD is closed kevent call on Darwin returns with error, however FreeBSD doesn't behave that way - in fact according to feedback I got from kernel developers on FreeBSD close would block waiting for kevent to complete thus causing deadlock) * All watcher events were generated from the same thread which detected them and that presented possibility of deadlock if change handler was to disable/reset watcher (this manifested in ASP.Net applications not being restarted after dll changes, and not recompiling individual components on aspx/ascx file changes) Attached patch fixes those problems (I was able to verify that after applying it XSP and mono's fastcgi servers behave in expected way). Attached patch does several things: * renames member of imported timespec structure from misleading tv_usec to proper tv_nsec (value is in nanoseconds, not microseconds) * adds watcher thread abort in case it doesn't gracefully shutdown within 2 seconds (I think not really needed, but better safe than sorry) * moves actual event dispatching to separate thread (thus eliminating potential for deadlock described earlier) Attached patch is to be applied on latest version of port at this moment (3.12.1) -- You are receiving this mail because: You are the assignee for the bug.