You are not logged in.

#1 2026-04-08 23:02:41

Ghost-Order
Member
Registered: 2019-12-18
Posts: 22

[SOLVED] Cannot log into awesome window manager after glib update

Yesterday I did a system update (sudo pacman -Syu) in which the package glib was updated from 2.86.5-1 to 2.88.0-1, I kept using my system without issues (I didn't restart)

Today I can no longer log into awesome. When I log in the screen goes black and blinks once, after that lightdm shows again, when I check ~/.xsession-errors I can see:

error while running function!
stack traceback:
  [C]: in field 'fromarray'
  /usr/share/lua/5.3/lgi/ffi.lua:87: in function 'lgi.ffi.load_enum'
  /usr/share/lua/5.3/lgi/override/cairo.lua:55: in main chunk
  [C]: in function 'require'
  /usr/share/lua/5.3/lgi/namespace.lua:183: in function 'lgi.require'
  (...tail calls...)
  /usr/share/awesome/lib/gears/color.lua:54: in main chunk
  [C]: in function 'require'
  /usr/share/awesome/lib/gears/init.lua:10: in main chunk
  [C]: in function 'require'
  /home/ghost/.config/awesome/rc.lua:16: in main chunk

error:
  /usr/share/lua/5.3/lgi/ffi.lua:87:
  bad argument #1 to 'fromarray' (lgi.record expected, got table)

error while running function!
stack traceback:
  /usr/share/awesome/lib/gears/color.lua:132: in function </usr/share/awesome/lib/gears/color.lua:126>
  (...tail calls...)
  /usr/share/awesome/lib/gears/cache.lua:30: in function 'gears.cache.get'
  (...tail calls...)
  /usr/share/awesome/lib/gears/color.lua:369: in main chunk
  [C]: in function 'require'
  /usr/share/awesome/lib/gears/init.lua:10: in main chunk
  [C]: in function 'require'
  /etc/xdg/awesome/rc.lua:6: in main chunk

error:
  /usr/share/awesome/lib/gears/color.lua:132:
  attempt to call a nil value (field 'create_rgba')

error while running function!
stack traceback:
  /usr/share/awesome/lib/gears/color.lua:132: in function </usr/share/awesome/lib/gears/color.lua:126>
  (...tail calls...)
  /usr/share/awesome/lib/gears/cache.lua:30: in function 'gears.cache.get'
  (...tail calls...)
  /usr/share/awesome/lib/gears/color.lua:369: in main chunk
  [C]: in function 'require'
  /usr/share/awesome/lib/gears/init.lua:10: in main chunk
  [C]: in function 'require'
  /etc/xdg/awesome/rc.lua:6: in main chunk

error:
  /usr/share/awesome/lib/gears/color.lua:132:
  attempt to call a nil value (field 'create_rgba')

2026-04-08 17:16:41 E: awesome: main:866: couldn't find any rc file

I tried replacing awesome with awesome-git, but I can't install awesome-git due to the same error that appears in ~/.xsession-errors:

bad argument #1 to 'fromarray' (lgi.record expected, got table)

When looking in the web for that error I found this github issue which seems to be related to that glib update but here I'm not sure what do to next.

Last edited by Ghost-Order (2026-04-09 03:24:48)

Offline

#2 2026-04-09 01:40:45

limser
Member
Registered: 2015-05-04
Posts: 4

Re: [SOLVED] Cannot log into awesome window manager after glib update

You are so close to the answer!
See the pr: https://github.com/lgi-devs/lgi/pull/352/changes

I am using these codes to fix it.

```
[$] sudo vim /usr/share/lua/5.3/lgi/ffi.lua

86   local GLib = core.repo.GLib
87   if GLib.check_version(2, 87, 0) then
88      for i = 0, enum_class.n_values - 1 do
89         local val = core.record.fromarray(enum_class.values, i)
90         enum_component[core.upcase(val.value_nick):gsub('%-', '_')] = val.value
91      end
92   else
93      for _, val in ipairs(enum_class.values) do
94         enum_component[core.upcase(val.value_nick):gsub('%-', '_')] = val.value
95      end
96   end
```

Last edited by limser (2026-04-09 01:45:29)

Offline

#3 2026-04-09 03:24:28

Ghost-Order
Member
Registered: 2019-12-18
Posts: 22

Re: [SOLVED] Cannot log into awesome window manager after glib update

Thank you limser! that did the trick.

Offline

Board footer

Powered by FluxBB