Deutsch > Software Entwicklung
libmediaclient.so lässt wipe crashen
(1/1)
mifritscher:
Wollte unter Ubuntu 18.04 64 bit ne 1 GB Datei löschen - time wipe -i -q -Q 1 /media/michi/4D66-6D70/blah
.
Am Ende gabs ne Speicherschutzverletzung:
[342418.056014] wipe[23887]: segfault at ffffffff89600770 ip 00007f4084c4d819 sp 00007ffd3b374040 error 5 in libmediaclient.so[7f4084c4a000+10000] (mediaclient vom 10.02.2018)
Update half nichts:
[342981.602897] wipe[28561]: segfault at 2a368770 ip 00007fae828a9789 sp 00007ffd1511f7f0 error 4 in libmediaclient.so[7fae828a6000+10000] (mediaclient vom 13.11.2018)
gdb sagt folgendes:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7bc7789 in ?? () from /opt/lib/libmediaclient.so
(gdb) bt
#0 0x00007ffff7bc7789 in ?? () from /opt/lib/libmediaclient.so
#1 0x00007ffff7bc866f in open () from /opt/lib/libmediaclient.so
#2 0x00007ffff7bc8743 in open64 () from /opt/lib/libmediaclient.so
#3 0x000055555555741c in ?? ()
#4 0x0000555555558693 in ?? ()
#5 0x0000555555556b55 in ?? ()
#6 0x00007ffff77f4b97 in __libc_start_main (main=0x5555555562b0, argc=6, argv=0x7fffffffd648, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffd638) at ../csu/libc-start.c:310
#7 0x000055555555701a in ?? ()
(gdb) info registers
rax 0x0 0
rbx 0x10900 67840
rcx 0x8 8
rdx 0x0 0
rsi 0x7ffff7bd1972 140737349753202
rdi 0x5579f770 1434056560
rbp 0xffffffff 0xffffffff
rsp 0x7fffffffc7b0 0x7fffffffc7b0
r8 0xfff 4095
r9 0x0 0
r10 0x55555575f010 93824994373648
r11 0x0 0
r12 0x5579f770 1434056560
r13 0x10900 67840
r14 0x7fffffffdad1 140737488345809
r15 0x55555579f8d0 93824994638032
rip 0x7ffff7bc7789 0x7ffff7bc7789
eflags 0x10202 [ IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
Es hängt _kein_ TV-Receiver am Notebook.
Sundtek:
Danke für die Information, wir überprüfen das.
So ein Tool würde ich aber nicht empfehlen da es auf Dateisystemebene zurückgreifen müsste, bei einem Fehler kann man sich damit die gesamte Festplatte ruinieren; Dort sollte man den Anmerkungen im Manual wirklich Beachtung schenken.
Laut dem Crash fehlt der Dateiname bzw. wurde dort ein ungültiger Pointer an eine Standardfunktion übergeben die einfach weitergereicht wird (wir verändert dort nichts, überprüfen nur ob auf /dev/dvb zugegriffen wird).
Sofern man den Pointer direkt an den Kernel weitergibt wird der Kernel hier abriegeln und es wird ein fehlerhafter Returncode zurückgeliefert, dadurch das wir auf /dev/dvb überprüfen bleibt hier alles auf Applikationslevel (in dem Fall Ring3) und es kann bei einem Programmierfehler zu einem Crash kommen).
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln