Dragan Krnic
2003-May-13 16:54 UTC
[Samba] cli_pipe: return critical error. Error was Call returnedzerobyte(EOF), hilfe!
Hi Kurt,
I've read the new document. It's a very fine
piece of technical documentation. However, it
doesn't help me in the present predicament.
Going now by this book I'm only getting more
frustrated. What are your versions of Samba,
CUPS(?), OS, and Printer again?
2.2.8a, 1.1.18, SuSE 8.2 w/2.4.20-62, Lexmark C720
I'm stuck!
I would try to reproduce it here, if you tell me
where I can get the driver files. Do you see a
possibility to place them somewhere for me to
download.
I can upload the bunch on an FTP server and send you
access details per separate mail but I don't think you
can reproduce the problem. It has nothing to do with
the data. I'm actually looking for pointers as to
where to look next.
For example adding driver with rcpclient
invariably ends in "Segmentation fault"
(Signal 11)
I am currently seeing Segmentation faults (on
2.2.7a) also with various rpcclient commands (for
ex. "level" 2 or 3 subcommands for enumprinters
and enumdrivers...). However, adddriver|setdriver
work....
immediately
after pop_sec_ctx, whose push counterpart was
invoked before a long series of opening and
closing all normal files in W32X86/3.
Have you tried to install the Windows NT driver
which goes into "W32X86/2/"
No. What difference would it make? My clients are
all W2Ks.
This is the command I used:
rpcclient -d 4 -Uroot -c 'adddriver \
"Windows NT x86" \
"lp:\
Just a crazy idea: try to name the thing to something
other than "lp"....
Doesn't make any difference.
lexpsnt3.dll:\
OPC720.PPD:\
LEXPSNTU.DLL:\
LEXPSNT.HLP:\
NULL:\
LEXPSLNG.DLL,LEXDRVX.DLL,LEXFNTRC.DLL,\
LEXPSHOW.HLP,LEXPSNT.CNT,PTGUIW32.DLL,\
PTRESW32.DLL,PTAPIW32.DLL,LEXMV95.HLP,\
DRVNPANT.DLL,LEXDRVIN.EXE,LEXPSNT.ALL,\
OPTRASBM.DLL,SC1275BM.DLL,K1220BM.DLL,\
OC1200BM.DLL,OC40BM.DLL,OC45BM.DLL,\
E855BM.DLL,W810BM.DLL,W820BM.DLL,M410BM.DLL,\
T61XBM.DLL,T62XBM.DLL,C710BM.DLL,C720BM.DLL,\
C750BM.DLL,C910BM.DLL,E32XBM.DLL,LMPCLTHK.DLL,\
LEXCFI.DLL,LEXEDF.DLL,LEXPPDS.ZIP,PTZIPW32.DLL,\
LEXUNST.ZIP"' p90
Gosh! That is a long list (34) of "Dependentfiles"!
Did they integrate a sound driver to tell you that
the job is ready?!
It eMails a snapshot of the piled paper begging to be
picked up from the tray when the job is done.
Seriously, Kurt, isn't there a backdoor to tdb files?
Can't I just poke the necessary entries with an hex
editor? It's just a replacement for registries. The
rpcclient utility has the problem, not samba.
Cheers
Dragan
____________________________________________________________
Get advanced SPAM filtering on Webmail or POP Mail ... Get Lycos Mail!
http://login.mail.lycos.com/r/referral?aid=27005
Kurt Pfeifle
2003-May-13 17:23 UTC
[Samba] cli_pipe: return critical error. Error was Call returnedzerobyte(EOF), hilfe!
Dragan Krnic wrote:> Hi Kurt, > > I've read the new document. It's a very fine > piece of technical documentation. However, it > doesn't help me in the present predicament. > Going now by this book I'm only getting more > frustrated. What are your versions of Samba, > CUPS(?), OS, and Printer again? > > 2.2.8a,I had to go back to 2.2.7a because of some printing problems occuring here (acknowledged by Gerry in a mail to me, saying he'll fix them for 2.2.9), but can't remember exactly which one (need to look it up again).> 1.1.18, SuSE 8.2 w/2.4.20-62, Lexmark C720 > > I'm stuck! > > I would try to reproduce it here, if you tell me > where I can get the driver files. Do you see a > possibility to place them somewhere for me to > download. > > I can upload the bunch on an FTP server and send you > access details per separate mail but I don't think you > can reproduce the problem. It has nothing to do with > the data. I'm actually looking for pointers as to > where to look next.Please do so.> For example adding driver with rcpclient > invariably ends in "Segmentation fault" > (Signal 11) > > I am currently seeing Segmentation faults (on > 2.2.7a) also with various rpcclient commands (for > ex. "level" 2 or 3 subcommands for enumprinters > and enumdrivers...). However, adddriver|setdriver > work.... > > immediately > after pop_sec_ctx, whose push counterpart was > invoked before a long series of opening and > closing all normal files in W32X86/3. > > Have you tried to install the Windows NT driver > which goes into "W32X86/2/" > > No. What difference would it make?Weeeellll, don't know. I personally have only 4 or 5 of these "3" drivers ever installed via rpcclient (was going OK), but ~ 100-200 of the old "2" sort. The "2" are old-style and accepted by 2K/XP only in a sort of compatibility mode -- they are running in Kernel Mode, whereas the "3" run in non-Kernel Mode (or so I believe). So it *might* be a difference, in that rpcclient may have a bug related to the one type of drivers, but not to the other. It was just wild speculation and a desperate attempt to give some advice.... But now that we have the guilty one....> My clients are > all W2Ks. > > This is the command I used: > rpcclient -d 4 -Uroot -c 'adddriver \ > "Windows NT x86" \ > "lp:\ > > Just a crazy idea: try to name the thing to something > other than "lp".... > > Doesn't make any difference. > > lexpsnt3.dll:\ > OPC720.PPD:\ > LEXPSNTU.DLL:\ > LEXPSNT.HLP:\ > NULL:\here is missing: RAW:> LEXPSLNG.DLL,LEXDRVX.DLL,LEXFNTRC.DLL,\ > LEXPSHOW.HLP,LEXPSNT.CNT,PTGUIW32.DLL,\ > PTRESW32.DLL,PTAPIW32.DLL,LEXMV95.HLP,\ > DRVNPANT.DLL,LEXDRVIN.EXE,LEXPSNT.ALL,\ > OPTRASBM.DLL,SC1275BM.DLL,K1220BM.DLL,\ > OC1200BM.DLL,OC40BM.DLL,OC45BM.DLL,\ > E855BM.DLL,W810BM.DLL,W820BM.DLL,M410BM.DLL,\ > T61XBM.DLL,T62XBM.DLL,C710BM.DLL,C720BM.DLL,\ > C750BM.DLL,C910BM.DLL,E32XBM.DLL,LMPCLTHK.DLL,\ > LEXCFI.DLL,LEXEDF.DLL,LEXPPDS.ZIP,PTZIPW32.DLL,\ > LEXUNST.ZIP"' p90 > Gosh! That is a long list (34) of "Dependentfiles"! > Did they integrate a sound driver to tell you that > the job is ready?! > > It eMails a snapshot of the piled paper begging to be > picked up from the tray when the job is done.Are you serious? Or just kidding? And this takes 34 additional dependent driver files?? How much in kB gives that?> Seriously, Kurt, isn't there a backdoor to tdb files?Not that I know. Some of our great developers need to step forward on that. This question is too difficult for a little user like me to answer....> Can't I just poke the necessary entries with an hex > editor? It's just a replacement for registries. The > rpcclient utility has the problem, not samba.I believe it is neither - nor. It is rather one of the undersigned... ;-)> Cheers > Dragan > >Cheers, Kurt
Dragan Krnic
2003-May-13 17:29 UTC
[Samba] cli_pipe: return critical error. Error was Call returnedzerobyte(EOF), hilfe!
Uhmmm... looking at that list above a second time, a
little bit more closely, it seems not correct (or
not correctly quoted?). You have only seem to have 7
colon-separated fields, while there are 8 required.
You need:
.................
This would *possibly* map to the files of your driver
like this:
Long Printer Name:\ --> lp:\
Driver File Name:\ --> lexpsnt3.dll:\
Data File Name:\ --> OPC720.PPD:\
Config File Name:\ --> LEXPSNTU.DLL:\
Help File Name:\ --> LEXPSNT.HLP:\
Language Monitor Name:\ --> NULL:\
Default Data Type:\ --> ##### this is
missing: should be "RAW" !! #####
Yeah, you're right. I've missed the RAW DDT. Now
when I complied I got the error from the subject
line.
Something else: I tried enumdrivers. Without level
parm it shows me level 1, but if I specify level 2
or 3, it prints
[Windows 4.0]
Segmentation fault.
Perhaps I should scratch those nt*.tdb's and try
again?
Cheers
Dragan
____________________________________________________________
Get advanced SPAM filtering on Webmail or POP Mail ... Get Lycos Mail!
http://login.mail.lycos.com/r/referral?aid=27005
Dragan Krnic
2003-May-14 20:36 UTC
[Samba] cli_pipe: return critical error. Error was Call returnedzerobyte(EOF), hilfe!
It's time to go back to the future, Kurt. Dump the rusty ol' 2.2.7a and install the kewl new stuff. The problem wasn't really so dramatic. After everything went fine someone wanted to log info about what just happened, boasting how it has successfully added a new printer driver and of course kicks the bucket because the wrapper function sys_adminlog is only called once in all samba in, you guessed it, _spoolss_addprinterdriver@rpc_server/srv_spoolss_nt.c so it wasn't tested very intensively. It's line number 6662 which has to be commented out together with its continuation line 6663 and you have no more problems. Until the wrapper funtion is fixed, you may perhaps chalk up the following info on a blackboard: Print driver name Print driver OS Administrator name Thanks again for your assistance. Cheers Dragan PS.: A little more info is on sambas bug server: https://bugzilla.samba.org/show_bug.cgi?id=82>>You may want to go back to 2.2.7a too -- it is not >>ruled out that you are hitting the same bug as /me > >I may have to go as far back as 2.0.7 to be on the >safe side but I won't. I'll try to fix it here. What >I found out in those profuse logs is that actually >something happens inside tdb_store function in >tdb/tdb.c. It might be a NULL ptr but I'm too tired >to lookit up now. I'll add some more detailed >diagnostics in that function and see where it dies.____________________________________________________________ Get advanced SPAM filtering on Webmail or POP Mail ... Get Lycos Mail! http://login.mail.lycos.com/r/referral?aid=27005
Dragan Krnic
2003-May-15 16:40 UTC
[Samba] cli_pipe: return critical error. Error was Call returnedzerobyte(EOF), hilfe!
Hi Kurt, I've discovered another little glitch in the functon strlen_w of lib/util_unistr.c when it tries to count characters in an empty string. That causes the rpcclient's "enumdrivers 3" command to segment. A simple correction of the loop line 644: for(len = 0; *(src++); len++) so that it should read like this: for(len = 0; src && *(src++); len++) removes that problem too. You can read a little more on this in https://bugzilla.samba.org/show_bug.cgi?id=82 Cheers Dragan>It's time to go back to the future, Kurt. Dump the >rusty ol' 2.2.7a and install the kewl new stuff. The >problem wasn't really so dramatic. After everything >went fine someone wanted to log info about what just >happened, boasting how it has successfully added a >new printer driver and of course kicks the bucket >because the wrapper function sys_adminlog is only >called once in all samba in, you guessed it, >_spoolss_addprinterdriver@rpc_server/srv_spoolss_nt.c >so it wasn't tested very intensively. >It's line number 6662 which has to be commented out >together with its continuation line 6663 and you >have no more problems. Until the wrapper funtion is >fixed, you may perhaps chalk up the following info >on a blackboard: > Print driver name > Print driver OS > Administrator name____________________________________________________________ Get advanced SPAM filtering on Webmail or POP Mail ... Get Lycos Mail! http://login.mail.lycos.com/r/referral?aid=27005
Dragan Krnic
2003-May-16 11:55 UTC
[Samba] cli_pipe: return critical error. Error was Call returnedzerobyte(EOF), hilfe!
Hi Jerry,
| I've discovered another little glitch in the
| function strlen_w of lib/util_unistr.c when it
| tries to count characters in an empty string.
A correction: by empty string I really meant NULL
pointer. Sorry for the confusion.
| That causes the rpcclient's "enumdrivers 3"
| command to segment. A simple correction of the
| loop line 644:
|
| for(len = 0; *(src++); len++)
|
| so that it should read like this:
|
| for(len = 0; src && *(src++); len++)
|
| removes that problem too. You can read a little
| more on this in
|
| https://bugzilla.samba.org/show_bug.cgi?id=82
|
| This actually isn't the correct fix. strlen_w
| *should* core dump given a null pointer. Can yu
| let me know the calling function and I'll fix that
| instead ?
Leaving code that dumps core as diagnostic could
perhaps be substituted by a DEBUG macro like this:
if ( src == NULL)
DEBUG(0,("strlen_w almost dumped core, \
'cause it got a null pointer.\n"));
and then the usual:
for(len = 0; src && *(src++); len++);
A way to list the backtrace at this point without
the hassle of a real core dump might be helpful.
People are reverting back to 2.2.7a because the
thought of a core-dump is simply too frightening.
My fix is ad-hoc. I'm glad that you'll fix the root
cause of it instead of just the symptom. You'll find
a backtrace of the fault at
https://bugzilla.samba.org/show_bug.cgi?id=82
Cheers
Dragan
____________________________________________________________
Get advanced SPAM filtering on Webmail or POP Mail ... Get Lycos Mail!
http://login.mail.lycos.com/r/referral?aid=27005
Reasonably Related Threads
- cli_pipe: return critical error. Error was Call returnedzero byte (EOF), hilfe!
- cli_pipe: return critical error. Error was Call returnedzerobyte(EOF),hilfe!
- error with cupsaddsmb - adddriver
- cli_pipe: return critical error. Error was Call returned zero byte (EOF), hilfe!
- Issues with Samba