Bug 848089 - xfce4-session-logout not working
xfce4-session-logout not working
Status: CLOSED DUPLICATE of bug 802711
Product: Fedora
Classification: Fedora
Component: NetworkManager (Show other bugs)
x86_64 Linux
unspecified Severity medium
: ---
: ---
Assigned To: Dan Williams
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2012-08-14 10:52 EDT by Pascal Dupuis
Modified: 2012-08-17 14:12 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2012-08-17 14:04:00 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Pascal Dupuis 2012-08-14 10:52:50 EDT
Description of problem:
Launching xfce4-session-logout, either trough the GUI, eitheir trough CLI, never succeed

Version-Release number of selected component (if applicable):
xfce4-session 4.8.3 (Xfce 4.8)

How reproducible:

Steps to Reproduce:
1. Fedora Main Menu->Disconnect Window -> hibernate or suspend
Actual results:
Network connections are closed then re-openened

Expected results:
network connection closed, then machine going to suspend or hibernate

Additional info:
did "strace -o xfce4-logout xfce4-session-logout --hibernate".

Suspicious activity:

connect(3, {sa_family=AF_FILE, sun_path=@"/tmp/.X11-unix/X0"}, 20) = 0
getpeername(3, {sa_family=AF_FILE, sun_path=@"/tmp/.X11-unix/X0"...}, [20]) = 0
uname({sys="Linux", node="tatooine.example.org", ...}) = 0
getsockname(3, {sa_family=AF_FILE, NULL}, [2]) = 0
fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{"l\0\v\0\0\0\22\0\20\0\0\0", 12}, {"", 0}, {"MIT-MAGIC-COOKIE-1", 18}, {"\0\0", 2}, {"Q\
212\222r?\244N'\211v|\200\276\371\270h", 16}, {"", 0}], 6) = 48
recvfrom(3, 0xc02bd0, 8, 0, 0, 0)       = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvfrom(3, "\1\0\v\0\0\0r\2", 8, 0, NULL, NULL) = 8

after this point, there are a lot of 
recvfrom(3, 0xc052e4, 4096, 0, 0, 0)    = -1 EAGAIN (Resource temporarily unavailable)
Then it gives up.
Comment 1 Kevin Fenzi 2012-08-14 13:44:26 EDT
1. Has it always done this? Or only recently? 

2. Does this only happen on suspend/resume? Or does logout or restart or shutdown do it too?
Comment 2 Pascal Dupuis 2012-08-15 04:11:10 EDT
1. Installed Fedora17 from live XFCE ISO; then updated regulary. Suspend and hibernate never worked. Platform is an AspireOne 722, installed the 64 bits version.

2. Only suspend and hibernate are concerned. Logout, shutdown and restart all work as expected.

Comment 3 Kevin Fenzi 2012-08-15 11:34:45 EDT
ok, does: 

su -c 'pm-suspend' 

in a terminal work? Or provide any more errors or output?
Comment 4 Pascal Dupuis 2012-08-15 16:49:35 EDT
Didn't work either, but I had a look into /var/log/pm-suspend.log, and found this:

Running hook /usr/lib64/pm-utils/sleep.d/56dhclient suspend suspend:
./ifcfg-McDonald's_France: line 17: unexpected EOF while looking for matching `"
./ifcfg-McDonald's_France: line 22: syntax error: unexpected end of file
/usr/lib64/pm-utils/sleep.d/56dhclient suspend suspend: Returned exit code 2.

I used a few times the free Wifi Access in a McDo in France. Automatic configuration scripts were saved. I solved this problem by
1) locate '*ifcfg-McDonal*'
2) changed to the dirs containing an instance of those files: /etc/sysconfig/networking/profiles/default/; /etc/sysconfig/networking/devices; /etc/sysconfig/network-scripts
3) rm '*McDo*'; there was each time an ifcfg-McDonald's_France and a keys-McDonald\'s_France

Now suspend and resume do work, this had no link to platform but with special characters in file name handling.

The culprit is within 56dhclient:
 for ifcfg in ifcfg-* ; do
 . ./"${ifcfg}"

This loop should be replaced by
find . -name "ifcfg-*" -print0 |xargs -0 some_aux_script

where some_aux_script should receive file names, source them and perform the same actions as  those contained in the original script  "for" loop.


Comment 5 Kevin Fenzi 2012-08-15 18:05:26 EDT
ok, that script is in the dhcp package. 

Moving over there for further action...
Comment 6 Jiri Popelka 2012-08-16 04:01:40 EDT
Seems like duplicate of bug #846081.

Had you used system-config-network to edit network settings ?
Comment 7 Pascal Dupuis 2012-08-17 12:56:29 EDT
(In reply to comment #6)
> Seems like duplicate of bug #846081.
> Had you used system-config-network to edit network settings ?

No, I went through NetworkManager: display the list of available network, and manually choosing one of them.


Comment 8 Jiri Popelka 2012-08-17 14:02:09 EDT
Strange. If you manage to reproduce the problem please attach the /etc/sysconfig/network-scripts/ifcfg-McDonald's_France file. According to my tests the apostrophe in file name doesn't matter but it does matter if it's in some value in the file (then the value needs to be in double quotes).

Jirka Klimes (NetworkManager developer) told (bug #802711, comment #4) me that NM puts double quotes around values. In bug #846081 we discovered that it's system-config-network what doesn't put double quotes around the values that contain apostrophe. So I'm a little puzzled now when you say that you had used NM and not system-config-network.
Comment 9 Jiri Popelka 2012-08-17 14:04:00 EDT
Oh, I didn't mean to reassign this to NM, but when it's there we can make it a dupe of bug #802711.

*** This bug has been marked as a duplicate of bug 802711 ***

Note You need to log in before you can comment on or make changes to this bug.