Password for the file upload workspace:
4mQ{08v]d#2Nay
-----Original Message-----
From: Bryan Burgin
Sent: Wednesday, November 24, 2010 3:31 PM
To: 'Jeremy Allison'; '[email protected]'; '[email protected]'
Cc: MSSolve Case Email
Subject: RE: [REG:110112076424325]Problem communicating with SPOOLSS, invalid
parameter.
Hi, Jeremy,
Sorry for the delay. Seattle has been shut down with ice and snow.
In reviewing our code, I believe that spoolsv.exe contains the logic that adds
a printer. I attached both the x86 and x64 builds of the Time Travel Trace
(TTT) utility (rename .m_s_i to .msi and execute). TTT will capture debug
information that will allow me to step through the code as if I had a debugger
attached.
Can you capture a Time Travel Trace on your system? If you have easy access to
both x86 and x64, then x86 is preferable.
Once you install this package, it will install the tracer at c:\debuggers\ttt
as tttracer.exe. If you are doing this on a x86 box, you will have to run
"tttracer -initialize" from an elevated Command Prompt once and reboot. This
step isn't required for x64. Then do the following:
-- Run TASKLIST from a Command Prompt. Record the Process ID (PID) for
SPOOLSV.EXE.
-- from \debuggers\ttt, run "TTTRACER -attach <pid>".
-- TTTracer may complain that you are not using the current version. Ignore
this message; this is the latest version.
-- In 15-20 seconds, a small dialog box will appear indicating that TT Tracer
is recording.
-- Repro your situation.
-- Stop TTTracer (a button on the dialog is provided).
Two files will be produced: spoolsv01.run and spoolsv.out. Send both. The
files are likely to be large, so I created you a upload workspace at [...].
I'll send you its password in separate mail.
The second technique we can use to debug this issue is to collect debug spew
from the spooler code via ETW (Event Tracing for Windows). ETW traces can be
obtained via TraceLog (discussed here:
http://msdn.microsoft.com/en-us/library/ff552994.aspx). We will want to
request traces for these providers (by GUID):
C9BF4A9E-D547-4d11-8242-E03A18B5BE01
C9BF4A9F-D547-4d11-8242-E03A18B5BE01
C9BF4A01-D547-4d11-8242-E03A18B5BE01
C9BF4A02-D547-4d11-8242-E03A18B5BE01
C9BF4A03-D547-4d11-8242-E03A18B5BE01
C9BF4A04-D547-4d11-8242-E03A18B5BE01
C9BF4A05-D547-4d11-8242-E03A18B5BE01
C9BF4A06-D547-4d11-8242-E03A18B5BE01
C9BF4A07-D547-4d11-8242-E03A18B5BE01
C9BF4A08-D547-4d11-8242-E03A18B5BE01
C9BF4A09-D547-4d11-8242-E03A18B5BE01
C9BF4A0A-D547-4d11-8242-E03A18B5BE01
C9BF4A0B-D547-4d11-8242-E03A18B5BE01
C9BF4A0C-D547-4d11-8242-E03A18B5BE01
AEFE45F4-8548-42B4-B1C8-25673B07AD8B
B795C7DF-07BC-4362-938E-E8ABD81A9A01
I attached the file spoolerguids.txt. Following Trace Log\Examples\Example 14
" Starting a Trace Session with Multiple Providers", you would:
-- Execute "tracelog -start addprinter -guid spoolerguids.txt -f addprinter.etl"
-- repro your scenario
-- Execute "tracelog -stop"
There should be a addprinter.etl file. Send that.
I attached both the x86 and x64 builds of TraceLog.exe (rename as needed).
My goal is to reproduce this action here between a Windows 7 client and a
Windows Server to verify all these steps, but that is going to be delayed
because of the weather situation up here and the holiday. So, I wanted to send
you what I believe are the correct instructions now so that we can work in
parallel.
Bryan
-----Original Message-----
From: Bryan Burgin
Sent: Monday, November 22, 2010 4:10 PM
To: Jeremy Allison; [email protected]; [email protected]
Cc: MSSolve Case Email
Subject: [REG:110112076424325]Problem communicating with SPOOLSS, invalid
parameter.
Jeremy,
I'm researching this for you. I worked with Guenther on similar
[MS-RPRN]questions during the Samba IO Lab, along with Nick and Tarun from
Microsoft and the Product Group.
The two most detailed debugging techniques would be for me to collect ETW
traces from you or Time Travel Traces (iDNA Traces). Both would involve
receiving logs from you and analyzing them here. As for ETW traces, we would
use TraceLog. I'm reviewing the exact GUIDs you need to specify. As for TT
Traces, I will also send you the tool to capture the iDNA log.
Can you send me a screen shot showing me the "INVALID_PARAMETER error dialog
box (0x00000057)"?
Bryan
-----Original Message-----
From: Jeremy Allison [mailto:[email protected]]
Sent: Friday, November 19, 2010 4:28 PM
To: Interoperability Documentation Help; [email protected];
[email protected]
Cc: [email protected]
Subject: Problem communicating with SPOOLSS, invalid parameter.
Hi Dochelp,
Hongwei and Nick suggested I post this here,
I'm trying to track down an interoperability bug with Samba and the Windows 7
print subsystem.
When doing "connect" to a remote printer from Windows 7 with our latest
auto-generated PIDL code (git master branch) it downloads the printer driver,
then fails with an INVALID_PARAMETER error dialog box (0x00000057).
Of course there is no such error in the wireshark trace, or in the Samba logs
:-(.
The same code (master) doing the same thing to Windows XP
SP3 works perfectly, so my guess is it's some alignment or padding check that
was tightened up for Win7.
Another data point - running Win7 against Samba 3.3.x (which uses the old
hand-marshalled code) and connecting to the same printer works perfectly (one
more data point making me think this is an alignment or padding we're getting
wrong in the new PIDL-generated code).
Is there some registry setting or debug setting I can use to get SPOOLSS.EXE to
tell me what call it's having problems with ? I searched on the 'net for a
SPOOLSS equivalent to "debug log level"
but came up empty :-).
Thanks !
Jeremy.
_______________________________________________
cifs-protocol mailing list
[email protected]
https://lists.samba.org/mailman/listinfo/cifs-protocol