-
-
Notifications
You must be signed in to change notification settings - Fork 138
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Bug description
I am writing a program that needs to continuously bind and unbind properties of one object to the properties of multiple other objects.
Using Object::bind_property, this eventually leads to a core dump with SIGABRT.
An representation of how the bindings are created is shown below. The bind function may be called multiple times in the same minute, for different instances of SomeObject but the same instance of MusicPlayer.
Even if the frequency at which bind is called is reduced, after about 5 calls, spaced out between multiple minutes, the program still crashes.
fn bind(player: &MusicPlayer, object: &SomeObject) {
player
.bind_property("title", object, "prop-1")
.sync_create()
.build();
player
.bind_property("artist", object, "prop-2")
.sync_create()
.build();
player
.bind_property("album", object, "prop-3")
.sync_create()
.build();
player
.bind_property("album-artist", object, "prop-4")
.sync_create()
.build();
}Backtrace
The provided logs have been routed through tracing.
2025-12-22T08:57:50.319536Z ERROR backend::gtk: Too many GWeakRef registered
2025-12-22T08:57:50.319555Z ERROR scarlet: **
GLib-GObject:ERROR:../gobject/gbinding.c:805:g_binding_constructed: assertion failed: (source != NULL)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working