Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Random Panic on stage_execution #3874

Closed
Giulio2002 opened this issue Apr 11, 2022 · 7 comments
Closed

Random Panic on stage_execution #3874

Giulio2002 opened this issue Apr 11, 2022 · 7 comments

Comments

@Giulio2002
Copy link
Contributor

erigon: mdbx:8403: mdbx_iov_done: Assertion `ctx->iov_items == 0' failed.
SIGABRT: abort
PC=0x7f24a780b03b m=13 sigcode=18446744073709551610
signal arrived during cgo execution

goroutine 102 [syscall, locked to thread]:
runtime.cgocall(0x16069f0, 0xc08055c3f8, 0x0)
runtime/cgocall.go:154 +0x5b fp=0xc08055c3c8 sp=0xc08055c390 pc=0x449e3b
github.com/torquem-ch/mdbx-go/mdbx._Cfunc_mdbxgo_cursor_put2(0x7623d0dfef70, 0xc0b5280d80, 0x1c, 0xc0cf34b4c0, 0x2a, 0xc000000040, 0x0)
_cgo_gotypes.go:1033 +0x48 fp=0xc08055c3f8 sp=0xc08055c3c8 pc=0x9960e8
github.com/torquem-ch/mdbx-go/mdbx.(*Cursor).Put.func1(0xc0b7542060, 0xc0b5280d80, 0x1c, 0x3c, 0xc0cf34b4c0, 0x2a, 0x40, 0x40, 0xc143e9e128)
github.com/torquem-ch/[email protected]/mdbx/cursor.go:235 +0xad fp=0xc08055c448 sp=0xc08055c3f8 pc=0x99e9cd
github.com/torquem-ch/mdbx-go/mdbx.(*Cursor).Put(0xc0b7542060, 0xc0b5280d80, 0x1c, 0x3c, 0xc0cf34b4c0, 0x2a, 0x40, 0x40, 0xc0b5280d80, 0x1c)
github.com/torquem-ch/[email protected]/mdbx/cursor.go:235 +0x9f fp=0xc08055c4b0 sp=0xc08055c448 pc=0x99799f
github.com/ledgerwatch/erigon-lib/kv/mdbx.(*MdbxCursor).putCurrent(...)
github.com/ledgerwatch/[email protected]/kv/mdbx/kv_mdbx.go:1081
github.com/ledgerwatch/erigon-lib/kv/mdbx.(*MdbxCursor).putDupSort(0xc0b5593da0, 0xc0b5280d80, 0x3c, 0x3c, 0xc11445b290, 0xa, 0x30, 0x3c, 0x0)
github.com/ledgerwatch/[email protected]/kv/mdbx/kv_mdbx.go:1404 +0x36a fp=0xc08055c650 sp=0xc08055c4b0 pc=0x9aaf0a
github.com/ledgerwatch/erigon-lib/kv/mdbx.(*MdbxCursor).Put(0xc0b5593da0, 0xc0b5280d80, 0x3c, 0x3c, 0xc11445b290, 0xa, 0x30, 0x0, 0x0)
github.com/ledgerwatch/[email protected]/kv/mdbx/kv_mdbx.go:1363 +0xc6 fp=0xc08055c718 sp=0xc08055c650 pc=0x9aa926
github.com/ledgerwatch/erigon-lib/etl.loadFilesIntoBucket.func1(0xc0b5280d80, 0x3c, 0x3c, 0xc0b5280d80, 0x3c, 0x3c, 0xc11445b290, 0xa, 0x30, 0xc0002e4101, ...)
github.com/ledgerwatch/[email protected]/etl/collector.go:252 +0x682 fp=0xc08055c938 sp=0xc08055c718 pc=0xeaa5e2
github.com/ledgerwatch/erigon-lib/etl.glob..func1(0xc0b5280d80, 0x3c, 0x3c, 0xc11445b290, 0xa, 0x30, 0x2ae4800, 0xc0

@erthink
Copy link
Contributor

erthink commented Apr 11, 2022

This is my bug. Will fix soon.

@AskAlexSharov
Copy link
Collaborator

merged fix to devel #3876

@erthink
Copy link
Contributor

erthink commented Apr 12, 2022

@Giulio2002, I need a little help from you.

In February, I discovered a specific issue in the Linux kernel, which until your case could only be reproduced on highloaded Positive Technologies' software with closed source code.
Unfortunately, we could not find any simpler and/or isolated method of reproduction.
But now you have reproduced this issue.

So, please describe the configuration of your machine, including the kernel version, the disks and controllers used, the type of file system, etc.
I hope this information will help with the analysis and search for a simple testcase/scenario.

@Giulio2002
Copy link
Contributor Author

Could this issue be part of the fact that my machine run out of space, the db was 1.5 TB long and the machine had 2TB of disk, is there the possibility it finished disk space?

@erthink
Copy link
Contributor

erthink commented Apr 13, 2022

Could this issue be part of the fact that my machine run out of space, the db was 1.5 TB long and the machine had 2TB of disk, is there the possibility it finished disk space?

Hmm, No, but perhaps the lack of space provokes the manifestation of the noted issue and/or increases the probability.

@Giulio2002
Copy link
Contributor Author

description: Desktop Computer
product: MS-7B61 (Default string)
vendor: Micro-Star International Co., Ltd.
version: 1.0
serial: Default string
width: 64 bits
capabilities: smbios-2.8 dmi-2.8 smp vsyscall32
configuration: boot=normal chassis=desktop family=Default string sku=Default string

*-core
description: Motherboard
product: Z370 GAMING PLUS (MS-7B61)
vendor: Micro-Star International Co., Ltd.
physical id: 0
version: 1.0
serial: Default string
slot: Default string
*-firmware
description: BIOS
vendor: American Megatrends Inc.
physical id: 0
version: 1.EC
date: 05/21/2019
size: 64KiB
capacity: 16MiB
capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer acpi usb biosbootspecification uefi
*-memory
description: System Memory
physical id: 39
slot: System board or motherboard
size: 64GiB
*-bank:0
description: DIMM DDR4 Synchronous Unbuffered (Unregistered) 2400 MHz (0.4 ns)
product: CT16G4DFD824A.M16FE
vendor: 859B
physical id: 0
serial: E0B2F3E8
slot: ChannelA-DIMM0
size: 16GiB
width: 64 bits
clock: 2400MHz (0.4ns)
*-bank:1
description: DIMM DDR4 Synchronous Unbuffered (Unregistered) 2400 MHz (0.4 ns)
product: CT16G4DFD824A.M16FE
vendor: 859B
physical id: 1
serial: E0B2F3F0
slot: ChannelA-DIMM1
size: 16GiB
width: 64 bits
clock: 2400MHz (0.4ns)
*-bank:2
description: DIMM DDR4 Synchronous Unbuffered (Unregistered) 2400 MHz (0.4 ns)
product: CT16G4DFD824A.M16FE
vendor: 859B
physical id: 2
serial: E0B2F3EA
slot: ChannelB-DIMM0
size: 16GiB
width: 64 bits
clock: 2400MHz (0.4ns)
*-bank:3
description: DIMM DDR4 Synchronous Unbuffered (Unregistered) 2400 MHz (0.4 ns)
product: CT16G4DFD824A.M16FE
vendor: 859B
physical id: 3
serial: E0B2F3E9
slot: ChannelB-DIMM1
size: 16GiB
width: 64 bits
clock: 2400MHz (0.4ns)
*-cache:0
description: L1 cache
physical id: 3f
slot: L1 Cache
size: 384KiB
capacity: 384KiB
capabilities: synchronous internal write-back unified
configuration: level=1
*-cache:1
description: L2 cache
physical id: 40
slot: L2 Cache
size: 1536KiB
capacity: 1536KiB
capabilities: synchronous internal write-back unified
configuration: level=2
*-cache:2
description: L3 cache
physical id: 41
slot: L3 Cache
size: 12MiB
capacity: 12MiB
capabilities: synchronous internal write-back unified
configuration: level=3
*-cpu
description: CPU
product: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
vendor: Intel Corp.
physical id: 42
bus info: cpu@0
version: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
serial: To Be Filled By O.E.M.
slot: U3E1
size: 4301MHz
capacity: 4600MHz
width: 64 bits
clock: 100MHz
capabilities: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d cpufreq
configuration: cores=6 enabledcores=6 threads=12
*-pci
physical id: 100
bus info: pci@0000:00:00.0
version: 07
width: 32 bits
clock: 33MHz
configuration: driver=skl_uncore
resources: irq:0
*-pci:0
physical id: 1
bus info: pci@0000:00:01.0
version: 07
width: 32 bits
clock: 33MHz
capabilities: pci pm msi pciexpress bus_master cap_list
configuration: driver=pcieport
resources: irq:122 memory:df100000-df1fffff
*-storage
physical id: 0
bus info: pci@0000:01:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: storage pm msi pciexpress msix bus_master cap_list
configuration: driver=nvme latency=0
resources: irq:16 memory:df100000-df103fff
*-nvme0
description: NVMe device
product: SAMSUNG MZVLB1T0HALR-00000
physical id: 0
logical name: /dev/nvme0
version: EXA7301Q
serial: S3W6NX0M502207
configuration: nqn=nqn.2014.08.org.nvmexpress:144d144dS3W6NX0M502207 SAMSUNG MZVLB1T0HALR-00000 state=live
*-namespace
description: NVMe namespace
physical id: 1
logical name: /dev/nvme0n1
size: 953GiB (1024GB)
capabilities: partitioned partitioned:dos
configuration: logicalsectorsize=512 sectorsize=512 signature=d49831bd
*-volume:0
description: Linux raid autodetect partition
physical id: 1
logical name: /dev/nvme0n1p1
capacity: 16GiB
capabilities: primary multi
*-volume:1
description: Linux raid autodetect partition
physical id: 2
logical name: /dev/nvme0n1p2
capacity: 512MiB
capabilities: primary multi
*-volume:2
description: Linux raid autodetect partition
physical id: 3
logical name: /dev/nvme0n1p3
capacity: 937GiB
capabilities: primary multi
*-display UNCLAIMED
physical id: 2
bus info: pci@0000:00:02.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm bus_master cap_list
configuration: latency=0
resources: memory:de000000-deffffff memory:c0000000-cfffffff ioport:f000(size=64) memory:c0000-dffff
*-generic:0 UNCLAIMED
physical id: 8
bus info: pci@0000:00:08.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: msi pm bus_master cap_list
configuration: latency=0
resources: memory:df24f000-df24ffff
*-usb
physical id: 14
bus info: pci@0000:00:14.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list
configuration: driver=xhci_hcd latency=0
resources: irq:124 memory:df230000-df23ffff
*-usbhost:0
product: xHCI Host Controller
vendor: Linux 5.4.0-96-generic xhci-hcd
physical id: 0
bus info: usb@1
logical name: usb1
version: 5.04
capabilities: usb-2.00
configuration: driver=hub slots=16 speed=480Mbit/s
*-usbhost:1
product: xHCI Host Controller
vendor: Linux 5.4.0-96-generic xhci-hcd
physical id: 1
bus info: usb@2
logical name: usb2
version: 5.04
capabilities: usb-3.00
configuration: driver=hub slots=10 speed=5000Mbit/s
*-generic:1 UNCLAIMED
physical id: 14.2
bus info: pci@0000:00:14.2
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list
configuration: latency=0
resources: memory:df24e000-df24efff
*-communication UNCLAIMED
physical id: 16
bus info: pci@0000:00:16.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list
configuration: latency=0
resources: memory:df24d000-df24dfff
*-sata
physical id: 17
bus info: pci@0000:00:17.0
version: 00
width: 32 bits
clock: 66MHz
capabilities: sata msi pm bus_master cap_list
configuration: driver=ahci latency=0
resources: irq:125 memory:df248000-df249fff memory:df24c000-df24c0ff ioport:f090(size=8) ioport:f080(size=4) ioport:f060(size=32) memory:df24b000-df24b7ff
*-pci:1
physical id: 1d
bus info: pci@0000:00:1d.0
version: f0
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress msi pm bus_master cap_list
configuration: driver=pcieport
resources: irq:123 memory:df000000-df0fffff
*-storage
physical id: 0
bus info: pci@0000:02:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: storage pm msi pciexpress msix bus_master cap_list
configuration: driver=nvme latency=0
resources: irq:16 memory:df000000-df003fff
*-nvme1
description: NVMe device
product: SAMSUNG MZVLB1T0HALR-00000
physical id: 0
logical name: /dev/nvme1
version: EXA7301Q
serial: S3W6NX0M502274
configuration: nqn=nqn.2014.08.org.nvmexpress:144d144dS3W6NX0M502274 SAMSUNG MZVLB1T0HALR-00000 state=live
*-namespace
description: NVMe namespace
physical id: 1
logical name: /dev/nvme1n1
size: 953GiB (1024GB)
capabilities: partitioned partitioned:dos
configuration: logicalsectorsize=512 sectorsize=512 signature=9c21a258
*-volume:0
description: Linux raid autodetect partition
physical id: 1
logical name: /dev/nvme1n1p1
capacity: 16GiB
capabilities: primary multi
*-volume:1
description: Linux raid autodetect partition
physical id: 2
logical name: /dev/nvme1n1p2
capacity: 512MiB
capabilities: primary multi
*-volume:2
description: Linux raid autodetect partition
physical id: 3
logical name: /dev/nvme1n1p3
capacity: 937GiB
capabilities: primary multi
*-isa
physical id: 1f
bus info: pci@0000:00:1f.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: isa bus_master
configuration: latency=0
*-memory UNCLAIMED
physical id: 1f.2
bus info: pci@0000:00:1f.2
version: 00
width: 32 bits
clock: 33MHz (30.3ns)
capabilities: bus_master
configuration: latency=0
resources: memory:df244000-df247fff
*-multimedia
physical id: 1f.3
bus info: pci@0000:00:1f.3
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list
configuration: driver=snd_hda_intel latency=32
resources: irq:153 memory:df240000-df243fff memory:df220000-df22ffff
*-serial
physical id: 1f.4
bus info: pci@0000:00:1f.4
version: 00
width: 64 bits
clock: 33MHz
configuration: driver=i801_smbus latency=0
resources: irq:16 memory:df24a000-df24a0ff ioport:f040(size=32)
*-network
description: Ethernet interface
physical id: 1f.6
bus info: pci@0000:00:1f.6
logical name: eno1
version: 00
serial: 30:9c:23:ce:09:8b
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k duplex=full firmware=0.2-4 ip=95.216.102.250 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
resources: irq:126 memory:df200000-df21ffff
*-pnp00:00
product: PnP device PNP0c02
physical id: 1
capabilities: pnp
configuration: driver=system
*-pnp00:01
product: PnP device PNP0c02
physical id: 2
capabilities: pnp
configuration: driver=system
*-pnp00:02
product: PnP device PNP0c02
physical id: 3
capabilities: pnp
configuration: driver=system
*-pnp00:03
product: PnP device PNP0c02
physical id: 4
capabilities: pnp
configuration: driver=system
*-pnp00:04
product: PnP device PNP0b00
physical id: 5
capabilities: pnp
configuration: driver=rtc_cmos
*-pnp00:05
product: PnP device INT3f0d
physical id: 6
capabilities: pnp
configuration: driver=system
*-pnp00:06
product: PnP device PNP0c02
physical id: 7
capabilities: pnp
configuration: driver=system
*-pnp00:07
product: PnP device PNP0c02
physical id: 8
capabilities: pnp
configuration: driver=system
*-pnp00:08
product: PnP device PNP0c02
physical id: 9
capabilities: pnp
configuration: driver=system
*-pnp00:09
product: PnP device PNP0c02
physical id: a
capabilities: pnp
configuration: driver=system
*-power UNCLAIMED
description: To Be Filled By O.E.M.
product: To Be Filled By O.E.M.
vendor: To Be Filled By O.E.M.
physical id: 1
version: To Be Filled By O.E.M.
serial: To Be Filled By O.E.M.
capacity: 32768mWh

@Giulio2002
Copy link
Contributor Author

this was a sudo lshw

simc pushed a commit to isar/libmdbx that referenced this issue Apr 23, 2022
The stable risen release after the Github's intentional malicious disaster.

We have migrated to a reliable trusted infrastructure
-----------------------------------------------------

The origin for now is at [GitFlic](https://gitflic.ru/project/erthink/libmdbx)
since on 2022-04-15 the Github administration, without any warning nor
explanation, deleted _libmdbx_ along with a lot of other projects,
simultaneously blocking access for many developers.
For the same reason ~~Github~~ is blacklisted forever.

GitFlic already support Russian and English languages, plan to support more,
including 和 中文. You are welcome!

New:
----

 - Added the `tools-static` make target to build statically linked MDBX tools.
 - Support for Microsoft Visual Studio 2022.
 - Support build by MinGW' make from command line without CMake.
 - Added `mdbx::filesystem` C++ API namespace that corresponds to `std::filesystem` or `std::experimental::filesystem`.
 - Created [website](https://libmdbx.website.yandexcloud.net/) for online auto-generated documentation.
 - Used `todo4recovery://erased_by_github/` for dead (or temporarily lost) resources deleted by ~~Github~~.
 - Added `--loglevel=` command-line option to the `mdbx_test` tool.
 - Added few fast smoke-like tests into CMake builds.

Fixes:
------

 - Fixed a race between starting a transaction and creating a DBI descriptor that could lead to `SIGSEGV` in the cursor tracking code.
 - Clarified description of `MDBX_EPERM` error returned from `mdbx_env_set_geometry()`.
 - Fixed non-promoting the parent transaction to be dirty in case the undo of the geometry update failed during abortion of a nested transaction.
 - Resolved linking issues with `libstdc++fs`/`libc++fs`/`libc++experimental` for C++ `std::filesystem` or `std::experimental::filesystem` for legacy compilers.
 - Added workaround for GNU Make 3.81 and earlier.
 - Added workaround for Elbrus/LCC 1.25 compiler bug of class inline `static constexpr` member field.
 - [Fixed](erigontech/erigon#3874) minor assertion regression (only debug builds were affected).
 - Fixed detection of `C++20` concepts accessibility.
 - Fixed detection of Clang's LTO availability for Android.
 - Fixed build for ARM/ARM64 by MSVC.
 - Fixed non-x86 Windows builds with `MDBX_WITHOUT_MSVC_CRT=ON` and `MDBX_BUILD_SHARED_LIBRARY=ON`.

Minors:
-------

 - Resolve minor MSVC warnings: avoid `/INCREMENTAL[:YES]` with `/LTCG`, `/W4` with `/W3`, the `C5105` warning.
 - Switched to using `MDBX_EPERM` instead of `MDBX_RESULT_TRUE' to indicate that the geometry cannot be updated.
 - Added `NULL` checking during memory allocation inside `mdbx_chk`.
 - Resolved all warnings from MinGW while used without CMake.
 - Added inheretable `target_include_directories()` to `CMakeLists.txt` for easy integration.
 - Added build-time checks and paranoid runtime assertions for the `off_t` arguments of `fcntl()` which are used for locking.
 - Added `-Wno-lto-type-mismatch` to avoid false-positive warnings from old GCC during LTO-enabled builds.
 - Added checking for TID (system thread id) to avoid hang on 32-bit Bionic/Android  within `pthread_mutex_lock()`.
 - Reworked `MDBX_BUILD_TARGET` of CMake builds.
 - Added `CMAKE_HOST_ARCH` and `CMAKE_HOST_CAN_RUN_EXECUTABLES_BUILT_FOR_TARGET`.

Signed-off-by: Леонид Юрьев (Leonid Yuriev) <[email protected]>
GerHobbelt added a commit to GerHobbelt/libmdbx that referenced this issue Aug 31, 2022
The stable risen release after the Github's intentional malicious disaster.

We have migrated to a reliable trusted infrastructure
-----------------------------------------------------

The origin for now is at [GitFlic](https://gitflic.ru/project/erthink/libmdbx)
since on 2022-04-15 the Github administration, without any warning nor
explanation, deleted _libmdbx_ along with a lot of other projects,
simultaneously blocking access for many developers.
For the same reason ~~Github~~ is blacklisted forever.

GitFlic already support Russian and English languages, plan to support more,
including 和 中文. You are welcome!

New:
----

 - Added the `tools-static` make target to build statically linked MDBX tools.
 - Support for Microsoft Visual Studio 2022.
 - Support build by MinGW' make from command line without CMake.
 - Added `mdbx::filesystem` C++ API namespace that corresponds to `std::filesystem` or `std::experimental::filesystem`.
 - Created [website](https://libmdbx.website.yandexcloud.net/) for online auto-generated documentation.
 - Used `todo4recovery://erased_by_github/` for dead (or temporarily lost) resources deleted by ~~Github~~.
 - Added `--loglevel=` command-line option to the `mdbx_test` tool.
 - Added few fast smoke-like tests into CMake builds.

Fixes:
------

 - Fixed a race between starting a transaction and creating a DBI descriptor that could lead to `SIGSEGV` in the cursor tracking code.
 - Clarified description of `MDBX_EPERM` error returned from `mdbx_env_set_geometry()`.
 - Fixed non-promoting the parent transaction to be dirty in case the undo of the geometry update failed during abortion of a nested transaction.
 - Resolved linking issues with `libstdc++fs`/`libc++fs`/`libc++experimental` for C++ `std::filesystem` or `std::experimental::filesystem` for legacy compilers.
 - Added workaround for GNU Make 3.81 and earlier.
 - Added workaround for Elbrus/LCC 1.25 compiler bug of class inline `static constexpr` member field.
 - [Fixed](erigontech/erigon#3874) minor assertion regression (only debug builds were affected).
 - Fixed detection of `C++20` concepts accessibility.
 - Fixed detection of Clang's LTO availability for Android.
 - Fixed build for ARM/ARM64 by MSVC.
 - Fixed non-x86 Windows builds with `MDBX_WITHOUT_MSVC_CRT=ON` and `MDBX_BUILD_SHARED_LIBRARY=ON`.

Minors:
-------

 - Resolve minor MSVC warnings: avoid `/INCREMENTAL[:YES]` with `/LTCG`, `/W4` with `/W3`, the `C5105` warning.
 - Switched to using `MDBX_EPERM` instead of `MDBX_RESULT_TRUE' to indicate that the geometry cannot be updated.
 - Added `NULL` checking during memory allocation inside `mdbx_chk`.
 - Resolved all warnings from MinGW while used without CMake.
 - Added inheretable `target_include_directories()` to `CMakeLists.txt` for easy integration.
 - Added build-time checks and paranoid runtime assertions for the `off_t` arguments of `fcntl()` which are used for locking.
 - Added `-Wno-lto-type-mismatch` to avoid false-positive warnings from old GCC during LTO-enabled builds.
 - Added checking for TID (system thread id) to avoid hang on 32-bit Bionic/Android  within `pthread_mutex_lock()`.
 - Reworked `MDBX_BUILD_TARGET` of CMake builds.
 - Added `CMAKE_HOST_ARCH` and `CMAKE_HOST_CAN_RUN_EXECUTABLES_BUILT_FOR_TARGET`.

Signed-off-by: Леонид Юрьев (Leonid Yuriev) <[email protected]>

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEE9IGHqvPZe++T6rYHUYvRC5J+hoYFAmJjEN8ACgkQUYvRC5J+
# hobyZA//ffV40fOGfbMItW2C1CyYiXF8qGnEwBAoLqAgn1rAeEtMK4OSDj0IhI5f
# Vn2Mg3I4pqr9wnz7cxLVJ8CgaQ6hSg8Fk0VCGMARJdR6zcxAly2oSCBbxKcqhhbR
# hGP8YxOG6Y3z6iCQil0rmu65dHWlZcfunRvYs2lcLnC9IfqeXuB6VGN5q08NLLkC
# uqAAVO22bijs+mkeagRd+AQmS7upABtz4OAfxymJ+5s46k730xa+nqubEA4b+iQ0
# 9bjRkDj73HR/I7okBeEiNpXBMimKNhtppvU/DyrYDZIcVSxpFTbSpPejo8uvDQjz
# eanhU5NOfJ4z9B0Ti+dcj5+cs+vzq6//Qw8JeZEOj0OYzAYDM9cKaH+NUo7Yg0Eb
# RdQxogR5kn8pgMohnz+oBO10RWiydeL5+Cot8FrdA7s9IwU0mleFx+XAx1JiQvfy
# P33yHEkcYi9blFB7kIu1S1AjLMH/hFl9kVngi+bjdZc8lp2ZqqeimDl6GCvg1Lp4
# 5nkGTNURXNuKXtE04U11GnrLj9iYr+nVA+Er3e0HwmO2bklvdJUAGHl3WOY55RC+
# 09ZY21GBi8thDa3Lso6Su6pKmoO1TVXNw7E52O1C1XX4IAwH+5biedYUIyj5/06+
# uZ28NHxvKdx9ZYHgjz0P8tvZMlFvCITw8Cj2umqDWgIfJ9iVtsI=
# =wCqa
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri Apr 22 22:32:31 2022 WEDT
# gpg:                using RSA key F48187AAF3D97BEF93EAB607518BD10B927E8686
# gpg: Can't check signature: No public key
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants