Login to WordPress admin panel, select Posts
on the left sidebar and create new post:

strawberry-perl-5.26.2.1-64bit.msi
first (before mingw-w64-install.exe
) to E:\PFiles
mingw-w64-install.exe
online installer. Select POSIX threads in the installer UI combobox, otherwise you will get:qt-everywhere-src-5.15.0.zip
to E:\Qt\Qt5.15.0
and run the following script in QT root directory containing configure.bat
:If I enable Gesture mode on an Android 10 emulator by tapping System->Gestures->System Navigation->Gesture Navigation and then deactivate my app by swiping and reactivate it back, I get the following in the log:
adb logcat | grep "\ Lines"
05-04 21:52:36.389 11794 11939 D Lines : Squircle::aboutToQuit() 05-04 21:52:36.389 11794 11939 D Lines : InterstitialAdWrapper clear() called. 05-04 21:52:36.392 11794 11939 D Lines : InterstitialAdWrapper InterstitialAd destructor called. 05-04 21:52:36.393 11794 11939 D Lines : Squircle destructor called. 05-04 21:52:36.396 11794 11939 W Lines : exit app 0 ... 05-04 21:52:37.032 11794 11939 D Lines : OslSoundPool destructor 05-04 21:52:37.117 2040 2134 W InputDispatcher: channel '8474831 net.geographx.LinesGame/net.geographx.MainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9 05-04 21:52:37.117 2040 2134 E InputDispatcher: channel '8474831 net.geographx.LinesGame/net.geographx.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 05-04 21:52:37.123 2040 3120 I WindowManager: WIN DEATH: Window{8474831 u0 net.geographx.LinesGame/net.geographx.MainActivity} 05-04 21:52:37.123 2040 3120 W InputDispatcher: Attempted to unregister already unregistered input channel '8474831 net.geographx.LinesGame/net.geographx.MainActivity (server)' 05-04 21:52:37.136 2040 3120 W ActivityManager: Scheduling restart of crashed service net.geographx.LinesGame/org.chromium.content.app.SandboxedProcessService0 in 1000ms 05-04 21:52:37.151 2040 2057 I ActivityManager: Process net.geographx.LinesGame (pid 11794) has died: cch CRE 05-04 21:52:38.034 2040 2057 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=net.geographx.LinesGame/net.geographx.MainActivity bnds=[37,882][238,1191]} from uid 10090 05-04 21:52:38.055 2040 2057 I chatty : uid=1000(system) Binder:2040_2 identical 8 lines 05-04 21:52:38.099 2040 2072 I ActivityManager: Start proc 12702:net.geographx.LinesGame/u0a134 for activity {net.geographx.LinesGame/net.geographx.MainActivity} 05-04 21:52:38.101 12702 12702 W raphx.LinesGam: Unexpected CPU variant for X86 using defaults: x86 05-04 21:52:38.124 12702 12702 E raphx.LinesGam: Not starting debugger since process cannot load the jdwp agent. ... 05-04 21:52:38.966 2040 2069 I ActivityTaskManager: Displayed net.geographx.LinesGame/net.geographx.MainActivity: +931ms 05-04 21:52:39.062 12702 12826 D libLinesGameQt_x86.so: Translation file has been loaded successfully: "LinesGame_en" 05-04 21:52:39.062 12702 12826 D Lines : App version: "2.5.11, #133" 05-04 21:52:39.072 12702 12826 D Lines : QT/SysInfo: Device Pixel Ratio: 3 Screen DPI: 147.131 05-04 21:52:39.106 12702 12826 D Lines : InterstitialAdWrapper valid 05-04 21:52:39.185 12702 12826 D Lines : qml: Registering adfree 05-04 21:52:39.189 7632 9145 W Finsky : [672] gcs.d(23): net.geographx.LinesGame: No account found. 05-04 21:52:39.411 12702 12826 D Lines : qml: adfree Component.onCompleted 05-04 21:52:39.413 12702 12826 D Lines : InterstitialAdWrapper: calling Java method ' initializeInterstitialAd ' from C++ 05-04 21:52:39.413 12702 12826 D Lines : Starting the application event loop... 05-04 21:52:39.463 12702 12826 D Lines : onApplicationStateChanged(Qt::ApplicationActive)(more…)
I did some research on why my QT app crashes at the destructor of std::thread on Android 10 devices at the user side with the following call stack:
#00 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160) #01 /system/lib64/libc++.so (abort_message+232) #02 /system/lib64/libc++.so (demangling_terminate_handler()+44) #03 /system/lib64/libc++.so (std::__terminate(void (*)())+12) #04 /system/lib64/libc++.so (std::terminate()+52) #05 /system/lib64/libc++.so (std::__1::thread::~thread()+20) #06 /apex/com.android.runtime/lib64/bionic/libc.so (__cxa_finalize+212) #07 /apex/com.android.runtime/lib64/bionic/libc.so (exit+24) #08 /data/app/com.domain.myapp-Rs_sm5VrLR1Jj8QW6oYByA==/lib/arm64/libplugins_platforms_qtforandroid_arm64-v8a.so
and figured out that its likely because std::thread destructor is being invoked while the thread is still joinable at some point of the application execution (thanks to G. M. on stackoverflow.com).
(more…)Calculating disk space usage per MySQL DB:
sudo du -h /var/lib/mysql/
932M /var/lib/mysql/beauty 179M /var/lib/mysql/slogpost 485M /var/lib/mysql/omegauto 8.0K /var/lib/mysql/test 676K /var/lib/mysql/sys 22G /var/lib/mysql/bot 79M /var/lib/mysql/master 11M /var/lib/mysql/mysql 176K /var/lib/mysql/phpmyadmin 21M /var/lib/mysql/shar 127M /var/lib/mysql/mike 1.1M /var/lib/mysql/performance_schema 79M /var/lib/mysql/devnote 12M /var/lib/mysql/mike1 48K /var/lib/mysql/game 24G /var/lib/mysql/(more…)
I wrote a simple test that outputs std::memmove speed to the console:
AWT_ATTRIBUTE(size_t, element_count, 1000000); std::unique_ptr<uint8_t> p_src(new uint8_t[element_count]); std::memset(p_src.get(), 25u, element_count); std::unique_ptr<uint8_t> p_dst(new uint8_t[element_count]); context.out << _T("std::memmove: "); awl::StopWatch w; std::memmove(p_dst.get(), p_src.get(), element_count); ReportSpeed(context, w, element_count); context.out << std::endl;
And the similar tests for std::memset and std::vector::insert.
(more…)In the code below, static_assert operates on the addresses of local variables, but however MS compiles it and the assertion does not fail:
#include <tuple> #include <string> struct A { int a; double b; std::string c; }; void f() { A a{ 1, 3.0, "abc" }; constexpr auto t1 = std::tie(a.a, a.b, a.c); static_assert(&std::get<0>(t1) == &a.a); }
Use the following command to compile this example:
cl /std:c++17 /EHsc a.cpp(more…)
I created an unlockable product in Google Play, added billing permission to the manifest:
<uses-permission android:name="com.android.vending.BILLING"/>
and implemented billing in my application, but when I attempted to purchase the product first time I got error ‘This version of the application is not configured for billing through Google Play‘: