Bug 3346 - Upgrading from 3.0.14a or 3.0.20b to 3.0.21 fails via Firefox/Thunderbird
Upgrading from 3.0.14a or 3.0.20b to 3.0.21 fails via Firefox/Thunderbird
Status: RESOLVED FIXED
Product: Samba 3.0
Classification: Unclassified
Component: Upgrade
3.0.21a
Sparc Solaris
: P1 major
: none
Assigned To: Jeremy Allison
Samba QA Contact
:
: 3310 3367 3378 3394 3418 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-12-21 13:31 UTC by Mike Moya
Modified: 2006-01-24 12:02 UTC (History)
7 users (show)

See Also:


Attachments
gcc warnings on Solaris 9 (sparc) (52.65 KB, text/plain)
2006-01-05 11:51 UTC, Gerald (Jerry) Carter
no flags Details
Proposed (preliminary!!) patch (712 bytes, patch)
2006-01-12 07:47 UTC, Volker Lendecke
no flags Details
More complete patch (2.32 KB, patch)
2006-01-12 08:25 UTC, Volker Lendecke
no flags Details
log.0.0.0.0 (1.05 KB, text/plain)
2006-01-16 07:56 UTC, Tom Schulz
no flags Details
log.192.168.2.23 (42.08 KB, text/plain)
2006-01-16 07:59 UTC, Tom Schulz
no flags Details
log.nmbd (131.66 KB, text/plain)
2006-01-16 08:00 UTC, Tom Schulz
no flags Details
log.smbd (122.84 KB, text/plain)
2006-01-16 08:01 UTC, Tom Schulz
no flags Details
log.tetra (113.16 KB, text/plain)
2006-01-16 08:02 UTC, Tom Schulz
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Moya 2005-12-21 13:31:09 UTC
Most files on the mounts work. But firefox and thunderbird profile directories specifically
fail.  A lot of the following is in the log:

 INTERNAL ERROR: Signal 10 in pid 3289 (3.0.21)
  Please read the Trouble-Shooting section of the Samba3-HOWTO

users would not be able to get mail settings and personal browser settings. I downloaded to 
version  3.0.20b and it worked fine. Some change between those 2 version broke it. 

# uname -a
SunOS golfer.ecn.purdue.edu 5.9 Generic_118558-18 sun4u sparc SUNW,Sun-Blade-1000

Compiler settings:
./configure  \
  --prefix=/opt/samba/3.0.20b \
  --localstatedir=/var/samba \
  --with-configdir=/etc \
  --with-privatedir=/etc  \
  --enable-fast-install \
  --without-syslog \
  --without-ldap \
  --with-acl-support \
  --without-winbind \
  --with-quotas

And smb.conf:
#
# ECN samba configuration
#
[global]
   socket options = TCP_NODELAY IPTOS_LOWDELAY
   read raw = yes
   write raw = yes
   getwd cache = yes
   veto oplock files = /*.xls/
   max xmit = 65535
   printcap name = /etc/lp/smb_printerlist
   printing = sysv
   load printers = yes
   show add printer wizard = yes
   netbios name = golfer
   log level = 16
   print command = /usr/local/etc/lp -c -d%p %s; rm %s
   lppause command = /usr/local/etc/lp -i %p-%j -H hold
   lpresume command = /usr/local/etc/lp -i %p-%j -H resume
   deadtime = 10
   workgroup = ECN
   local master = no
   wins server = 128.46.154.113
   remote announce = 128.46.154.113
   remote browse sync = 128.46.154.113
   encrypt passwords = yes
   interfaces = 128.46.154.176/24 


[print$]
    comment = Windows Printer Drivers
    browseable = yes
    path = /tmp
    read only = yes
    write list = @ecnprint,root
    create mode = 0664
    directory mode = 0775
    force create mode = 0664
    force directory mode = 0775
    force group = ecnprint
    force user = root

[homes]
   comment = Home Directories
   browseable = no
   read only = no

[pchome]
   comment = Home Directories
   browseable = no
   read only = no
   path = %H/pchome

[profile]
   comment = User Profile
   path = %H
   create mode = 0600
   directory mode = 0700
   force create mode = 0600
   force directory mode = 0700
   writable = yes
   read only = no
   browseable = no
   csc policy = disable

[printers]
   comment = ECN Printers
   printable = yes
   path = /tmp
   public = no
   writable = no
   create mode = 0700

[micro]
   hosts allow = 128.46. 128.210. 128.211.
   comment = ECN software
   path = /package/micro/pc
   browseable = yes
   writable = yes
   read only = yes
   public = yes
   write list = @ecnmicro
   force create mode = 0775
   force directory mode = 0775

[tmp]
   comment = Temporary File Space
   path = /tmp
   read only = no
   public = no

[motd$]
   comment = Message of the Day Files
   path = /usr/share/adm/config/motdfiles
   browseable = no
   public = yes
   writable = no

Here is a log of the failure from the time the user launched firefox. Firefoxes profile is on the
users samba share. I can removed samba 3.0.21 and go back to any previous version and everything
works fine. The PC clients are XP SP2 ... I have debug logs if you desire. Here is about where it happened in the log:

[2005/12/21 13:27:05, 3] smbd/process.c:switch_message(993)
  switch message SMBntcreateX (pid 18803) conn 0x3a36b8
[2005/12/21 13:27:05, 4] smbd/uid.c:change_to_user(217)
  change_to_user: Skipping user change - already user
[2005/12/21 13:27:05, 10] smbd/nttrans.c:reply_ntcreate_and_X(506)
  reply_ntcreateX: flags = 0x16, access_mask = 0x20181 file_attributes = 0x80, share_acce
ss = 0x7, create_disposition = 0x1 create_options = 0x140 root_dir_fid = 0x0
[2005/12/21 13:27:05, 5] smbd/filename.c:unix_convert(108)
  unix_convert called on file ".pcprefs/Firefox/Profiles/firefox1.default/compreg.dat.tmp
"
[2005/12/21 13:27:05, 10] smbd/statcache.c:stat_cache_lookup(215)
  stat_cache_lookup: lookup failed for name [.PCPREFS/FIREFOX/PROFILES/FIREFOX1.DEFAULT/C
OMPREG.DAT.TMP]
[2005/12/21 13:27:05, 10] smbd/statcache.c:stat_cache_lookup(248)
  stat_cache_lookup: lookup succeeded for name [.PCPREFS/FIREFOX/PROFILES/FIREFOX1.DEFAUL
T] -> [.pcprefs/Firefox/Profiles/firefox1.default]
[2005/12/21 13:27:05, 5] smbd/statcache.c:stat_cache_add(140)
  stat_cache_add: Added entry (35eed0:size3b) .PCPREFS/FIREFOX/PROFILES/FIREFOX1.DEFAULT/
COMPREG.DAT.TMP -> .pcprefs/Firefox/Profiles/firefox1.default/compreg.dat.tmp
[2005/12/21 13:27:05, 5] smbd/filename.c:unix_convert(180)
  conversion finished .pcprefs/Firefox/Profiles/firefox1.default/compreg.dat.tmp -> .pcpr
efs/Firefox/Profiles/firefox1.default/compreg.dat.tmp
[2005/12/21 13:27:05, 3] smbd/dosmode.c:unix_mode(121)
  unix_mode(.pcprefs/Firefox/Profiles/firefox1.default/compreg.dat.tmp) returning 0744
[2005/12/21 13:27:05, 10] smbd/open.c:open_file_ntcreate(1101)
  open_file_ntcreate: fname=.pcprefs/Firefox/Profiles/firefox1.default/compreg.dat.tmp, d
os_attrs=0x80 access_mask=0x20181 share_access=0x7 create_disposition = 0x1 create_option
s=0x140 unix mode=0744 oplock_request=3
[2005/12/21 13:27:05, 8] smbd/dosmode.c:dos_mode(300)
  dos_mode: .pcprefs/Firefox/Profiles/firefox1.default/compreg.dat.tmp
[2005/12/21 13:27:05, 8] smbd/dosmode.c:dos_mode_from_sbuf(167)
  dos_mode_from_sbuf returning a
[2005/12/21 13:27:05, 8] smbd/dosmode.c:dos_mode(334)
  dos_mode returning a
[2005/12/21 13:27:05, 8] lib/util.c:is_in_path(1677)
  is_in_path: .pcprefs/Firefox/Profiles/firefox1.default/compreg.dat.tmp
[2005/12/21 13:27:05, 8] lib/util.c:is_in_path(1697)
  is_in_path: match not found
[2005/12/21 13:27:05, 10] smbd/open.c:open_file_ntcreate(1270)
  open_file_ntcreate: fname=.pcprefs/Firefox/Profiles/firefox1.default/compreg.dat.tmp, a
fter mapping access_mask=0x20181
[2005/12/21 13:27:05, 5] smbd/files.c:file_new(128)
  allocated file structure 4115, fnum = 8211 (4 used)
[2005/12/21 13:27:05, 10] locking/locking.c:parse_share_modes(438)
  parse_share_modes: delete_on_close: 0, num_share_modes: 1
[2005/12/21 13:27:05, 10] locking/locking.c:parse_share_modes(479)
  parse_share_modes: share_mode_entry[0]: pid = 18803, share_access = 0x3, private_option
s = 0x40, access_mask = 0x20196, mid = 0x0, type= 0x3, file_id = 16, dev = 0x1d80007, ino
de = 430
[2005/12/21 13:27:05, 10] smbd/open.c:delay_for_oplocks(686)
  Sending break request to PID 18803
[2005/12/21 13:27:05, 5] smbd/files.c:file_free(450)
  freed files structure 8211 (3 used)
[2005/12/21 13:27:05, 10] smbd/open.c:defer_open(741)
  defer_open_sharing_error: time [1135189625.673081] adding deferred open entry for mid 5
057
[2005/12/21 13:27:05, 10] smbd/process.c:push_deferred_smb_message(219)
  push_deferred_open_smb_message: pushing message len 208 mid 5057 timeout time [11351896
85.673081]
[2005/12/21 13:27:05, 10] smbd/process.c:push_queued_message(114)
  push_message: pushed message length 208 on deferred_open_queue
[2005/12/21 13:27:05, 10] locking/locking.c:unparse_share_modes(527)
  unparse_share_modes: del: 0, num: 2
[2005/12/21 13:27:05, 10] locking/locking.c:print_share_mode_table(413)
  print_share_mode_table: share_mode_entry[0]: pid = 18803, share_access = 0x3, private_o
ptions = 0x40, access_mask = 0x20196, mid = 0x13c1, type= 0x3, file_id = 16, dev = 0x1d80
007, inode = 430
[2005/12/21 13:27:05, 10] locking/locking.c:print_share_mode_table(413)
  print_share_mode_table: share_mode_entry[1]: pid = 18803, share_access = 0x0, private_o
ptions = 0x0, access_mask = 0x0, mid = 0x13c1, type= 0x20, file_id = 0, dev = 0x1d80007,
inode = 430
[2005/12/21 13:27:05, 10] smbd/process.c:setup_select_timeout(1372)
  change_notify_timeout: 60
[2005/12/21 13:27:05, 10] smbd/process.c:run_events(299)
  run_events: No events
[2005/12/21 13:27:05, 10] lib/messages.c:message_dispatch(439)
  message_dispatch: received_signal = 1
[2005/12/21 13:27:05, 10] lib/messages.c:message_dispatch(449)
  message_dispatch: received msg_type=3006 src_pid=18803
[2005/12/21 13:27:05, 10] lib/messages.c:message_dispatch(453)
  message_dispatch: processing message of type 3006.
[2005/12/21 13:27:05, 10] smbd/oplock.c:process_oplock_break_message(391)
  Got oplock break message from pid 18803: 30932999/430/16
[2005/12/21 13:27:05, 3] smbd/oplock.c:initial_break_processing(309)
  initial_break_processing: called for dev = 1d80007, inode = 430 file_id = 16
  Current oplocks_open (exclusive = 3, levelII = 0)
[2005/12/21 13:27:05, 5] lib/util.c:show_msg(454)
[2005/12/21 13:27:05, 5] lib/util.c:show_msg(464)
  size=51
  smb_com=0x24
  smb_rcls=0
  smb_reh=0
  smb_err=0
  smb_flg=0
  smb_flg2=0
  smb_tid=1
  smb_pid=65535
  smb_uid=0
  smb_mid=65535
  smt_wct=8
  smb_vwv[ 0]=  255 (0xFF)
  smb_vwv[ 1]=    0 (0x0)
  smb_vwv[ 2]= 8210 (0x2012)
  smb_vwv[ 3]=  258 (0x102)
  smb_vwv[ 4]=    0 (0x0)
  smb_vwv[ 5]=    0 (0x0)
  smb_vwv[ 6]=    0 (0x0)
  smb_vwv[ 7]=    0 (0x0)
  smb_bcc=0
[2005/12/21 13:27:05, 0] lib/fault.c:fault_report(36)
  ===============================================================
[2005/12/21 13:27:05, 0] lib/fault.c:fault_report(37)
  INTERNAL ERROR: Signal 10 in pid 18803 (3.0.21)
  Please read the Trouble-Shooting section of the Samba3-HOWTO
[2005/12/21 13:27:05, 0] lib/fault.c:fault_report(39)

  From: http://www.samba.org/samba/docs/Samba3-HOWTO.pdf
[2005/12/21 13:27:05, 0] lib/fault.c:fault_report(40)
  ===============================================================
[2005/12/21 13:27:05, 0] lib/util.c:smb_panic2(1554)
  PANIC: internal error
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option SO_KEEPALIVE = 8
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option SO_REUSEADDR = 4
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option SO_BROADCAST = 0
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option TCP_NODELAY = 1
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option IPTOS_LOWDELAY = 16
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option IPTOS_THROUGHPUT = 16
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option SO_SNDBUF = 49152
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option SO_RCVBUF = 49640
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(201)
  Could not test socket option SO_SNDLOWAT.
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(201)
  Could not test socket option SO_RCVLOWAT.
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(201)
  Could not test socket option SO_SNDTIMEO.
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(201)
  Could not test socket option SO_RCVTIMEO.
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option SO_KEEPALIVE = 8
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option SO_REUSEADDR = 4
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option SO_BROADCAST = 0
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option TCP_NODELAY = 1
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option IPTOS_LOWDELAY = 16
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option IPTOS_THROUGHPUT = 16
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option SO_SNDBUF = 49152
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(203)
  socket option SO_RCVBUF = 49640
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(201)
  Could not test socket option SO_SNDLOWAT.
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(201)
  Could not test socket option SO_RCVLOWAT.
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(201)
  Could not test socket option SO_SNDTIMEO.
[2005/12/21 13:27:05, 5] lib/util_sock.c:print_socket_options(201)
  Could not test socket option SO_RCVTIMEO.
[2005/12/21 13:27:05, 6] param/loadparm.c:lp_file_list_changed(2950)
  lp_file_list_changed()
  file /etc/smb.conf -> /etc/smb.conf  last mod_time: Wed Dec 21 11:53:41 2005

[2005/12/21 13:27:05, 3] smbd/oplock.c:init_oplocks(703)
  open_oplock_ipc: opening loopback UDP socket.
[2005/12/21 13:27:05, 4] lib/time.c:TimeInit(142)
  TimeInit: Serverzone is 18000
[2005/12/21 13:27:05, 10] smbd/process.c:setup_select_timeout(1372)
  change_notify_timeout: 60
[2005/12/21 13:27:05, 10] smbd/process.c:run_events(299)
  run_events: No events
[2005/12/21 13:27:05, 10] lib/util_sock.c:read_smb_length_return_keepalive(615)
  got smb length of 133
[2005/12/21 13:27:05, 6] smbd/process.c:process_smb(1193)
  got message type 0x0 of len 0x85
[2005/12/21 13:27:05, 3] smbd/process.c:process_smb(1194)
  Transaction 0 of length 137
[2005/12/21 13:27:05, 5] lib/util.c:show_msg(454)
[2005/12/21 13:27:05, 5] lib/util.c:show_msg(464)
  size=133
  smb_com=0x72
  smb_rcls=0
  smb_reh=0
  smb_err=0
  smb_flg=24
  smb_flg2=51283
  smb_tid=0
  smb_pid=65279
  smb_uid=0
  smb_mid=0
  smt_wct=0
  smb_bcc=98
[2005/12/21 13:27:05, 10] lib/util.c:dump_data(2058)
  [000] 02 50 43 20 4E 45 54 57  4F 52 4B 20 50 52 4F 47  .PC NETW ORK PROG
  [010] 52 41 4D 20 31 2E 30 00  02 4C 41 4E 4D 41 4E 31  RAM 1.0. .LANMAN1
  [020] 2E 30 00 02 57 69 6E 64  6F 77 73 20 66 6F 72 20  .0..Wind ows for
  [030] 57 6F 72 6B 67 72 6F 75  70 73 20 33 2E 31 61 00  Workgrou ps 3.1a.
  [040] 02 4C 4D 31 2E 32 58 30  30 32 00 02 4C 41 4E 4D  .LM1.2X0 02..LANM
  [050] 41 4E 32 2E 31 00 02 4E  54 20 4C 4D 20 30 2E 31  AN2.1..N T LM 0.1
  [060] 32 00                                             2.
[2005/12/21 13:27:05, 3] smbd/process.c:switch_message(993)
  switch message SMBnegprot (pid 18804) conn 0x0
[2005/12/21 13:27:05, 3] smbd/sec_ctx.c:set_sec_ctx(288)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2005/12/21 13:27:05, 5] auth/auth_util.c:debug_nt_user_token(433)
  NT user token: (NULL)
[2005/12/21 13:27:05, 5] auth/auth_util.c:debug_unix_user_token(454)
  UNIX token of user 0
  Primary group is 0 and contains 0 supplementary groups
[2005/12/21 13:27:05, 5] smbd/uid.c:change_to_root_user(319)
  change_to_root_user: now uid=(0,0) gid=(0,0)
[2005/12/21 13:27:05, 3] smbd/negprot.c:reply_negprot(475)
  Requested protocol [PC NETWORK PROGRAM 1.0]
[2005/12/21 13:27:05, 3] smbd/negprot.c:reply_negprot(475)
  Requested protocol [LANMAN1.0]
[2005/12/21 13:27:05, 3] smbd/negprot.c:reply_negprot(475)
  Requested protocol [Windows for Workgroups 3.1a]
[2005/12/21 13:27:05, 3] smbd/negprot.c:reply_negprot(475)
  Requested protocol [LM1.2X002]
[2005/12/21 13:27:05, 3] smbd/negprot.c:reply_negprot(475)
  Requested protocol [LANMAN2.1]
[2005/12/21 13:27:05, 3] smbd/negprot.c:reply_negprot(475)
  Requested protocol [NT LM 0.12]
[2005/12/21 13:27:05, 10] lib/util.c:set_remote_arch(2033)
  set_remote_arch: Client arch is 'Win2K'
[2005/12/21 13:27:05, 6] param/loadparm.c:lp_file_list_changed(2950)
  lp_file_list_changed()
  file /etc/smb.conf -> /etc/smb.conf  last mod_time: Wed Dec 21 11:53:41 2005

[2005/12/21 13:27:05, 5] smbd/connection.c:claim_connection(170)
  claiming  0
[2005/12/21 13:27:05, 6] param/loadparm.c:lp_file_list_changed(2950)
  lp_file_list_changed()
  file /etc/smb.conf -> /etc/smb.conf  last mod_time: Wed Dec 21 11:53:41 2005

[2005/12/21 13:27:05, 3] smbd/negprot.c:reply_nt1(346)
  using SPNEGO
[2005/12/21 13:27:05, 3] smbd/negprot.c:reply_negprot(568)
  Selected protocol NT LM 0.12
[2005/12/21 13:27:05, 5] smbd/negprot.c:reply_negprot(574)
  negprot index=5
[2005/12/21 13:27:05, 5] lib/util.c:show_msg(454)
[2005/12/21 13:27:05, 5] lib/util.c:show_msg(464)
Comment 1 Mike Moya 2006-01-03 13:22:11 UTC
Version 3.0.21a did not fix this problem. Going back to 3.0.14a or 3.0.20a continues to work ...
--mike
Comment 2 Gerald (Jerry) Carter 2006-01-03 13:38:00 UTC
Taking this one over.  I'm running both FireFox and Thunderbird 
profiles on a 3.0.21a server without problems.  It would really help 
to get a backtrace and figure out where we get the Bus error.

Comment 3 Volker Lendecke 2006-01-03 13:48:22 UTC
Jerry, it might be an alignment problem. I'm trying to get my Solaris 9 machine equipped with a compiler.

Volker
Comment 4 Gerald (Jerry) Carter 2006-01-03 13:59:00 UTC
(In reply to comment #3)
> ...it might be an alignment problem. I'm trying to get my Solaris 9 machine
> equipped with a compiler.

Sounds like it.  I'll try to test it as well as soon as I 
can get done with a few things.
Comment 5 Age Strand 2006-01-05 07:32:45 UTC
(In reply to comment #0)
I'll just add my voice to the bug reporting choir and say that we recently upgraded our samba fileserver installation from 3.0.20 to 3.0.21 (stable releases) and we've seen the same problems.

We're a sizable organization with a mixed linux/windows environment of 600+ clients and our problems popped up on the windows client side. Users were unable to access certain samba shares. They reported access right failures, invalid file handles and file manager lockups - depending on the application they were using.

We rolled back to 3.0.20 and everything worked fine again.

Our samba logs show lots of error messages like this:
[2006/01/04 12:37:13, 0] libads/authdata.c:decode_pac_data(870)
  decode_pac_data: failed to verify PAC server signature

These error messages disappeared after we reverted to 3.0.20.
Comment 6 Gerald (Jerry) Carter 2006-01-05 11:51:12 UTC
Created attachment 1645 [details]
gcc warnings on Solaris 9 (sparc)

Huge amounts of warnings about alignments
Comment 7 Gerald (Jerry) Carter 2006-01-05 11:52:21 UTC
*** Bug 3378 has been marked as a duplicate of this bug. ***
Comment 8 Gerald (Jerry) Carter 2006-01-05 11:55:51 UTC
*** Bug 3310 has been marked as a duplicate of this bug. ***
Comment 9 Gerald (Jerry) Carter 2006-01-09 06:29:04 UTC
*** Bug 3367 has been marked as a duplicate of this bug. ***
Comment 10 Rudy Gevaert 2006-01-09 06:37:08 UTC
(In reply to comment #9)
> *** Bug 3367 has been marked as a duplicate of this bug. ***
> 

is there a way to solve this myself or do I wait until upstream releases a fix?
Comment 11 Gerald (Jerry) Carter 2006-01-09 10:18:01 UTC
Handing over to jra.

Jeremy, I can reproduce it locally so ping me if 
you need to debug on the sparc box here.
Comment 12 Jeremy Allison 2006-01-09 10:23:27 UTC
Won't get to this until Wed Pacific time. Having access to your Sparc box will definately help.
Thanks,
Jeremy.
Comment 13 Volker Lendecke 2006-01-11 04:23:07 UTC
Jerry, what's your way to reproduce this? I just compiled 3.0.21a on Solaris 8 SPARC with Sun Studio 11 and ran the Samba4 raw-oplock test and also my test we had for 3349. Both ran flawlessly.

Maybe we're sitting on a GCC problem here?

Volker
Comment 14 Mike Moya 2006-01-11 07:04:21 UTC
I used the following version of gcc to compile:

golfer:/[206] gcc -v
Reading specs from /opt/gcc/3.4.4/lib/gcc/sparc-sun-solaris2.9/3.4.4/specs
Configured with: ../configure --prefix=/opt/gcc/3.4.4 --enable-languages=c,c++,f77,objc --disable-libgcj --disable-nls --enable-threads=posix --with-cpu=ultrasparc --host=sparc-sun-solaris2.9 --with-gnu-as --with-gnu-ld --with-as=/usr/local/bin/as --with-ld=/usr/local/bin/ld
Thread model: posix
gcc version 3.4.4
Comment 15 Gerald (Jerry) Carter 2006-01-11 07:55:15 UTC
*** Bug 3394 has been marked as a duplicate of this bug. ***
Comment 16 Tom Schulz 2006-01-11 08:42:16 UTC
In reply to comment 13, I have tried building with
Sun's Forte Developer 7 C 5.4, Sun's WorkShop Compilers 4.2 c 4.2, and
gcc 2.95.3 compilers on Solaris 8.  As per bug 3310, Samba does not work
at all for me.  I have retested with 3.0.21a and the problem remains.
Comment 17 Michael Kelleher 2006-01-11 09:47:13 UTC
I have tried compiling Samba 3.0.21 and Samba 3.0.21a on Solaris 8 using Sun Studio 8 and I'm also having the same problem. I don't think this problem is gcc specific. Since IRIX users are also getting the same problem we can't narrow it down to just Solaris.
Comment 18 Rudy Gevaert 2006-01-12 02:40:22 UTC
I'm using: 

$ gcc -v
Reading specs from /opt/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.2/specs
Configured with: ../gcc-3.4.2/configure --prefix=/opt/sfw --with-ld=/usr/ccs/bin/ld --with-gnu-as --with-as=/opt/sfw/bin/gas --enable-shared --disable-libgcj
Thread model: posix
gcc version 3.4.2
Comment 19 Mike Moya 2006-01-12 07:40:41 UTC
I just recompiled with SunStudio 10 at the latest patch level:
# cc -V
cc: Sun C 5.7 Patch 117836-05 2005/10/05
usage: cc [ options] files.  Use 'cc -flags' for details

#  Configure
cd samba-3.0.21a-sol9-32/source
CC=cc \
CFLAGS='-fast -xtarget=ultra' \
CPPFLAGS="-I/opt/gettext/current/include -I/opt/libiconv/current/include" \
LDFLAGS="-L/opt/gettext/current/lib -R/opt/gettext/current/lib -L/opt/libiconv/current/lib -R/opt/libiconv/current/lib" \
./configure  \
  --prefix=/opt/samba/3.0.21a \
  --localstatedir=/var/samba \
  --with-configdir=/etc \
  --with-privatedir=/etc  \
  --enable-fast-install \
  --without-syslog \
  --with-libiconv=/opt/libiconv/current \
  --without-ldap \
  --with-acl-support \
  --without-winbind \
  --with-quotas 

testing showed everythign working again (only 10-15 minutes of testing however). The above with gcc will not work. We started using gcc for samba a couple years ago when there was some Forte/samba bug that would show up occasionally ( that I can't recall what it was now).
--mike
Comment 20 Volker Lendecke 2006-01-12 07:47:49 UTC
Created attachment 1672 [details]
Proposed (preliminary!!) patch

Could you please try the attached patch? I reproduced the segfault, and with this patch it does not happen anymore. I'm sure there are other similar ones lurking, but maybe this helps for you.

Volker
Comment 21 Christian Masopust 2006-01-12 08:02:31 UTC
Hello Volker,

i tried your patch and it resolved my problem (internal error when accessing
share via ASP-Script, Bug 3394).

Thanks a lot,
Christian
Comment 22 Volker Lendecke 2006-01-12 08:25:33 UTC
Created attachment 1673 [details]
More complete patch

As I said, the first patch was preliminary. I went through all message handlers and did the same I did for process_oplock_break.

Jeremy, is this the right approach to do it? If this works, hand-marshalling the structures is not necessary I think. memcpy should not have any alignment restrictions, it's the direct pointer dereference that has.

Volker
Comment 23 Jeremy Allison 2006-01-12 09:21:02 UTC
Spoke with Volker, this patch works for the SAMBA_3_0_RELEASE branch but we'll put in full linearization for 3.0 and HEAD SVN branches. We need to make this portable for cross-cluster work.
Jeremy.
Comment 24 Tom Schulz 2006-01-13 14:24:40 UTC
I tried the first patch with no effect, but then my problem is not with
oplock.  I had thought that I was not getting any errors logged, but I
found out that I was looking at the wrong log file.  Here are the errors.

[2006/01/13 16:04:54, 0] lib/util_sock.c:(554)
  write_data: write failure in writing to client 192.168.2.23. Error Broken pipe
[2006/01/13 16:04:54, 0] lib/util_sock.c:(762)
  Error writing 4 bytes to client. -1. (Broken pipe)
[2006/01/13 16:04:55, 0] lib/fault.c:(36)
  ===============================================================
[2006/01/13 16:04:55, 0] lib/fault.c:(37)
  INTERNAL ERROR: Signal 11 in pid 8329 (3.0.21a)
  Please read the Trouble-Shooting section of the Samba3-HOWTO
[2006/01/13 16:04:55, 0] lib/fault.c:(39)
  
  From: http://www.samba.org/samba/docs/Samba3-HOWTO.pdf
[2006/01/13 16:04:55, 0] lib/fault.c:(40)
  ===============================================================
[2006/01/13 16:04:55, 0] lib/util.c:(1554)
  PANIC: internal error
[2006/01/13 16:04:55, 0] lib/fault.c:(36)
  ===============================================================
[2006/01/13 16:04:55, 0] lib/fault.c:(37)
  INTERNAL ERROR: Signal 11 in pid 8330 (3.0.21a)
  Please read the Trouble-Shooting section of the Samba3-HOWTO
[2006/01/13 16:04:55, 0] lib/fault.c:(39)
  
  From: http://www.samba.org/samba/docs/Samba3-HOWTO.pdf
[2006/01/13 16:04:55, 0] lib/fault.c:(40)
  ===============================================================
[2006/01/13 16:04:55, 0] lib/util.c:(1554)
  PANIC: internal error
Comment 25 Volker Lendecke 2006-01-13 15:26:37 UTC
Can you get us a debug level 10 log? And possibly before that compile with -g so that we get a better backtrace?

Thanks,

Volker
Comment 26 Tom Schulz 2006-01-16 07:56:57 UTC
Created attachment 1690 [details]
log.0.0.0.0

Ok.  Compiled with -g and no optimization.  I got several log files.  The
command lines are:
 /opt/local/sambat/sbin/smbd -l /opt/local/sambat/var/logs/`hostname` -d 10 -D
 /opt/local/sambat/sbin/nmbd -l /opt/local/sambat/var/logs/`hostname` -d 10 -D
and the smb.conf file contains:
 log file = /opt/local/sambat/var/logs/%h/log.%m
I got log files: log.0.0.0.0, log.192.168.2.23, log.nmbd, log.smbd & log.tetra
Samba is running on a machine called archer and I tried to access files from
a machine called tetra which has ip address 192.168.2.23.  I expect that
log.tetra is the one you want, but I will send them all. Starting with
log.0.0.0.0.
Comment 27 Tom Schulz 2006-01-16 07:59:48 UTC
Created attachment 1691 [details]
log.192.168.2.23

Here is log.192.168.2.23
Comment 28 Tom Schulz 2006-01-16 08:00:50 UTC
Created attachment 1692 [details]
log.nmbd

Here is log.nmbd
Comment 29 Tom Schulz 2006-01-16 08:01:40 UTC
Created attachment 1693 [details]
log.smbd

Here is log.smbd
Comment 30 Tom Schulz 2006-01-16 08:02:18 UTC
Created attachment 1694 [details]
log.tetra

And finally log.tetra
Comment 31 Gerald (Jerry) Carter 2006-01-17 08:03:50 UTC
*** Bug 3418 has been marked as a duplicate of this bug. ***
Comment 32 Dan 2006-01-20 16:01:31 UTC
I'm experiencing the same issue on Solaris 8 with 3.0.21 and 3.0.21a.  Users can map drives, but when they attempt to tranfer files, the samba processes die with an internal error.  When I applied the oplock patch, it now works fine.  It looks like this patch is good to go, IMHO.

Host info:
# uname -a
SunOS sparky 5.8 Generic_117350-26 sun4u sparc SUNW,Ultra-5_10

# gcc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.3/specs
Configured with: /build/gcc-3.2.3/configure --infodir=/usr/local/share/info --mandir=/usr/local/share/man --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-threads=posix --disable-shared
Thread model: posix
gcc version 3.2.3
Comment 33 Tom Schulz 2006-01-20 19:50:04 UTC
I tried the more complete patch, but it does not fix my problem.  In my
case, I can not map a network drive at all.  I have been trying to think
what may be special about my installation.  Two things come to mind.  Samba
is installed on a nfs mounted disk and would normally be shared by several
machines.  For testing, I have built it to install in a different directory
so as not to kill the production machines.  To prevent the .tdb files from
being on a nfs drive, I have symbolic links pointing to a local disk and
directories (/var/samba/locks and /var/samba/private) for the
/opt/local/sambat/var/locks directory and the
/opt/local/sambat/private/secrets.tdb file.  For a test, I tried deleting the
old .tdb files.  They were recreated, but Samba still did not work.  If it
would help, I could attach my configuration file.
Comment 34 Michael Kelleher 2006-01-24 06:17:22 UTC
The preliminary patch did work fine for me, but the complete patch submitted by Volker doesn't seem to work.

Should this bug be a 'blocker'??? This bug does stop Samba working, and there are many other people reporting duplicate bugs (probably because this one isn't flagged as being a show stopper!!!)
Comment 35 Gerald (Jerry) Carter 2006-01-24 06:22:37 UTC
It is a show stopper.  Just not flagged as one in bugzilla.

ps: easy on the exclamation points there.....
Comment 36 Tom Schulz 2006-01-24 11:55:52 UTC
I have it working, well sort of.  It has nothing to do with being installed
on a nfs mounted disk or having the .tdb files on another disk.  The problem
is caused by 'security = server' in the smb.conf file.  When I changed to
'security = user' (and 'passdb backend = smbpasswd' as I had an old smbpasswd
file laying around) it started to work.  I haven't tried copying a file yet,
but I can now map a network drive.  I expect that the others who have Samba
running on Solaris are not using 'security = server'.  Our domain controller
is running Windows 2000 server.
Comment 37 Gerald (Jerry) Carter 2006-01-24 12:02:52 UTC
The seerver = security is aanother bug that is also fixed 
in 3.0.21b. I cannot reproduce this any lobger agains the 
SAMBA_3_0_RELEASE branch (which will become 3.0.21b).
Closing unless someone can give proof that this specific 
bug is not fixed.