OpenVMS running on X86_64!

But not in an emulator but as a native port! It seems the porting efforts of VSI (VMS Software Inc) are close to a running system. On their News section there is this small announcement: OpenVMS for x86 V9.0 EAK goes to first customer on May 15, 2020 VSI will make the first V9.0 Early…

An old bug that turned out to be exploitable UAF vulnerability

Almost two year ago I reported a bug #76047 for which initially I didn’t understand the root cause until Nikita Popov explained it was a Use after free issue in debug_backtrace() obtained in destructor. Back then I didn’t manage to get a short reproduction case until yesterday when it was reported that there is an…

Swoole 4.4.12 is out

Swoole jumped few versions from 4.4.8 to 4.4.12 but a lot of changes got in. including a fix allowing Swoole to work with PHP 7.4 Preload. The docker images I have are updated.

Performance comparison between Swoole and Apache/mod_php

I just finished a performance comparison between Swoole and Apache/mod_php (PHP 7.3) but not just in synthetic tests but tests that are closer to real world application. If you find a mistake or you would like to have anything added please create a Pull Request or let me know here in the comments. To view…

PHP 7.4 RC5 is out

In the last day of October PHP released RC5 of the next minor version 7.4. The most important fix in this version is the __set() call when a non-initialized typed property is set. Due to this we had to do a workaround in Guzaba2 framework but this is now fixed. The new images based on…

PHP 7.4 Debian Stretch images

Since there are still no official images for PHP 7.4 (RC4) based on Debian stretch I have created some. The Swoole image also has several other modules. There are also some bash scripts for container start in the Github repo. The changes in the Dockerfile compared to 7.3 include the addition of โˆ’โˆ’with-pear (Pear is…

Centos 8 is out – official support for ppc64le

While browsing the available boot disk options in GCP I just noticed that Centos 8 is available. I somehow missed the official announcement… The interesting thing is that now ppc64le (which translates as Power 8/9 little endian) is officially supported. Now I just need a Talos II workstation ๐Ÿ™‚ And while browsing the available ISOs…

Connection Pools and resource management in Swoole

Introduction In this post I will explain the idea of resource pool and how it should be used. A resource pool is a limited pool from which a resource is obtained, used and then released back to the pool for other threads to use it. Usually these pools are actually connection pools so from now…

Coroutines in Swoole

Introduction In this post I will go through some details about the coroutines in Swoole (v4.0+). The first sections will explain the basics and certain details and then examples will be given. Numbers in [] refer to entries in the Notes section, while numbers in () refer to the Examples section. There are many links…

Swoole\Coroutine\System namespace in Swoole 4.4.6

In Swoole 4.4.6 the coroutine methods related to the filesystem, name resolution, and few others will be moved from Swoole\Coroutine to Swoole\Coroutine\System. The recommended way will be to access Co\System::sleep() instead of Co::sleep(). As a side note – here is a tool for dumping all Swoole classes. It is useful as the documentation is sometimes…