Bug 384215

Summary: Short freezes with KDE applications when sharing directories via Samba
Product: [Frameworks and Libraries] frameworks-kio Reporter: Teunizz <teuniz>
Component: generalAssignee: David Faure <faure>
Status: REPORTED ---    
Severity: normal CC: elvis.angelaccio, kdelibs-bugs, nate, teuniz
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Teunizz 2017-08-31 08:40:51 UTC
System: Opensuse Leap 42.2 & plasmashell 5.8.6

Applications that depend on KDE libs/framework, suffer from freezes during fileactivity when sharing directories and a Samba server is running.

During those freezes the network interface is flooded with DNS requests trying to resolve the hostname of the system.

How to reproduce:

In Yast2, enable/setup a Samba server. Startup -> During Boot. Shares -> Disable all available shares. Check Allow Users to Share Directories. Check Allow Guest Access.

In Dolphin, select a couple of directories to share. Rightclick on it and select Properties -> Share. Check Share with Samba. Check Allow Guests.

Reboot.

Start Wireshark and filter on DNS packets only.

Start a couple of KDE-libs dependent applications like Kate (preferably with th filesystem browser plugin activated), Okular, Dolphin, and perform some file manipulations (copy/edit/save).

Look what happens in Wireshark.

A temporary workaround is to open Yast2 -> System -> Network Settings -> Hostname/DNS and check Assign Hostname to Loopback IP.
It will make the desktop usable again but still not snappy.
For a snappy KDE experience, you can't share directories using the above setup.

What did I expect: to have a snappy/responsive desktop when sharing directories using a Samba server.

Here's some output of Wireshark:

No.     Time           Source                Destination           Protocol Length Info
      1 0.000000000    192.168.1.2           192.168.1.1           DNS      73     Standard query 0x53ae A cetriolo.suse

Frame 1: 73 bytes on wire (584 bits), 73 bytes captured (584 bits) on interface 0
Ethernet II, Src: AsustekC_c9:f2:f1 (48:5b:39:c9:f2:f1), Dst: Netgear_7f:3a:10 (28:c6:8e:7f:3a:10)
Internet Protocol Version 4, Src: 192.168.1.2, Dst: 192.168.1.1
User Datagram Protocol, Src Port: 38071, Dst Port: 53
Domain Name System (query)

No.     Time           Source                Destination           Protocol Length Info
      2 0.000017735    192.168.1.2           192.168.1.1           DNS      73     Standard query 0xd632 AAAA cetriolo.suse

Frame 2: 73 bytes on wire (584 bits), 73 bytes captured (584 bits) on interface 0
Ethernet II, Src: AsustekC_c9:f2:f1 (48:5b:39:c9:f2:f1), Dst: Netgear_7f:3a:10 (28:c6:8e:7f:3a:10)
Internet Protocol Version 4, Src: 192.168.1.2, Dst: 192.168.1.1
User Datagram Protocol, Src Port: 38071, Dst Port: 53
Domain Name System (query)

No.     Time           Source                Destination           Protocol Length Info
      3 0.011026167    192.168.1.1           192.168.1.2           DNS      148    Standard query response 0x53ae No such name A cetriolo.suse SOA a.root-servers.net

Frame 3: 148 bytes on wire (1184 bits), 148 bytes captured (1184 bits) on interface 0
Ethernet II, Src: Netgear_7f:3a:10 (28:c6:8e:7f:3a:10), Dst: AsustekC_c9:f2:f1 (48:5b:39:c9:f2:f1)
Internet Protocol Version 4, Src: 192.168.1.1, Dst: 192.168.1.2
User Datagram Protocol, Src Port: 53, Dst Port: 38071
Domain Name System (response)

No.     Time           Source                Destination           Protocol Length Info
      4 0.011628077    192.168.1.1           192.168.1.2           DNS      148    Standard query response 0xd632 No such name AAAA cetriolo.suse SOA a.root-servers.net

Frame 4: 148 bytes on wire (1184 bits), 148 bytes captured (1184 bits) on interface 0
Ethernet II, Src: Netgear_7f:3a:10 (28:c6:8e:7f:3a:10), Dst: AsustekC_c9:f2:f1 (48:5b:39:c9:f2:f1)
Internet Protocol Version 4, Src: 192.168.1.1, Dst: 192.168.1.2
User Datagram Protocol, Src Port: 53, Dst Port: 38071
Domain Name System (response)

No.     Time           Source                Destination           Protocol Length Info
      5 0.011700108    192.168.1.2           192.168.1.1           DNS      68     Standard query 0x8681 A cetriolo

Frame 5: 68 bytes on wire (544 bits), 68 bytes captured (544 bits) on interface 0
Ethernet II, Src: AsustekC_c9:f2:f1 (48:5b:39:c9:f2:f1), Dst: Netgear_7f:3a:10 (28:c6:8e:7f:3a:10)
Internet Protocol Version 4, Src: 192.168.1.2, Dst: 192.168.1.1
User Datagram Protocol, Src Port: 33958, Dst Port: 53
Domain Name System (query)
Comment 1 Nate Graham 2019-05-22 20:50:53 UTC
This isn't a problem pertaining to the share setup GUI. Moving to KIO, since that's what all these KDE apps have in common