[GCP] Standalone Windows Service breaks in M54 Beta. |
|||||||||||||
Issue descriptionVersion: Chrome browser 54.0.2840.16 Beta 64 bit OS: Windows 10 Pro, Windows 7 Pro, both 64 bit. What steps will reproduce the problem? (1) Register GCP using the Windows standalone service. (2) Make sure you have installed Chrome version detailed above. (3) Send a print job. What is the expected output? Printjobs should reach the printer, and be printed. What do you see instead? All print jobs end up in error. Additional info: The GCP standalone service is working fine in current stable version 53.0.2785.101. but the behavior it has in beta is similar to crbug.com/638516, which was affecting v52. If we don't take a look at it at this time, when 54 hits stable, the issue will come back, and we'll receive a lot of reports. Backup info: * All print jobs end up in 'Error'. See: *================================================* "id": "4113c863-c1e6-6209-1fda-7607baea319f", "rasterUrl": "https://www.google.com/cloudprint/download?id\u003d4113c863-c1e6-6209- 1fda- 7607baea319f\u0026forcepwg\u003d1", "contentType": "application/pdf", "status": "ERROR" *================================================* By looking at the GCP debug log, we find 'Spool failed' error: *================================================* [5264:3432:0913/102600:VERBOSE1:cloud_print_url_fetcher.cc(164)] CP_PROXY: OnURLFetchComplete, url: https://www.google.com/cloudprint/control?jobid=4113c863-c1e6-6209-1fda-7607baea319f&status=IN_PROGRESS&connector_code=0, response code: 200 [5264:3432:0913/102600:VERBOSE1:printer_job_handler.cc(420)] CP_CONNECTOR: Handling success status update response, printer id: 9e6e4a97-5c67-862e-4225-4e77390e5da3 [5264:3432:0913/102600:VERBOSE1:printer_job_handler.cc(510)] CP_CONNECTOR: Starting printing, printer id: 9e6e4a97-5c67-862e-4225-4e77390e5da3 [5264:2388:0913/102600:VERBOSE1:printer_job_handler.cc(262)] CP_CONNECTOR: Job failed (spool failed) *================================================* The Windows print spool logs, we see that 0 bytes of data were delivered to the printer: *================================================* Date: 13/09/2016 10:26:00 a.m. Event ID: 372 Task Category: Printing a document Level: Error Keywords: Classic Spooler Event,Document Print Job User: ****\**** Computer: **** Description: The document Print Document, owned by ****, failed to print on printer Canon MG2400 series. Try to print the document again, or restart the print spooler. Data type: NT EMF 1.008. Size of the spool file in bytes: 0. Number of bytes printed: 0. Total number of pages in the document: 0. Number of pages printed: 0. Client computer: \\******. Win32 error code returned by the print processor: 259. No more data is available. *================================================* ** One more last note: I tried registering the printers with the Chrome connector (browser only) in 54.0.2840.16 Beta, and printers won't show up in the user's printer list even though the service state file is correctly created in the 'User Data' folder. However, if I backup that service state file, and then install the 53 current stable, printers show up. Printers registered with the browser only in v53 remain without any problem if you update to Beta. This last note needs more testing, but the GCP standalone service breaks for sure in 54 Beta.
,
Sep 13 2016
We need help to triage this quickly. Could this be a repeat of b/30751864 due to missing merges ?
,
Sep 13 2016
Adding stable block as this is going to cripple printing service. Repro confirmed by support agents.
,
Sep 13 2016
This issue seems to be slightly different from b/30751864. The previous workaround which is to use the browser as connector doesn't work anymore as stated in the bug description: " One more last note: I tried registering the printers with the Chrome connector (browser only) in 54.0.2840.16 Beta, and printers won't show up in the user's printer list even though the service state file is correctly created in the 'User Data' folder. However, if I backup that service state file, and then install the 53 current stable, printers show up. Printers registered with the browser only in v53 remain without any problem if you update to Beta. This last note needs more testing, but the GCP standalone service breaks for sure in 54 Beta."
,
Sep 14 2016
,
Sep 14 2016
I was able to repro as well using gcp windows service (not the cups version) on Windows 10 with Chrome 54.0.2840.16 beta-m (64-bit) Logs and screenshots found below: https://drive.google.com/drive/folders/0B6fESMmJITTNcF9uVWdVOFhtNjQ?usp=sharing
,
Sep 14 2016
,
Sep 14 2016
I'm OOO this week. Please consider reassigning if this issue needs to be resolved this week.
,
Sep 14 2016
If this is a repeat of b/30751864, then 54.0.2817.0 was a working build. Someone needs to track down when it broke between that build and 54.0.2840.x.
,
Sep 14 2016
Well, I happen to have my test laptop. If I tested correctly, this worked in 54.0.2833.0 but broke in 54.0.2834.0. Not seeing any obvious problems in the changelog though. The symptom is different from the previous bug. This time, the print job stays in the queue for 5+ minutes, whereas in the other bug, it would have errored out already.
,
Sep 14 2016
,
Sep 14 2016
Can you expand more on step 1. in c#0 "Register GCP using the Windows standalone service.". what does that means and where can I get this? Do I need a physical printer (I don't have one) - can I do step 3. to print to e.g. PDF or XPS? With clarification on the exact repro, I can try and bisect.
,
Sep 14 2016
The Standalone service isn't required. This bug should also be reproducible with the built in Cloud Print connector.
,
Sep 14 2016
My understanding is that this issue exists with the Windows Service which is a wrapper for the Chrome connector. The standalone connector is written in Go and does not need Chrome to be installed at all. Windows service is at: https://support.google.com/a/answer/3179170?hl=en Standalone Go connector source is at https://github.com/google/cloud-print-connector and has no official binary MSI release yet though we have a RC build floating around. hernandezma@ can you confirm which you were using?
,
Sep 14 2016
A worthwhile test here would be to see if the problem persists in the Standalone Connector. My hunch is that it doesn't, which would lead me to believe the issue is confined to Chrome (and probably outside of the connector itself).
,
Sep 14 2016
Hey Jay we were using Windows service is at: https://support.google.com/a/answer/3179170?hl=en.
,
Sep 14 2016
+ weili@ to help dig into this further while Lei's ooo (just saw wfh@'s comment 12 - thanks Will!)
,
Sep 14 2016
To address c#12, 1. Install the GCP Windows service you get from https://tools.google.com/dlpage/cloudprintservice 2. Install Chrome browser beta release from https://www.google.com/chrome/browser/beta.html 3. After installing both, run the service and register printers. 4. Print anything to the recently registered printers. ** I've not tried to PDF or XPS virtual printers yet, but assuming that the print job will be sent to the Windows Print Spooler to be processed before creating those file types, I'd say that the result will be exact the same.
,
Sep 16 2016
My initial investigation showed https://codereview.chromium.org/2221153003/ is most likely the culprit. Seems the mojo change affects the communication with GCP connector.
,
Sep 17 2016
,
Sep 19 2016
So the GCP service executable is a separate binary from Chrome? Is it built from Chromium sources or something else? Please tell me how I can get a local test environment running. It also seems we're missing some very basic test coverage here since the breaking CL landed over a month ago and is no longer safe to revert.
,
Sep 19 2016
rockot: See comment 18. - It is a separate executable that you can download/install/run. - It's compatible with any version of Chrome from the last 2-3 years. - If you do your own local build, do a non-official Chrome branded build and build the mini-installer target. To test your own build: - Stop the GCP service. - Uninstall any existing copy of Chrome. - Run your mini-installer. - Restart the service.
,
Sep 19 2016
OK, but is if the separate executable is built from Chromium sources, or is there some other implementation of Chrome IPC floating around somewhere in a separate repo?
,
Sep 19 2016
"but want I want to know is* if the separate executable"...
,
Sep 19 2016
rockot: As for test coverage - we are definitely missing end-to-end test coverage, and this is the second known breakage this quarter. There is a still to be completed post-mortem for the last breakage that royans is putting together. I imagine whatever recommendations there applies here as well. As for r413232, I'm not even sure what's breaking. Maybe there's some opportunities to add more unit / browser test coverage?
,
Sep 19 2016
The GCP service binary is ~3 years old, and has remained the same this entire timre. The source is no longer in the Chromium repo. It was deleted in r376593 but it's still in the git history. I didn't write any of the code, but the files that refer to IPC are cloud_print/service/win/service_listener.cc and cloud_print/service/win/setup_listener.cc.
,
Sep 19 2016
M-54 Stable release is scheduled during the first week of OCT, please have the fix baked/verified in canary and request a merge to M54 ASAP.
,
Sep 19 2016
OK - looking
,
Sep 22 2016
Having trouble reproing this on ToT. Will see if I can get it on beta. If so perhaps some of sammc's work after branch fixed it and we can merge stuff.
,
Sep 22 2016
Can someone please elaborate on the repro steps? I don't know what it means to "run the service" and I don't know how to register a printer. I run the cloud print installer, I install Chrome, and I print to a cloud printer. That all works (in M54 and on ToT) so I must be missing some crucial repro step. I don't see a GCP service listed with other Windows services, so I assume "service" must mean something different in this context. Thanks!
,
Sep 22 2016
I'll ping you on chat.
,
Sep 23 2016
I have confirmed locally that this has been fixed by https://crrev.com/3cb38fd23571822bf08c79d90a0ec49ea486492a. It's a trivial change and is safe to merge into 2840 branch ASAP.
,
Sep 23 2016
Richard, could you please approve the merge.The fix is verified as per #32.
,
Sep 23 2016
,
Sep 26 2016
Please merge your change to M54 (branch: 2840) ASAP so that we could take this for next Beta Release.
,
Sep 26 2016
Sorry, forgot to link the bug to the merge CL. It was merged in https://crrev.com/93796f6b. |
|||||||||||||
►
Sign in to add a comment |
|||||||||||||
Comment 1 by hernandezma@chromium.org
, Sep 13 201617.3 KB
17.3 KB View Download
1.3 KB
1.3 KB View Download
2.0 KB
2.0 KB View Download