Created attachment 122639 [details] Example of binary file that caused the crash SUMMARY I called kdiff3 on 2 small NI I/O Trace files which I thought were text files but were indeed binary files. It locked up X11 for 10 minutes and eventually X11 restarted, closing all my open work. Since I called it from the command line the following was shown (plus plenty of quotes and backslashes): Geometry conversion of "-1,-1" to QSize failed QMainWindow::addToolBar invalid area argument STEPS TO REPRODUCE 1. call kdiff3 Capture1.nitrace Capture2.nitrace OBSERVED RESULT Entire desktop hangs for minutes then restarts EXPECTED RESULT kdiff3 says the files are different SOFTWARE/OS VERSIONS Operating System: Kubuntu 19.04 KDE Plasma Version: 5.15.4 KDE Frameworks Version: 5.56.0 Qt Version: 5.12.2 Kernel Version: 5.0.0-27-generic OS Type: 64-bit Processors: 8 × Intel® Core™ i7-4710MQ CPU @ 2.50GHz Memory: 15.6 GiB of RAM From syslog: rtkit-daemon[2813]: The canary thread is apparently starving. Taking action. rtkit-daemon[2813]: Demoting known real-time threads. systemd[1]: systemd-logind.service: Watchdog timeout (limit 3min)! rtkit-daemon[2813]: Successfully demoted thread 5855 of process 5831. systemd[1]: systemd-logind.service: Killing process 1318 (systemd-logind) with signal SIGABRT. rtkit-daemon[2813]: Successfully demoted thread 5854 of process 5831. ... rtkit-daemon[2813]: Demoted 22 threads. systemd[1]: Starting Process error reports when automatic reporting is enabled... systemd[1]: systemd-logind.service: Main process exited, code=dumped, status=6/ABRT systemd[1]: systemd-logind.service: Failed with result 'watchdog'. systemd[1]: systemd-logind.service: Service has no hold-off time (RestartSec=0), scheduling restart. systemd[1]: systemd-logind.service: Scheduled restart job, restart counter is at 1. systemd[1]: Stopped Login Service. kernel: [156421.612687] ksysguard invoked oom-killer: gfp_mask=0x6200ca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=0 kernel: [156421.612691] CPU: 5 PID: 3036 Comm: ksysguard Tainted: P OE 5.0.0-27-generic #28-Ubuntu kernel: [156421.612691] Hardware name: Hewlett-Packard HP ZBook 15 G2/2253, BIOS M70 Ver. 01.14 01/26/2016 kernel: [156421.612692] Call Trace: kernel: [156421.612699] dump_stack+0x63/0x8a kernel: [156421.612702] dump_header+0x54/0x308 kernel: [156421.612704] oom_kill_process.cold.29+0xb/0x1d6 kernel: [156421.612706] out_of_memory+0x1bc/0x480 kernel: [156421.612708] __alloc_pages_slowpath+0xb68/0xea0 kernel: [156421.612711] __alloc_pages_nodemask+0x2c4/0x2e0 kernel: [156421.612714] alloc_pages_current+0x81/0xe0 kernel: [156421.612717] __page_cache_alloc+0x6a/0xa0 kernel: [156421.612719] filemap_fault+0x403/0x8a0 kernel: [156421.612722] ? xas_load+0xc/0x80 kernel: [156421.612723] ? xas_find+0x157/0x190 kernel: [156421.612725] ? filemap_map_pages+0x1ae/0x380 kernel: [156421.612727] ext4_filemap_fault+0x31/0x44 kernel: [156421.612730] __do_fault+0x3c/0x130 kernel: [156421.612732] __handle_mm_fault+0xe49/0x1280 kernel: [156421.612734] handle_mm_fault+0xe1/0x210 kernel: [156421.612737] __do_page_fault+0x23a/0x4c0 kernel: [156421.612738] do_page_fault+0x2e/0xe0 kernel: [156421.612740] ? page_fault+0x8/0x30 kernel: [156421.612742] page_fault+0x1e/0x30 kernel: [156421.612744] RIP: 0033:0x7f9fcffe54a5 kernel: [156421.612748] Code: Bad RIP value. kernel: [156421.612749] RSP: 002b:00007ffcbf8987f0 EFLAGS: 00010206 kernel: [156421.612750] RAX: 0000000000000001 RBX: 00005596a64a2228 RCX: 0000000000000000 kernel: [156421.612751] RDX: 00005596a600f020 RSI: 0000000000000002 RDI: 00005596a687f7a0 kernel: [156421.612752] RBP: 00007ffcbf898800 R08: 00005596a6f85e70 R09: 0000000000000006 kernel: [156421.612752] R10: 00005596a6f85e98 R11: 0000000000000000 R12: 00007ffcbf8987f8 kernel: [156421.612753] R13: 00007f9fcfc3c388 R14: 00005596a64a21e0 R15: 00007ffcbf898d40 kernel: [156421.612755] Mem-Info: kernel: [156421.612759] active_anon:1975477 inactive_anon:258066 isolated_anon:0 kernel: [156421.612759] active_file:962 inactive_file:1093 isolated_file:134 kernel: [156421.612759] unevictable:66 dirty:46 writeback:75181 unstable:0 kernel: [156421.612759] slab_reclaimable:124523 slab_unreclaimable:112382 kernel: [156421.612759] mapped:1416865 shmem:24303 pagetables:23037 bounce:0 kernel: [156421.612759] free:55740 free_pcp:2765 free_cma:0 kernel: [156421.612762] Node 0 active_anon:7901908kB inactive_anon:1032264kB active_file:3848kB inactive_file:4372kB unevictable:264kB isolated(anon):0kB isolated(file):536kB mapped:5667460kB dirty:184kB writeback:300724kB shmem:97212kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 0kB writeback_tmp:0kB unstable:0kB all_unreclaimable? no kernel: [156421.612763] Node 0 DMA free:15884kB min:64kB low:80kB high:96kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15984kB managed:15900kB mlocked:0kB kernel_stack:0kB pagetables:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB kernel: [156421.612766] lowmem_reserve[]: 0 1331 15857 15857 15857 kernel: [156421.612768] Node 0 DMA32 free:63576kB min:5668kB low:7084kB high:8500kB active_anon:1337432kB inactive_anon:728kB active_file:28kB inactive_file:24kB unevictable:0kB writepending:60kB present:1502720kB managed:1437184kB mlocked:0kB kernel_stack:160kB pagetables:3936kB bounce:0kB free_pcp:256kB local_pcp:248kB free_cma:0kB kernel: [156421.612772] lowmem_reserve[]: 0 0 14525 14525 14525 kernel: [156421.612773] Node 0 Normal free:143500kB min:154004kB low:169464kB high:184924kB active_anon:6564476kB inactive_anon:1031496kB active_file:4956kB inactive_file:5164kB unevictable:264kB writepending:300848kB present:15171584kB managed:14882848kB mlocked:264kB kernel_stack:23984kB pagetables:88212kB bounce:0kB free_pcp:10812kB local_pcp:1460kB free_cma:0kB kernel: [156421.612776] lowmem_reserve[]: 0 0 0 0 0 kernel: [156421.612778] Node 0 DMA: 1*4kB (U) 1*8kB (U) 0*16kB 0*32kB 2*64kB (U) 1*128kB (U) 1*256kB (U) 0*512kB 1*1024kB (U) 1*2048kB (M) 3*4096kB (M) = 15884kB kernel: [156421.612786] Node 0 DMA32: 122*4kB (UME) 604*8kB (UME) 265*16kB (UME) 292*32kB (UME) 192*64kB (UME) 89*128kB (UME) 62*256kB (UE) 4*512kB (UE) 1*1024kB (E) 1*2048kB (M) 0*4096kB = 63576kB kernel: [156421.612793] Node 0 Normal: 6476*4kB (UME) 7431*8kB (UMEH) 1934*16kB (UMEH) 857*32kB (UMEH) 19*64kB (UMH) 2*128kB (H) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 145192kB kernel: [156421.612801] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB kernel: [156421.612802] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB kernel: [156421.612803] 135417 total pagecache pages kernel: [156421.612804] 108900 pages in swap cache kernel: [156421.612806] Swap cache stats: add 4043688, delete 3979377, find 368232/710280 kernel: [156421.612806] Free swap = 0kB kernel: [156421.612807] Total swap = 8376316kB kernel: [156421.612807] 4172572 pages RAM kernel: [156421.612808] 0 pages HighMem/MovableOnly kernel: [156421.612808] 88589 pages reserved kernel: [156421.612809] 0 pages cma reserved kernel: [156421.612809] 0 pages hwpoisoned kernel: [156421.612810] Tasks state (memory values in pages): kernel: [156421.612810] [ pid ] uid tgid total_vm rss pgtables_bytes swapents oom_score_adj name kernel: [156421.613212] [ 24428] 10705 24428 2623313 1916923 20725760 618647 0 kdiff3 ... kernel: [156421.613223] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-10705.slice/session-3.scope,task=kdiff3,pid=24428,uid=10705 kernel: [156421.613229] Out of memory: Kill process 24428 (kdiff3) score 411 or sacrifice child kernel: [156421.613240] Killed process 24428 (kdiff3) total-vm:10493252kB, anon-rss:7667692kB, file-rss:0kB, shmem-rss:0kB kernel: [156421.917905] oom_reaper: reaped process 24428 (kdiff3), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB systemd[1]: Starting Login Service... systemd[1]: Started Login Service. sddm[1902]: Adding new display on vt 1 ... sddm[1902]: Loading theme configuration from "" sddm[1902]: Display server starting... sddm[1902]: Running: /usr/bin/X -nolisten tcp -auth /var/run/sddm/{58ce7a82-44ae-4266-892d-31290e94e51f} -background none -noreset -displayfd 18 -seat seat0 vt1 sddm[1902]: Failed to read display number from pipe sddm[1902]: Display server failed to start. Exiting org.kde.kglobalaccel[2337]: The X11 connection broke (error 1). Did the X11 server die? sddm[1902]: kwalletd5: Checking for pam module sddm[1902]: kwalletd5: Got pam-login param sddm[1902]: kwalletd5: Waiting for hash on 7- sddm[1902]: kwalletd5: waitingForEnvironment on: 3 sddm[1902]: kwalletd5: client connected sddm[1902]: kwalletd5: client disconnected acpid: client 1992[0:0] has disconnected org.kde.ActivityManager[2337]: The X11 connection broke (error 1). Did the X11 server die? systemd[1]: sddm.service: Main process exited, code=dumped, status=6/ABRT pulseaudio[2796]: ICE default IO error handler doing an exit(), pid = 2796, errno = 11 org.kde.KScreen[2337]: The X11 connection broke (error 1). Did the X11 server die? acpid: client connected from 1992[0:0] org.kde.kwalletd[2337]: kwalletd: Fatal IO error: client killed acpid: 1 client rule loaded org.kde.kuiserver[2337]: kuiserver: Fatal IO error: client killed at-spi-bus-launcher[2994]: XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0" at-spi-bus-launcher[2994]: after 24042 requests (24042 known processed) with 3 events remaining. systemd[2285]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE systemd[2285]: pulseaudio.service: Failed with result 'exit-code'. bluetoothd[1315]: Endpoint unregistered: sender=:1.146 path=/MediaEndpoint/A2DPSource bluetoothd[1315]: Endpoint unregistered: sender=:1.146 path=/MediaEndpoint/A2DPSink systemd[2285]: pulseaudio.service: Service RestartSec=100ms expired, scheduling restart. systemd[2285]: pulseaudio.service: Scheduled restart job, restart counter is at 1. systemd[2285]: Stopped Sound Service. systemd[2285]: Starting Sound Service... rtkit-daemon[2813]: Recovering from system lockup, not allowing further RT threads. rtkit-daemon[2813]: message repeated 4 times: [ Recovering from system lockup, not allowing further RT threads.] ...
Thanks this is why 1.8 does not enable binary comparison at this time. Many parts of kdiff3 assume they are working with a text file. 1.8.x releases are likely to keep this off as I expect making kdiff3 safely deal with binaries will require a lot of work.