That looks as if you are running a pre-dump Emacs executable.
One step of the Emacs build process is to load up the elisp files that are required for a basic Emacs session and dump an image with these files pre-loaded. This is speeds up the startup process. The Emacs executable that is used for this pre-loading is normally called temacs. You don't normally run this executable, it's only used during the build process. The message you posted looks as if the emacs command is running this temacs executable rather than the normal post-dump one.
I'd try to make sure that this emacs executable you are running is actually the one from the current Emacs installation and not some old binary (perhaps executed through an alias or symlink?).
I started by checking emacs --version and confirming that it reported 29.1. The file at which emacs (/usr/bin/emacs) is not a symlink, it's a bash script that was ultimately running emacs-gtk, which is a binary in the same directory.
If I run emacs-gtk directly, things appear to work, but I get this warning:
(emacs-gtk:15168): dbind-WARNING **: 11:28:59.261: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
This appears to be related to screen reader support. My repos do have packages for at-spi, but I don't reckon that hiding a warning I might see once per reboot is a strong enough reason to install it.
If I run emacs-x11 directly, things seem to work, though if I turn on menu-bar-mode or check the menu with F10 it looks awful.
If I set and export EMACS_TOOLKIT to x11 and run the bash script, it seems to take longer to load and spams hundreds of lines in the shell as it announces that it's loading things. I'm not that bothered by long loading times as I'm seldom restarting, but I don't know why it's so spammy when I start it through the script.
I'd like to better understand what's going on. For now, I think I have a working setup again if I just skip the script and run emacs-gtk directly, but I'm sure there's something wrong with my setup, and I hate not knowing things. I'll include the bash script in a reply to myself here.
#!/bin/bash
#
# Launch a GNU Emacs
#
# The environment variable EMACS_TOOLKIT is used to determine
# the prefered GUI. Possible values/types of EMACS_TOOLKIT are
#
# nox -- for pure console based GNU Emacs
# gtk -- for full GTK2/3 based GNU Emacs
# x11 -- for full LUCID based GNU Emacs (used Xaw3d)
#
# Should work but remember history
# bnc#345669 -- Emacs doesn't un-maximize in KDE/KWin
# bnc#342385 -- Emacs doesn't keep the iconic information in KDE/KWin
#
# if test -z "$EMACS_TOOLKIT" ; then
# EMACS_TOOLKIT=gtk
# KDE_FULL_SESSION=$(xprop -root KDE_FULL_SESSION 2>/dev/null)
# case "$KDE_FULL_SESSION" in
# *true*) EMACS_TOOLKIT=x11
# esac
# fi
#
: ${EMACS_TOOLKIT:=gtk}
#
# Enabled again
#
if test "$EMACS_TOOLKIT" = gtk; then
# Currently (2013/05/24) the parser of the GNOME libs
# are broken that is it is not independent from locale
LC_NUMERIC=POSIX
GDK_RGBA=0
export LC_NUMERIC GDK_RGBA
fi
arg0=$0
argv=("$@")
if test -x ${arg0}-${EMACS_TOOLKIT}
then
set -- ${arg0}-${EMACS_TOOLKIT}
elif test -x ${arg0}-x11
then
set -- ${arg0}-x11
elif test -x ${arg0}-nox
then
set -- ${arg0}-nox
else
echo "no emacs binary found"
exit 1
fi
if [[ "$1" =~ .*-nox ]] ; then
exec -a $arg0 ${1+"$@"} "${argv[@]}"
fi
dbusdaemon=$(type -p dbus-daemon 2>/dev/null)
#
# Now check for valid dbus, e.g. after su/sudo/slogin
#
if test -n "$dbusdaemon" ; then
#
# Workaround for boo#1205109
#
if test "$EUID" = 0 -a "$XDG_RUNTIME_DIR" != /run/user/0; then
unset XDG_CONFIG_HOME XDG_CACHE_HOME XDG_DESKTOP_DIR XDG_RUNTIME_DIR XDG_DATA_DIRS
# unset DBUS_SESSION_BUS_ADDRESS
if test ! -d /run/user/0; then
systemctl start user@0 >/dev/null 2>&1
fi
if test -S /run/user/0/bus; then
DBUS_SESSION_BUS_ADDRESS=unix:/run/user/0/bus
fi
fi
# Standard on modern systems
: ${XDG_RUNTIME_DIR:=/run/user/${EUID}}
export XDG_RUNTIME_DIR
# Oops ... no dbus-daemon then launch a new session
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
dbuslaunch=$(type -p dbus-launch 2>/dev/null)
dbusession=$(type -p dbus-run-session 2>/dev/null)
if test -z "$dbusession" -a -n "$dbuslaunch" ; then
set -- $dbuslaunch --sh-syntax --close-stderr --exit-with-session ${1+"$@"}
arg0=$dbuslaunch
elif test -n "$dbusession" ; then
set -- $dbusession -- ${1+"$@"}
arg0=$dbusession
else
arg0=emacs
fi
elif test -S "${XDG_RUNTIME_DIR}/bus" ; then
dbusupdate=$(type -p dbus-update-activation-environment 2>/dev/null)
dbusstatus=$(systemctl --user is-active dbus.service 2>/dev/null)
if test -n "$dbusupdate" -a "$dbusstatus" != active ; then
export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"
$dbusupdate --systemd "DBUS_SESSION_BUS_ADDRESS"
fi
fi
unset dbuslaunch dbusdaemon
fi
#
# Disable AT bridge if not accessible
#
if test -z "$NO_AT_BRIDGE" ; then
gsettings=$(gsettings get org.gnome.desktop.interface toolkit-accessibility 2>/dev/null)
if test -z "$gsettings" -o "$gsettings" = false ; then
NO_AT_BRIDGE=1
export NO_AT_BRIDGE
fi
unset gsettings
fi
#
# Check input method for working ibus setup
#
case "$XMODIFIERS" in
@im=ibus*)
_arch=$(getconf LONG_BIT)
if test "$_arch" != 64
then
unset _arch
else
_arch=-64
fi
if type -p gtk-query-immodules-3.0${_arch} &> /dev/null
then
_ibus=$(gtk-query-immodules-3.0${_arch} | grep im-ibus)
else
unset _ibus
fi
if test -n "$_ibus"
then
if test -z "$GTK_IM_MODULE" -o "$GTK_IM_MODULE" != ibus
then
export GTK_IM_MODULE=ibus
fi
else
unset XMODIFIERS
fi
unset _ibus _arch
if ! ibus list-engine &> /dev/null
then
unset GTK_IM_MODULE XMODIFIERS
fi
;;
*)
esac
unset G_MESSAGES_DEBUG G_DEBUG G_MESSAGES_PREFIXED
exec -a $arg0 ${1+"$@"} "${argv[@]}"
try running --debug-init and you'll get a trace on startup that should help you narrow down which package needs updating. you can then disable that package and get emacs to start while you get an issue opened with the maintainers of that package.