Various problems & fixes

Jeremy Allison jeremy at
Mon Jan 8 19:41:21 GMT 2001

Damian Ivereigh wrote:
> I think a bug in nt_printing.c & srv_spoolss_nt.c - both
> files use global_myname rather than local_machine. This means that it
> fails if you use netbios aliases (which we do big time) - the wrong
> name gets put in various places. I have got away with just doing a
> search/replace on these guys and it seems to be fine. However you or
> JF may like to check into that. It's easy to reproduce the problem:
> just connect to a netbios alias rather than the real name and you'll
> see it break when downloading the driver files and even viewing the
> properties window.

Ok - I'll take a look at this.

> I have found another problem in the lib/select.c in the function
> sys_select(). There seems to be this whole thing around avoiding race
> conditions using a pipe. Anyway it doesn't seem to quite work. If for
> some reason an extra character appears
> in the pipe (that is not represented by the difference between
> pipe_read & pipe_written), then the process is sent into an endless
> loop (because it never tries to read this character). While this
> shouldn't ever happen it does on our machines (about once a day under
> heavy load)!

Hmmmm. This should never happen. I'd be *really* interested in helping you
track this down. What OS are you running on ? Can you get the smbd to abort()
on detection of this condition. This is a *critical* section of code and 
we must get this right.

> Another area which I wouldn't mind you looking at is the all the stuff
> around the get_ntforms(), write_ntforms() & delete_a_form() - all in
> printing/nt_printing.c. After a form is deleted a "hole" is left in
> the tdb file (the index number is also stored). Next time
> get_ntforms() is called an uninitialised section of memory is used in
> the form list. When this is then written out again (write_ntforms()),
> that garbage will be written to the tdb file. This may be enough to
> really confuse the clients.

I'll take a look at this.

Thanks for all the debugging help !


Buying an operating system without source is like buying
a self-assembly Space Shuttle with no instructions.

More information about the samba-technical mailing list