Author Archives: dmitriano

Applying a path that fixes a bug in QT 5.15.2

There was a bug in QT 5.15.2 that results in app crash on Android 5.1 and a patch:

Submodule qtbase contains modified content
diff --git a/qtbase/src/corelib/plugin/qlibrary_unix.cpp b/qtbase/src/corelib/plugin/qlibrary_unix.cpp
index a5c72f81d9..5cd21b67a4 100644
--- a/qtbase/src/corelib/plugin/qlibrary_unix.cpp
+++ b/qtbase/src/corelib/plugin/qlibrary_unix.cpp
@@ -243,10 +243,10 @@ bool QLibraryPrivate::load_sys()
             if (hnd) {
                 using JniOnLoadPtr = jint (*)(JavaVM *vm, void *reserved);
-                JniOnLoadPtr jniOnLoad = reinterpret_cast<JniOnLoadPtr>(dlsym(pHnd, "JNI_OnLoad"));
+                JniOnLoadPtr jniOnLoad = reinterpret_cast<JniOnLoadPtr>(dlsym(hnd, "JNI_OnLoad"));
                 if (jniOnLoad && jniOnLoad(QtAndroidPrivate::javaVM(), nullptr) == JNI_ERR) {
-                    pHnd = nullptr;
+                    hnd = nullptr;

Looks like it was simply a typo and pHnd was replaced with hnd.

QT 5.15.3 where the bug was fixed is commercial so I applied the patch by myself (thanks to danilabagroff from


Building QT 6.1.0 for Android on Windows

Theoretically it can be:

git clone --recursive --branch v6.1.0

or alternatively:

git clone --branch v6.1.0
./init-repository --branch --module-subset=essential,qtandroidextras,qtsvg,qtquickcontrols2,qtgraphicaleffects,qtwebsockets,qtmultimedia


./init-repository --module-subset=all

QT 5.15.2 app crashes on Android 5.1

My QT 5.15.2 app crashes on Android 5.1 with the following call stack:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Android/sdk_google_phone_x86_64/generic_x86_64:5.1.1/LMY48X/6402608:userdebug/test-keys'
Revision: '0'
ABI: 'x86_64'
pid: 3954, tid: 3998, name: qtMainLoopThrea  >>> net.geographx.LinesGame <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'art/runtime/mirror/] Check failed: !IsFastNative() int java.lang.Character.digitImpl!(int, int)'
    rax 0000000000000000  rbx 0000000000000f9e  rcx ffffffffffffffff  rdx 0000000000000006
    rsi 0000000000000f9e  rdi 0000000000000f72
    r8  0000000000000022  r9  0000000000000002  r10 0000000000000008  r11 0000000000000206
    r12 000000000000000b  r13 0000000000000006  r14 00007f747b51a000  r15 0000000000000051
    cs  0000000000000033  ss  000000000000002b
    rip 00007f7488099e37  rbp 00007f7467007b70  rsp 00007f74670063e8  eflags 0000000000000206

Mining Chia cryptocurrency on Windows 10

I bought a 6TB HDD for 19 990 rubles (in Russia) and started to mine Chia cryptocurrency on my Windows 10 machine using existing 500GB SSD as a temporary space. Now it is building the plots:


Error reading file: No space left on device

I had a large SQLite file C:\Users\D-Ef\AppData\Local\TradeClient\realtime.db that I was unable to copy to another disk. I tried:

split -n 10 -d -u realtime.db /mnt/d/db/rt
dd bs=65536 if=realtime.db of=/mnt/d/db/rt

in WSL, but got ‘error reading ‘realtime.db’: No space left on device’ with all the commands.

Finally I reduced page file size restarted my machine and copied the file in a usual way.


My successful trade with the peaks detection bot

On 4/22/2021 at 00:05 my trading bot detected VIA/BTC pump on Binance crypto exchange and I did the following successful trades:


Nvidia 3GB mining is still alive

Today I started to mine BTG on my 3GB farm. The miner consumes about 1.7MB on HiveOS:

BTG did 3X in April and theoretically it can be the most profitable coin on 3GB cards.


Resizing a partition on HiveOS

There was some strange partition /dev/sda2 of 6.5G size on my HiveOS:

root@rig0:/# cat /proc/partitions
major minor  #blocks  name                                                                                                                                                                                         

8        0  117219767 sda                                                                                                                                                                                       
8        1      20480 sda1                                                                                                                                                                                      
8        2    7323648 sda2             

root@rig0:/# df -h                                                                                                                                                                                                 
Filesystem      Size  Used Avail Use% Mounted on                                                                                                                                                                   
udev            1.9G     0  1.9G   0% /dev                                                                                                                                                                         
tmpfs           383M   44M  340M  12% /run                                                                                                                                                                         
/dev/sda2       6.8G  6.5G     0 100% /                                                                                                                                                                            
tmpfs           1.9G     0  1.9G   0% /dev/shm                                                                                                                                                                     
tmpfs           5.0M     0  5.0M   0% /run/lock                                                                                                                                                                    
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup                                                                                                                                                               
tmpfs           100M   16K  100M   1% /tmp                                                                                                                                                                         
tmpfs           1.9G     0  1.9G   0% /var/tmp                                                                                                                                                                     
tmpfs           1.9G   30M  1.9G   2% /var/log                                                                                                                                                                     
tmpfs           1.9G     0  1.9G   0% /var/log/journal                                                                                                                                                             
tmpfs           1.9G     0  1.9G   0% /var/log/apt                                                                                                                                                                 
/dev/sda1        20M  5.7M   15M  29% /hive-config

Negating the minimal integer results in an overflow in C++

The code below compiles with a warning:

#include <iostream>
#include <limits>
#include <cstdint>

int main()
    int64_t m1 = -std::numeric_limits<int64_t>::min();
    int64_t m2 = -m1;
    std::cout << m1 << std::endl << m2 << std::endl << std::numeric_limits<int64_t>::max() << std::endl;
    return 0;

Dragging a link from a browser to a QML app

When a link is dragged from a browser on Window 10 platform it contains the page title, but they did not make it accessible in QML:

import QtQuick 2.15
import QtQuick.Controls 2.15

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: qsTr("Scroll")
    id: root

    DropArea {
        id: dropArea;
        anchors.fill: parent
        onEntered: {
            root.color = "gray";
            drag.accept (Qt.LinkAction);