From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-x22d.google.com (mail-wi0-x22d.google.com [IPv6:2a00:1450:400c:c05::22d]) by hurricane.the-brannons.com (Postfix) with ESMTPS id 06EB07895D for ; Fri, 25 Sep 2015 15:03:16 -0700 (PDT) Received: by wicgb1 with SMTP id gb1so37631013wic.1 for ; Fri, 25 Sep 2015 15:06:27 -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=XgmZnRSMs8ZzCsymlv98Vu+8v0uLjx1yM5R8MQczWww=; b=HM6h/tYzne8AQEvYATjv5aYIPPHqKK7RJ3avd1UX4FTF3S4jpUjXgvEe9Unw6//lNk PAN+qM/WWZaGshxdfLEC0iDz5s6bG8g+Rd61SVleuLKdc+WUH+lrEmdpsOnORU5vRrVC yXLnwA3Bu+lM9EicIYnbKMPozscAltBQr4R0ku6xxHgXzqzkipCYhq3CCC2OI2evohKq uj4sP0rZilYENq53bq2SdpruDIKTz1Nv2ZA86jz0qGfRLZr3UTxECS4NfkTX5KmSPy2J J1XrQAmwuV2UztNCNf+NlilHI4nPbBwKG2AXzNjQxXJNp/bBafcH5adH52lT+NrDPlJ/ 2OAg== X-Received: by 10.180.89.101 with SMTP id bn5mr5470384wib.20.1443218787532; Fri, 25 Sep 2015 15:06:27 -0700 (PDT) Received: from toaster.adamthompson.me.uk (toaster.adamthompson.me.uk. [2001:8b0:1142:9042::2]) by smtp.gmail.com with ESMTPSA id gc8sm5257274wib.2.2015.09.25.15.06.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 25 Sep 2015 15:06:26 -0700 (PDT) Date: Fri, 25 Sep 2015 23:06:25 +0100 From: Adam Thompson To: Karl Dahlke Cc: Edbrowse-dev@lists.the-brannons.com Message-ID: <20150925220625.GI2254@toaster.adamthompson.me.uk> References: <20150825101107.eklhad@comcast.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="zqjkMoGlbUJ91oFe" Content-Disposition: inline In-Reply-To: <20150825101107.eklhad@comcast.net> User-Agent: Mutt/1.5.23 (2014-03-12) Subject: Re: [Edbrowse-dev] prerender and javaSetsLinkage X-BeenThere: edbrowse-dev@lists.the-brannons.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Edbrowse Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Sep 2015 22:03:16 -0000 --zqjkMoGlbUJ91oFe Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Sep 25, 2015 at 10:11:07AM -0400, Karl Dahlke wrote: > Yes, edbrowse did a seg fault on my own website. Yikes! > I run google ads, and their js is quite involved. > At db4 I could see that it was adding a new input field to a form, > adding dynamically using appendchild(). > That was never even implemented before, so this is new territory. > The object was added, the side effect passed back to edbrowse, > a new tag created, and linked into our dom tree, all good. > Then time to render. > But there is a prerender routine that sanitizes things before render() ru= ns. > Example, link each input field to the form that contains it. > When tags are added later, dynamically, prerender is already done. > the sanitizing does not take place. > This new input field wasn't tied to a specific form in our tree, > and the input value was not preset to the empty string. > It was still null, thus the seg fault. > I fixed this up in a hurry by adding some code to javaSetsLinkage, > that if an input tag is linked in I do some of the same things > that prerender would have done. > But this is the tip of the iceberg, isn't it? > We should not react to each seg fault, but rather act proactively. > More of the prerender sanitizing logic should be pulled out > into small routines at the top, that are called by prerender() > or by javaSetsLinkage(). > I'll try to chip away at this in the next week or so. Agreed with all of the above. In fact I've been seeing a bunch of these, but always at work when I've not had time to put together a more coherent b= ug report than "Ahhh Edbrowse just segfaulted on something... again". I also keep losing the example URLs because... well... Edbrowse segfaults before I can get the URL and then I forget and have to d= o=20 other things. Cheers, Adam. --zqjkMoGlbUJ91oFe Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJWBcVhAAoJELZ22lNQBzHOGokIAN0y/m1TrpinrsUYNDGEYuJg UtnwLyDd1k8G1hGd2BxRjEPEBoG/bCTljfpvAmMN+zXZU8+XA5FyFp1+OV5qZjse TEv5tx2nG9NQNK7/WfZ/IHE16BCcj5jLQ6q3qj8/qUjY5+UcaiKg6OFZ34jkk4iZ QTpO7aqhkzjPTswdj0TSeC0eYipToNpOChnXiE5au6hgvSmC5QEGkClSOsOAHYsM H9SK3MA8BWaFw2/wkJtVKZyhcIxxpkhf82R1mJkymZaF5+B3dYTwgPC++ipia+zF 0fd6McieBy80fVXD0z2hppsqQUSFapTGzpzldei3dLuFfFMmYeeb8ZCpC7rPYDY= =hgX+ -----END PGP SIGNATURE----- --zqjkMoGlbUJ91oFe--