bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails


From: pelzflorian (Florian Pelz)
Subject: bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails
Date: Tue, 13 Dec 2022 13:29:05 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Thank you Josselin.

Josselin Poiret <dev@jpoiret.xyz> writes:
> I don't think there's a race issue with the files being available:

Yes apparently, but it is some kind of race.

BTW it happens on master branch too despite its more recent linux.

> By the way, why is the modprobe binary inside a #+?  The target will want
> to be able to run the binary itself, right?  Shouldn't it be #$?

You are right, I guess.  But I will later try replacing it with Ludo’s
load-linux-modules-from-directory instead.  Perhaps that even gets the
install image small enough for a CDROM again? :)

>> I will try tomorrow to get an strace.  The installer worked fine in …
>> August I believe.
>
> You could also probably try logging the system* call in some temporary
> log file, by using some bash redirection (or with-current-output-port
> and friends).

I replaced the “(invoke #+(file-append kmod "/bin/modprobe") "uvesafb" …”
by a convoluted

(with-output-to-file "/tmp/strace"
  (lambda ()
    (with-error-to-port
     (current-output-port)
     (lambda ()
       (open-pipe* OPEN_READ
                   #+(file-append strace "/bin/strace")
                   "-f"
                   #+(file-append kmod "/bin/modprobe")
                   "uvesafb"

but now the strace is a workaround and the modprobe succeeds.  Either
way, /tmp/strace shows that modprobe first reads
/run/booted-system/kernel/lib/modules/6.0.10-gnu/modules.softdep and the
like.  The successful strace only eventually goes on to read
uvesafb.ko.gz.

For completeness, the strace ends with

openat(AT_FDCWD, 
"/gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/libgcc_s.so.1", 
O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0203\0\0\0\0\0\0"..., 
832) = 832
pread64(3, "\4\0\0\0 \0\0\0\5\0\0\0GNU\0\1\0\1\300\4\0\0\0\v\0\0\0\0\0\0\0"..., 
48, 94696) = 48
newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=100760, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7fc734a32000
mmap(NULL, 103496, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc734a18000
mmap(0x7fc734a1b000, 69632, PROT_READ|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fc734a1b000
mmap(0x7fc734a2c000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 
0x14000) = 0x7fc734a2c000
mmap(0x7fc734a30000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7fc734a30000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7fc734a15000
arch_prctl(ARCH_SET_FS, 0x7fc734a15740) = 0
mprotect(0x7fc734be7000, 16384, PROT_READ) = 0
mprotect(0x7fc734a30000, 4096, PROT_READ) = 0
mprotect(0x7fc734c11000, 4096, PROT_READ) = 0
mprotect(0x7fc734c2d000, 4096, PROT_READ) = 0
mprotect(0x7fc734c5a000, 4096, PROT_READ) = 0
mprotect(0x7fc734d69000, 4096, PROT_READ) = 0
mprotect(0x425000, 4096, PROT_READ)     = 0
mprotect(0x7fc734d9c000, 8192, PROT_READ) = 0
munmap(0x7fc734d6b000, 6584)            = 0
set_tid_address(0x7fc734a15a10)         = 153
set_robust_list(0x7fc734a15a20, 24)     = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x7fc734c196a0, sa_mask=[], 
sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7fc734c24d80}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7fc734c19740, sa_mask=[], 
sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7fc734c24d80}, NULL, 
8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, 
rlim_max=RLIM64_INFINITY}) = 0
brk(NULL)                               = 0x1882000
brk(0x18a3000)                          = 0x18a3000
uname({sysname="Linux", nodename="gnu", ...}) = 0
newfstatat(AT_FDCWD, 
"/gnu/store/vh4g56m35wwlfg300s4qafykxjy09511-kmod-29/etc/modprobe.d", 
0x7ffe93ffa1f0, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/run/modprobe.d", 0x7ffe93ffa1f0, 0) = -1 ENOENT (No such 
file or directory)
newfstatat(AT_FDCWD, "/usr/local/lib/modprobe.d", 0x7ffe93ffa1f0, 0) = -1 
ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/modprobe.d", 0x7ffe93ffa1f0, 0) = -1 ENOENT (No such 
file or directory)
openat(AT_FDCWD, 
"/run/booted-system/kernel/lib/modules/6.0.10-gnu/modules.softdep", 
O_RDONLY|O_CLOEXEC) = 3
fcntl(3, F_GETFL)                       = 0x8000 (flags O_RDONLY|O_LARGEFILE)
newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=1424, ...}, AT_EMPTY_PATH) = 0
read(3, "# Soft dependencies extracted fr"..., 2048) = 1424
read(3, "", 2048)                       = 0
close(3)                                = 0
openat(AT_FDCWD, "/proc/cmdline", O_RDONLY|O_CLOEXEC) = 3
read(3, "BOOT_IMAGE=/gnu/store/3qdad0k7wv"..., 4095) = 300
read(3, "", 3795)                       = 0
close(3)                                = 0
openat(AT_FDCWD, 
"/run/booted-system/kernel/lib/modules/6.0.10-gnu/modules.dep.bin", 
O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=1050966, ...}, AT_EMPTY_PATH) 
= 0
mmap(NULL, 1050966, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc734914000
close(3)                                = 0
openat(AT_FDCWD, 
"/run/booted-system/kernel/lib/modules/6.0.10-gnu/modules.alias.bin", 
O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=1522188, ...}, AT_EMPTY_PATH) 
= 0
mmap(NULL, 1522188, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc7347a0000
close(3)                                = 0
openat(AT_FDCWD, 
"/run/booted-system/kernel/lib/modules/6.0.10-gnu/modules.symbols.bin", 
O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=780289, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 780289, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc7346e1000
close(3)                                = 0
openat(AT_FDCWD, 
"/run/booted-system/kernel/lib/modules/6.0.10-gnu/modules.builtin.alias.bin", 
O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0
close(3)                                = 0
openat(AT_FDCWD, 
"/run/booted-system/kernel/lib/modules/6.0.10-gnu/modules.builtin.bin", 
O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=12061, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 12061, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc7346de000
close(3)                                = 0
openat(AT_FDCWD, "/sys/module/uvesafb/initstate", O_RDONLY|O_CLOEXEC) = -1 
ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/sys/module/uvesafb", 0x7ffe93ffa110, 0) = -1 ENOENT (No 
such file or directory)
openat(AT_FDCWD, "/sys/module/uvesafb/initstate", O_RDONLY|O_CLOEXEC) = -1 
ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/sys/module/uvesafb", 0x7ffe93ffa110, 0) = -1 ENOENT (No 
such file or directory)
openat(AT_FDCWD, 
"/run/booted-system/kernel/lib/modules/6.0.10-gnu/kernel/drivers/video/fbdev/uvesafb.ko.gz",
 O_RDONLY|O_CLOEXEC) = 3
read(3, "\37\213\10\0\0\0", 6)          = 6
lseek(3, 0, SEEK_SET)                   = 0
lseek(3, 0, SEEK_CUR)                   = 0
mmap(NULL, 4198400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7fc7342dd000
read(3, 
"\37\213\10\0\0\0\0\0\0\3\354}\17x\24\325\271\367l\262\204\5\301\211\210\n^\257\214mPh"...,
 8192) = 8192
read(3, 
"\235.\211\323\224\200\263\3015\2\347\1W\361\307\223\327j\364\256:\237\7g\237\4|#\274\36|\253"...,
 8192) = 6966
read(3, "", 1226)                       = 0
init_module(0x7fc7342dd010, 54160, "v86d=/gnu/store/na24a7653hyf0pgh"...) = 0
munmap(0x7fc7342dd000, 4198400)         = 0
close(3)                                = 0
munmap(0x7fc734914000, 1050966)         = 0
munmap(0x7fc7347a0000, 1522188)         = 0
munmap(0x7fc7346e1000, 780289)          = 0
munmap(0x7fc7346de000, 12061)           = 0
exit_group(0)                           = ?
+++ exited with 0 +++
Regards,
Florian

reply via email to

[Prev in Thread] Current Thread [Next in Thread]