[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#528608: marked as done (xdm crashes with a nonexisting homedir, before running pam_mkhomedir)



Your message dated Sat, 10 Apr 2010 15:25:38 +0200
with message-id <20100410132538.GA13453@patate.is-a-geek.org>
and subject line Re: Bug#528608: xdm crashes with a nonexisting homedir, before running pam_mkhomedir
has caused the Debian Bug report #528608,
regarding xdm crashes with a nonexisting homedir, before running pam_mkhomedir
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
528608: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=528608
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: xdm
Version: 1:1.1.8-5
Severity: normal

xdm reproducibly crashes when the user's home directory does not exist,
before actually doing any pam session handling - so that pam_mkhomedir can't
take care of the missing homedir.

it's easy to reproduce:

apt-get install xdm
	(nothing special, everything out of the box)
adduser dummy
...
rm -rf /home/dummy 
cat /etc/pam.d/common-session
	session optional        pam_mkhomedir.so
	session required        pam_unix.so

and that's it. you try to login as dummy, the password is accepted,
a brief message of  "login successful" or the like flashes on the screen,
and then the greeter part of xdm sigsegvs, and the main xdm shuts 
itself and the x server down.

fallout in the xdm.log:
Thu May 14 15:28:29 2009 xdm info (pid 5504): sourcing /etc/X11/xdm/Xsetup
Thu May 14 15:29:06 2009 xdm info (pid 5504): sourcing /etc/X11/xdm/Xstartup
Thu May 14 15:29:06 2009 xdm error (pid 5495): display :0 (pid 2816) exited with unexpected status 5504

strace -f -p 5504 (the greeter child of xdm) shows that 
immediately after the xstartup process finishes, xdm does a stat on
the not-yet-existing homedir and sigsegv's straight away.

relevant bits from this trace are included here:
Process 5504 attached - interrupt to quit
...
open("/etc/X11/xdm/Xstartup", O_RDONLY) = 4
close(4)                                = 0
time(NULL)                              = 1242278946
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=413, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=413, ...}) = 0
write(2, "Thu May 14 15:29:06 2009 xdm info"..., 46) = 46
write(2, "sourcing /etc/X11/xdm/Xstartup\n"..., 31) = 31
clone(Process 5526 attached
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7bcd958) = 5526
[pid  5526] setsid()                    = 5526

...lots of xstartup activity...

[pid  5526] open("/var/log/lastlog", O_RDWR|O_LARGEFILE) = 3
[pid  5526] _llseek(3, 292584, [292584], SEEK_SET) = 0
[pid  5526] write(3, "\"\254\vJ:0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 292) = 292
[pid  5526] close(3)                    = 0
[pid  5526] exit_group(0)               = ?
Process 5504 resumed
Process 5526 detached
<... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 5526
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigaction(SIGTERM, {0x8053570, [], 0}, {SIG_DFL}, 8) = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
_llseek(4, 0, [0], SEEK_CUR)            = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=1196, ...}) = 0
mmap2(NULL, 1196, PROT_READ, MAP_SHARED, 4, 0) = 0xb808a000
_llseek(4, 1196, [1196], SEEK_SET)      = 0
munmap(0xb808a000, 1196)                = 0
close(4)                                = 0
stat64("/home/dummy", 0xbfbacda8)       = -1 ENOENT (No such file or directory)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
Process 5504 detached

etch's xdm worked fine in the same environment, and so does lenny's kdm 
so i'm *absolutely* certain that pam_mkhomedir is not the culprit here.

regards
az

-- System Information:
Debian Release: 5.0.1
  APT prefers stable
  APT policy: (990, 'stable'), (980, 'testing'), (970, 'unstable')
Architecture: i386 (i686)



--- End Message ---
--- Begin Message ---
On Thu, May 14, 2009 at 15:47:40 +1000, Alexander Zangerl wrote:

> xdm reproducibly crashes when the user's home directory does not exist,
> before actually doing any pam session handling - so that pam_mkhomedir can't
> take care of the missing homedir.
> 
> it's easy to reproduce:
> 
> apt-get install xdm
> 	(nothing special, everything out of the box)
> adduser dummy
> ...
> rm -rf /home/dummy 
> cat /etc/pam.d/common-session
> 	session optional        pam_mkhomedir.so
> 	session required        pam_unix.so
> 
> and that's it. you try to login as dummy, the password is accepted,
> a brief message of  "login successful" or the like flashes on the screen,
> and then the greeter part of xdm sigsegvs, and the main xdm shuts 
> itself and the x server down.
> 
I can't reproduce this with xdm 1.1.10, so I assume it's been fixed
since then (I put the pam_mkhomedir.so line in /etc/pam.d/xdm after the
common-session stuff instead, but hopefully that's not a relevant
difference...).

Cheers,
Julien

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply to: