Xorg 1.20.11+ GIT crashes calling into Preinit of modesetting because pScrn->confScreen is NULL
A crash is observed with the attached Xorg configuration that tries to use an UDL device and a GPUDevice using the onboard Intel device with an output that cannot have a monitor attached to it. The backtrace looks like this:
(gdb) bt
#0 0x00007ffff70bbb47 in PreInit (pScrn=0x555555823dd0, flags=<optimized out>) at ../../../../../git/hw/xfree86/drivers/modesetting/driver.c:928
#1 0x00005555555edc6b in InitOutput (pScreenInfo=pScreenInfo@entry=0x5555557be4e0 <screenInfo>, argc=argc@entry=1, argv=argv@entry=0x7fffffffe508) at ../../../../git/hw/xfree86/common/xf86Init.c:551
#2 0x00005555555afdfc in dix_main (argc=1, argv=0x7fffffffe508, envp=<optimized out>) at ../../git/dix/main.c:193
#3 0x00007ffff77997f5 in __libc_start_main (main=0x555555599410 <main>, argc=1, argv=0x7fffffffe508, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe4f8)
at ../csu/libc-start.c:332
#4 0x000055555559944e in _start () at ../sysdeps/x86_64/start.S:120
(gdb) print pScrn
$2 = (ScrnInfoPtr) 0x555555823dd0
(gdb) print pScrn->confScreen
$3 = (confScreenPtr) 0x0
The attached Xorg.0.log says:
[ 18128.648] (II) modeset(0): using drv /dev/dri/card0
[ 18128.664] (II) modeset(1): using drv /dev/dri/card0
[ 18128.670] (II) modeset(2): using drv /dev/dri/card1
[ 18128.681] (II) modeset(G0): using drv /dev/dri/card0
[ 18128.681] (EE) Screen 2 deleted because of no matching config section.
When modeset(G0) is being initialized, it's where the crash happens, supposedly because Screen 2 that it was assigned to was deleted.
I am also using the patch from !337 (merged) , actually !607 (closed) as it's the 1.20.x backport plus !694 (merged) over commit a4210fe0 in server-1.20-branch.
What's missing from the configuration that would allow it to work?
Thanks in advance.