openbsd: crashes at startup
so far we have 0.99.13 in ports (with some minimal patches) and it works fine. I'm trying to update to 1.90, but it crashes at startup because afaict daemon
object is uninitialized yet:
Starting program: /home/landry/src/upower/obj/src/upowerd -d
TI:19:09:56 failed to load config file 'etc/UPower/UPower.conf': No such file or directory
TI:19:09:56 Starting upowerd version 1.90.0
TI:19:09:56 cannot find a keyboard backlight
TI:19:09:56 object path = /org/freedesktop/UPower/devices/DisplayDevice
TI:19:09:56 daemon now coldplug
TI:19:09:56 lid_is_present = yes
TI:19:09:56 lid_is_closed = no
[New thread 516615]
[New thread 154772]
[New thread 106031]
[New thread 143138]
[New thread 519314]
Thread 1 received signal SIGSEGV, Segmentation fault.
up_daemon_get_debug (daemon=0x0) at ../src/up-daemon.c:943
943 return daemon->priv->debug;
(gdb) bt
#0 up_daemon_get_debug (daemon=0x0) at ../src/up-daemon.c:943
#1 0x00000ed0cb7543fd in up_device_initable_init (initable=<optimized out>, cancellable=<optimized out>, error=0x0) at ../src/up-device.c:463
#2 0x00000ed0cb759fe9 in up_backend_coldplug (backend=0xed31bc5fc40, daemon=<optimized out>) at ../src/openbsd/up-backend.c:135
#3 0x00000ed0cb7505b2 in up_daemon_startup (daemon=0xed31bc82150, connection=<optimized out>) at ../src/up-daemon.c:529
#4 0x00000ed0cb750233 in up_main_bus_acquired (connection=0xed2ceb0f080, name=<optimized out>, user_data=0xed31bc69900) at ../src/up-main.c:83
#5 0x00000ed39b02c05e in connection_get_cb (source_object=<optimized out>, res=0xed31bc87310, user_data=0xed2ceb2d600) at ../glib-2.72.3/gio/gdbusnameowning.c:504
#6 0x00000ed39afb6866 in g_task_return_now (task=0xed31bc87310) at ../glib-2.72.3/gio/gtask.c:1230
#7 0x00000ed39afb508a in g_task_return (task=0xed31bc87310, type=<optimized out>) at ../glib-2.72.3/gio/gtask.c:1299
#8 0x00000ed39b01ffa1 in bus_get_async_initable_cb (source_object=0xed2ceb0f080, res=<optimized out>, user_data=0xed31bc87310) at ../glib-2.72.3/gio/gdbusconnection.c:7492
#9 0x00000ed39afb6866 in g_task_return_now (task=0xed31bc873d0) at ../glib-2.72.3/gio/gtask.c:1230
#10 0x00000ed39afb68bb in complete_in_idle_cb (task=0xed31bc873d0) at ../glib-2.72.3/gio/gtask.c:1244
#11 0x00000ed2cdae72ff in g_main_dispatch (context=<optimized out>) at ../glib-2.72.3/glib/gmain.c:3417
#12 g_main_context_dispatch (context=<optimized out>) at ../glib-2.72.3/glib/gmain.c:4135
#13 0x00000ed2cdae76ba in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=1, self=<optimized out>) at ../glib-2.72.3/glib/gmain.c:4211
#14 0x00000ed2cdae7aea in g_main_loop_run (loop=0xed2ceb11de0) at ../glib-2.72.3/glib/gmain.c:4411
#15 0x00000ed0cb74ffb8 in main (argc=1, argv=0x7f7ffffe0dd8) at ../src/up-main.c:294
tried adding some NULL checks in the code here and there but something in the last refactorings feels wrong.
i've tried 1.90.0, 0.99.20, 0.99.18 and they all fail the same. As i'm the one who originally wrote the OpenBSD backend some years ago, i'd like it to work again (natively, ofc) - will bisect.