Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:104999 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 91245 invoked from network); 29 Mar 2019 15:11:08 -0000 Received: from unknown (HELO mail-wr1-f68.google.com) (209.85.221.68) by pb1.pair.com with SMTP; 29 Mar 2019 15:11:08 -0000 Received: by mail-wr1-f68.google.com with SMTP id p10so2333404wrq.1 for ; Fri, 29 Mar 2019 05:05:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ZRTnSwcviarVoTlCUFrEC1HiOXO0FpxDHrg/W+tO1dg=; b=t74LRDz+jHiSLHP3+RuN9ERC1fyZRekQ8Qdtz1u8JVdwOK1IL8amSzL3NzcEvkvnzZ SWCXF+UxGBhSPAnaxq8xv4kWzLPRSxUeYrb7/4h9WzMvcKB/l7Og4u7mUI7J4GCzkmmr vJt0usnaVulrLPI11RYXr2ZjxedKS6BR5qJ4R8Ksfzn2Sn1yu0jCVYp6opr7V/gd44W2 olLNrNilvGL20l1Yc1AIh7lZ1rl+jFtNbdevYB2P+a8E90ydT+eUEbp9/oi2jgCLd6fS GU14J5qSFoZ8ouBS7WtUtvll91ScfLJeTRC0GX3Kj7wifOcOi9D/huF/f193FpR4mLXz aCCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ZRTnSwcviarVoTlCUFrEC1HiOXO0FpxDHrg/W+tO1dg=; b=MhAkHxmu00X9AoGOFpkGNeYR16VO92uzvYfxJTJ7gA9dUeveZmwXpLwisz2qWwGvpw Y9lmS4ow1Rtz6W/2kKVCwu/GjQmRCF4N2tRXIsqSa08KwMa5FHpJrNaJp48jlwBjuKMN p3EyHmhwKBDjK4mZI2sYGQXrt6Zq4GmvBSVvObnMdMhaSU5/7vJtdPleenF6/n+W3tKJ vPISKjPDpywTQje4XpgiQcyaFhEa2IO3hmTnYXV3Q+swq2rTSMWQCJKBXDbiFOrw9zPn 7ySBAuPMgAj/853TnCpLrB7ejdEBMQ84b/OL9lWHKvwPETLq1p1+mQEWQViR443R0Gtd ck5w== X-Gm-Message-State: APjAAAX2201NPmE+8g2U7vL4ii86MI4S2sMAhmi8lQvtIL34XtbUsoXB YJ78cHStJ3dg63f6Gutbth2ZBt2I+muia5ggajpp+YRp X-Google-Smtp-Source: APXvYqyIGIqsicEyXuDyTpyIioyFUeVjvXzGoRLlitePbWgAlVNwgsTi6/jJnuWydJ8dsyMmbsB+6Rkjs1UFRGrWFrY= X-Received: by 2002:adf:fecb:: with SMTP id q11mr29524926wrs.252.1553861115599; Fri, 29 Mar 2019 05:05:15 -0700 (PDT) MIME-Version: 1.0 References: <2f7acce4-69dd-d98b-6f86-1110e3589c4b@lsces.co.uk> <27d7e310-f50d-5dad-1af8-345f77dfd102@lsces.co.uk> <0c833502-1017-5432-f3d4-ac608d864a19@gmx.de> In-Reply-To: Date: Fri, 29 Mar 2019 13:05:04 +0100 Message-ID: To: Benjamin Eberlei Cc: "Christoph M. Becker" , Lester Caine , PHP Internals Content-Type: multipart/alternative; boundary="000000000000d35dde05853a7bf1" Subject: Re: [PHP-DEV] Firebird - Who are WE ... From: krakjoe@gmail.com (Joe Watkins) --000000000000d35dde05853a7bf1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable No, it's broken in both modes. In NTS mode, both the thread that handles events (which illegally calls user code) and the main thread are executing concurrently, they may both be calling functions that cause interaction with module globals, which are obviously shared between threads in NTS mode. You cannot just start threads and execute user code from anywhere, it's not safe in NTS mode and is a horrible violation of share nothing in ZTS mode. It's much more likely to break ZTS mode than NTS, but illegal in both. Cheers Joe On Fri, 29 Mar 2019 at 12:22, Benjamin Eberlei wrote: > > > On Fri, Mar 29, 2019 at 10:59 AM Joe Watkins wrote: > >> Specifically the events interface is broken all versions of PHP 7: >> >> - In a non-zts build, it executes user code allocated in Thread A in >> Thread B - that's not allowed. >> - In a zts build, it makes the same mistake as above, and uses a TSRM >> API to set context which itself has been broken since PHP 7.0. >> >> It so happens that PHP 8 has broken the build, but specifically that par= t >> of the extension has been broken since PHP 7.0. >> > > But I am correct to understand the code still compiles and works in NTS > mode, so its not completely broken, only on ZTS. > >> >> Cheers >> Joe >> >> >> >> On Fri, 29 Mar 2019 at 10:40, Christoph M. Becker >> wrote: >> >>> On 29.03.2019 at 10:29, Benjamin Eberlei wrote: >>> >>> > On Fri, Mar 29, 2019 at 10:20 AM Lester Caine >>> wrote: >>> > >>> >> Currently building 'interbase' extension has been turned off because >>> >> it's failing to pass the changes in master for thread safe operation= . >>> I >>> >> understand that it needs someone to work on it and I would love to b= e >>> >> able to do that but it's development requirements have moved outside >>> the >>> >> area that I can cope with. And many people reliant on it are in the >>> same >>> >> boat, just as they would not be able to contribute to writing code f= or >>> >> Firebird itself. While not perfect, what we have currently does it's >>> job >>> >> just as PHP5.2 still works on legacy hosting. PDO hopefully will >>> remain >>> >> available, but re-writing 20 years worth of code base for that >>> different >>> >> way of working has the same problem as finding resources to update t= he >>> >> interbase extension. >>> > >>> > PHP needs to support thread safety in all its extensions, but that >>> doesn't >>> > mean its required for PECL extensions. You probably run PHP in NTS >>> mode, >>> > and if the interbase extension supports that, no need to add thread >>> safety >>> > support while in PECL. The problem is that every extension in php-src >>> MUST >>> > support it, because php supports it. >>> > >>> > To me it feels you are blowing this issue way out of proportion. Plea= se >>> > believe everyone trying to tell you over and over again that you have >>> > nothing to fear from this unbundling. >>> >>> ext/interbase is indeed broken (i.e. uncompilable) in master (not PHP >>> 7.4 though), since PR #3976[1] has been merged. It will certainly be >>> fixed, if the =E2=80=9CUnbundle ext/interbase=E2=80=9D RFC[2] will be d= eclined; if it >>> will be accepted it might never get fixed. >>> >>> [1] >>> [2] >>> >>> -- >>> Christoph M. Becker >>> >>> -- >>> PHP Internals - PHP Runtime Development Mailing List >>> To unsubscribe, visit: http://www.php.net/unsub.php >>> >>> --000000000000d35dde05853a7bf1--