Initial issues with 2.0.7 pre1 on Solaris 8

David Collier-Brown davecb at canada.sun.com
Thu Mar 9 17:20:17 GMT 2000


  I got X problems when I tried to run 2.0.7 pre1 on my Solaris 8
system at work.  This is a test using smbclient to connect to
//elsbeth/davecb, with log level = 10

1) Two lock errors

[2000/03/09 11:56:25, 5] smbd/connection.c:(137)
  trying claim /usr/local/samba/var/locks STATUS. 100000
[2000/03/09 11:56:25, 8] lib/util.c:fcntl_lock(2658)
  fcntl_lock 8 7 1 8589934592 0
[2000/03/09 11:56:25, 3] lib/util.c:fcntl_lock(2684)
  fcntl lock gave errno 22 (Invalid argument)
[2000/03/09 11:56:25, 3] lib/util.c:fcntl_lock(2706)
  lock failed at offset 1 count 8589934592 op 7 type 0 (Invalid
argument)
[2000/03/09 11:56:25, 3] lib/util.c:fcntl_lock(2731)
  locking not supported? returning True
[2000/03/09 11:56:25, 8] lib/util.c:fcntl_lock(2658)
  fcntl_lock 8 7 1 12885078164 0
[2000/03/09 11:56:25, 3] lib/util.c:fcntl_lock(2684)
  fcntl lock gave errno 22 (Invalid argument)
[2000/03/09 11:56:25, 3] lib/util.c:fcntl_lock(2706)
  lock failed at offset 1 count 12885078164 op 7 type 0 (Invalid
argument)
[2000/03/09 11:56:25, 3] lib/util.c:fcntl_lock(2731)
  locking not supported? returning True

1) a setgid panic:

  [The login request packet contained the correct password]

[2000/03/09 11:56:27, 4] passdb/pass_check.c:pass_check(792)
  Checking password for user davecb (l=8)
[2000/03/09 11:56:27, 7] param/loadparm.c:lp_servicenumber(3113)
  lp_servicenumber: couldn't find davecb
[2000/03/09 11:56:27, 3] param/loadparm.c:lp_add_home(1548)
  adding home directory davecb at /home/davecb
[2000/03/09 11:56:27, 3] smbd/password.c:(196)
  davecb is in 2 groups: 10, 41
[2000/03/09 11:56:27, 3] smbd/password.c:(274)
  uid 57957 registered to name davecb
[2000/03/09 11:56:27, 3] smbd/password.c:(276)
  Clearing default real name
...
[2000/03/09 11:56:27, 0] lib/util_sec.c:assert_gid(72)
  Failed to set gid privileges to (-1,10) now set to (0,0) uid=(0,0)
[2000/03/09 11:56:27, 0] lib/util.c:smb_panic(2367)
  PANIC: failed to set gid

My smb.conf contains:

# Global parameters
        workgroup = EXAMPLE
        netbios name = SERVER
        interfaces = 129.155.8.39/255.255.255.0 127.0.0.1/255.0.0.0
        wins support = Yes
        log level = 10
[homes]
        browseable = No

The assert_gid function in util_sec.c says:

static void assert_gid(gid_t rgid, gid_t egid)
{
        if ((egid != (gid_t)-1 && getegid() != egid) ||
            (rgid != (gid_t)-1 && getgid() != rgid)) {
                DEBUG(0,("Failed to set gid privileges to (%d,%d) n!
                         (int)rgid, (int)egid,
                         (int)getgid(), (int)getegid(),
                         (int)getuid(), (int)geteuid()));
	
So I assume samba was trying to set 
	rgid = -1
	egid = 10
while running as root, being called from util_sec.c set_effective_gid
line 184:

void set_effective_gid(gid_t gid)
{
	...

        assert_gid(-1, gid);
}

This looks sorta wrong, but I don't know why this is being done,
so I can't easily diagnose it (;-))  I assume it failed to set 
the effective gid...

--dave
--
David Collier-Brown,  | Always do right. This will gratify some people
185 Ellerslie Ave.,   | and astonish the rest.        -- Mark Twain
Willowdale, Ontario   | //www.oreilly.com/catalog/samba/author.html
Work: (905) 415-2849 Home: (416) 223-8968 Email: davecb at canada.sun.com


More information about the samba-technical mailing list