Portál AbcLinuxu, 9. listopadu 2025 21:11
libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile Neoprávněný přístup do paměti (SIGSEGV) (core dumped [obraz paměti uložen])Ten obraz paměti jsem našel, ale nemám žádné zkušenosti, co a jak se z něj dá zjistit. Zajímavé je, že když se vytvoří nový uživatel, program epsonscan2 funguje bez problémů. Řekl bych, že v rámci sdílené konfigurace se program snaží použít nějaké neexistující nebo staré knihovny, ale nepodařilo se mi zjistit, kde se k nim dostane. Uživatelská konfigurace je v adresáři .epsonscan2, ale její odstranění nepomohlo, stejně tak nepomohlo, když jsem tam zkusil nakopírovat konfiguraci od uživatele, kde program fungoval. Kolega mi ještě poslal záznam své diskuse o problému s AI, ale k tomu jsem poměrně skeptický. Jako řešení bych viděl zálohu dat, uživatele vytvořit znovu, konfiguraci přenášet postupně a průběžně kontrolovat funkčnost skeneru, ale do toho se kolegovi moc nechce. Takže kdyby měl někdo jiný nápad, budu rád. Jirka
Řešení dotazu:
Co "strace epsonscan2" ?Kolega mi poslal kompletní výpis, přikládám jeho část před tím, než se objeví hlášení o pádu, ale moje znalosti nestačí na to, abych z toho něco zjistil. Můžu samozřejmě poskytnout celý výpis, případně jinou část, pokud budu vědět, na co se zaměřit.
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/dtrplugin", {st_mode=S_IFREG|0755, st_size=24916, ...}) = 0
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/libesdtr.so", {st_mode=S_IFREG|0444, st_size=340188, ...}) = 0
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/dtrplugin", {st_mode=S_IFREG|0755, st_size=24916, ...}) = 0
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/libesdtr.so", {st_mode=S_IFREG|0444, st_size=340188, ...}) = 0
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/dtrplugin", {st_mode=S_IFREG|0755, st_size=24916, ...}) = 0
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/libesdtr.so", {st_mode=S_IFREG|0444, st_size=340188, ...}) = 0
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/fitplugin", {st_mode=S_IFREG|0755, st_size=203528, ...}) = 0
2479 write(17, "\1\0\0\0\0\0\0\0", 8) = 8
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... poll resumed>) = 1 ([{fd=17, revents=POLLIN}])
2479 <... write resumed>) = 8
2488 read(17, "\2\0\0\0\0\0\0\0", 8) = 8
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\344\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\7\0\0\0enabled\0\1\0\0\0\0\0\0\0\4(so)\0\0\0\0\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 280
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\345\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\t\0\0\0sensitive\0\0\0\1\0\0\0\0\0\0\0\4(so)\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 280
2479 futex(0x37e12470, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, -1 <unfinished ...>
2479 <... futex resumed>) = 0
2479 write(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 <... poll resumed>) = 1 ([{fd=17, revents=POLLIN}])
2488 read(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\346\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\7\0\0\0enabled\0\1\0\0\0\0\0\0\0\4(so)\0\0\0\0\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... sendmsg resumed>) = 280
2479 <... write resumed>) = 8
2488 write(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 1 ([{fd=17, revents=POLLIN}])
2488 read(17, <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... read resumed>"\2\0\0\0\0\0\0\0", 8) = 8
2479 <... write resumed>) = 8
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\347\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\t\0\0\0sensitive\0\0\0\1\0\0\0\0\0\0\0\4(so)\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 280
2479 futex(0x37e12470, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
2488 futex(0x37e12470, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
2479 <... futex resumed>) = 0
2488 <... futex resumed>) = 0
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\350\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\7\0\0\0enabled\0\1\0\0\0\0\0\0\0\4(so)\0\0\0\0\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... sendmsg resumed>) = 280
2479 <... write resumed>) = 8
2488 write(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 1 ([{fd=17, revents=POLLIN}])
2488 read(17, "\3\0\0\0\0\0\0\0", 8) = 8
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\351\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\t\0\0\0sensitive\0\0\0\1\0\0\0\0\0\0\0\4(so)\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... sendmsg resumed>) = 280
2479 <... write resumed>) = 8
2488 write(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 1 ([{fd=17, revents=POLLIN}])
2488 read(17, <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... read resumed>"\2\0\0\0\0\0\0\0", 8) = 8
2479 <... write resumed>) = 8
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\352\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\7\0\0\0enabled\0\1\0\0\0\0\0\0\0\4(so)\0\0\0\0\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 280
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\353\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\t\0\0\0sensitive\0\0\0\1\0\0\0\0\0\0\0\4(so)\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... sendmsg resumed>) = 280
2479 <... write resumed>) = 8
2488 write(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 1 ([{fd=17, revents=POLLIN}])
2488 read(17, <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... read resumed>"\3\0\0\0\0\0\0\0", 8) = 8
2479 <... write resumed>) = 8
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\354\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\7\0\0\0enabled\0\1\0\0\0\0\0\0\0\4(so)\0\0\0\0\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 280
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\355\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\t\0\0\0sensitive\0\0\0\1\0\0\0\0\0\0\0\4(so)\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 280
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, -1) = 1 ([{fd=17, revents=POLLIN}])
2488 read(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, -1 <unfinished ...>
2479 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x18} ---
2496 <... futex resumed>) = ?
2486 <... futex resumed>) = ?
2485 <... futex resumed>) = ?
2484 <... futex resumed>) = ?
2482 <... poll resumed> <unfinished ...>) = ?
2481 <... futex resumed>) = ?
2496 +++ killed by SIGSEGV (core dumped) +++
Vypadá to, že ten epsonscan2 využívá nějakou knihovnu, kterou „vylepšili”. Řešením je ten strace a dohledání knihovny, se kterou ten epsonscan2 funguje.Něco takového jsem si myslel, ale nevěděl jsem, jak tu knihovnu najít. Díky za tip, poslal jsem to kolegovi, uvidím, co mi odpoví. Jirka
Po instalaci driveru a nějakého softwaru od výrobce skener fungoval. Pak kolega nastavoval zmíněné sdílení konfigurace, ale po ukončení celého procesu zjistil, že skener nefunguje, proto mně požádal o radu.
Možná je problém jen o nastavení správné cesty, nebo práv. Funguje to pod rootem?
Zajímavé je, že když se vytvoří nový uživatel, program epsonscan2 funguje bez problémů. Uživatelská konfigurace je v adresáři .epsonscan2, ale její odstranění nepomohlo, stejně tak nepomohlo, když jsem tam zkusil nakopírovat konfiguraci od uživatele, kde program fungoval.Podle tohoto popisu je možné, že starý uživatel má nějaké trochu divné nastavení GUI se kterým si epsonscan2 na nové verzi GUI z nějakého důvodu neví rady. To by vysvětlovalo proč to nově vytvořenému uživatelovi (s výchozím nastavením) funguje. Co se stane když pokusně spustíš ten epsonscan2 pod jinačím správcem oken? padá to taky? Kdyby byl problém v knihovnách, tak by to nefungovalo ani nově vytvořenému uživatelovi.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.