samba_3_0 still segfaults upon trying to refresh view of prin ters: gdb bt

Esh, Andrew Andrew_Esh at adaptec.com
Thu Apr 10 19:22:26 GMT 2003


I should have paid more attention to how I read the cvs logs. I looked at
version 1.139 of printing/printing.c, instead of version 1.139.2.32, which
is at the HEAD of the SAMBA_3_0 branch. Version 1.139 doesn't have
"store_queue_struct", which caused me to interpret Alex's report as "I am
using HEAD code", since he said "today cvs". Mea Culpa.

Once I looked at the right code, I immediately saw what the problem is.
Since I don't have a printer hooked up to Samba, I can't test this, but it's
pretty obvious:

Index: printing.c
===================================================================
RCS file: /cvsroot/samba/source/printing/printing.c,v
retrieving revision 1.139.2.32
diff -u -c -r1.139.2.32 printing.c
cvs server: conflicting specifications of output style
*** printing.c	4 Apr 2003 01:02:20 -0000	1.139.2.32
--- printing.c	10 Apr 2003 19:20:28 -0000
***************
*** 855,861 ****
  
  	/* Work out the size. */
  	data.dsize = 0;
! 	data.dsize += tdb_pack(NULL, 0, NULL, "d", qcount);
  
  	for (i = 0; i < pts->qcount; i++) {
  		data.dsize += tdb_pack(NULL, 0, "ddddddff",
--- 855,861 ----
  
  	/* Work out the size. */
  	data.dsize = 0;
! 	data.dsize += tdb_pack(NULL, 0, "d", qcount);
  
  	for (i = 0; i < pts->qcount; i++) {
  		data.dsize += tdb_pack(NULL, 0, "ddddddff",


-----Original Message-----
From: Bradley W. Langhorst [mailto:brad at langhorst.com]
Sent: Thursday, April 10, 2003 11:57 AM
To: Esh, Andrew
Cc: 'Alex Deiter'; samba-technical at lists.samba.org
Subject: RE: samba_3_0 still segfaults upon trying to refresh view of
prin ters: gdb bt


On Thu, 2003-04-10 at 11:09, Esh, Andrew wrote:
> Make sure you have version 1.50 of tdb/tdbutil.c. Make clean and
recompile.
> 
> The reason is: The tdb_pack function was modified on March 14th to do
> estimates of the storage size which would be required for a given set of
> arguments. The printing.c code in your stack dump is using tdb_pack in
this
> way at the line indicated. When I look at version 1.50 of tdbutil.c, the
> line shown in your stack dump does not contain executable code. The
printing
> code is trying to use tdb_pack to measure the packed storage size of a
> single local integer, which the correct tdb_pack code should easily be
able
> to do. This leads me to think that old tdbutil code was linked in, instead
> of 3.0 HEAD code.
I'm having similar problems - though my segfault appears to occur in
pjob_delete...
I've had a look at the latest SAMBA_3_0 and tdbutil.c is at
/tdbutil.c/1.38.2.9/Tue Apr  8 01:26:13 2003//TSAMBA_3_0

are you saying that the changes from HEAD should be merged into
SAMBA_3_0 to fix these printing problems?

brad

-- 
Bradley W. Langhorst <brad at langhorst.com>


More information about the samba-technical mailing list