I've found a rather odd assertion failure in toggle_refs_notify. I know most of the time, this is caused by a threading issue (and that's what I thought it was at first) but I've made a minimal program without threading to replicate.
This program produces the following output when compiled and run with dub:
Performing "debug" build using /usr/local/bin/ldc2 for x86_64.
gtk-d:gtkd 3.9.0: target for configuration "library" is up to date.
gtk-d:gstreamer 3.9.0: target for configuration "library" is up to date.
gtk-d:peas 3.9.0: target for configuration "library" is up to date.
gtk-d:sv 3.9.0: target for configuration "library" is up to date.
gtk-d:vte 3.9.0: target for configuration "library" is up to date.
test ~master: target for configuration "application" is up to date.
To force a rebuild of up-to-date targets, run again with --force.
Running ./test
Fail now!
**
GLib-GObject:ERROR:../../../gobject/gobject.c:3055:toggle_refs_notify: assertion failed: (tstack.n_toggle_refs == 1)
I don't have a super detailed understanding of GtkD, so if I'm just being stupid and mis-using something please tell me. Otherwise, is this some kind of bug? I was not able to replicate this bug with a simple box; It seems that ListBox is important. I know that ListBox creates an automatic ListBoxRow, so perhaps that's related?
This is all compiled using LDC2. Below is the output of ldc2 --version in case it matters:
LDC - the LLVM D compiler (1.27.1-git-faea8aa):
based on DMD v2.097.2 and LLVM 12.0.1
built with LDC - the LLVM D compiler (1.27.1-git-faea8aa)
Default target: x86_64-unknown-linux-gnu
Host CPU: ivybridge
http://dlang.org - http://wiki.dlang.org/LDC
Registered Targets:
aarch64 - AArch64 (little endian)
aarch64_32 - AArch64 (little endian ILP32)
aarch64_be - AArch64 (big endian)
amdgcn - AMD GCN GPUs
arm - ARM
arm64 - ARM64 (little endian)
arm64_32 - ARM64 (little endian ILP32)
armeb - ARM (big endian)
avr - Atmel AVR Microcontroller
mips - MIPS (32-bit big endian)
mips64 - MIPS (64-bit big endian)
mips64el - MIPS (64-bit little endian)
mipsel - MIPS (32-bit little endian)
msp430 - MSP430 [experimental]
nvptx - NVIDIA PTX 32-bit
nvptx64 - NVIDIA PTX 64-bit
ppc32 - PowerPC 32
ppc32le - PowerPC 32 LE
ppc64 - PowerPC 64
ppc64le - PowerPC 64 LE
r600 - AMD GPUs HD2XXX-HD6XXX
riscv32 - 32-bit RISC-V
riscv64 - 64-bit RISC-V
thumb - Thumb
thumbeb - Thumb (big endian)
wasm32 - WebAssembly 32-bit
wasm64 - WebAssembly 64-bit
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
I've found a rather odd assertion failure in toggle_refs_notify. I know most of the time, this is caused by a threading issue (and that's what I thought it was at first) but I've made a minimal program without threading to replicate.
This program produces the following output when compiled and run with
dub
:I don't have a super detailed understanding of GtkD, so if I'm just being stupid and mis-using something please tell me. Otherwise, is this some kind of bug? I was not able to replicate this bug with a simple box; It seems that
ListBox
is important. I know thatListBox
creates an automaticListBoxRow
, so perhaps that's related?This is all compiled using LDC2. Below is the output of
ldc2 --version
in case it matters:Thank you for any and all assistance.