[Bug 59732] New: Custom WinXP/7 app printing garbled from wine 9 onwards
http://bugs.winehq.org/show_bug.cgi?id=59732 Bug ID: 59732 Summary: Custom WinXP/7 app printing garbled from wine 9 onwards Product: Wine Version: 9.0 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@list.winehq.org Reporter: hugoac2004@gmail.com Distribution: --- My company have (for a decade or so) a WindowsXP/7 kind of application for general running of our business (nothing standard like, say, Microsoft Office). For all this time, I've mostly managed to make it work on Debian/Devuan Linux and Wine. Nowadays, we're using mostly Devuan Daedalus / Debian Bookworm and Wine 8, the app works perfectly. Then I've started testing Devuan Excalibur / Debian Trixie which comes with Wine 10, and I've learned it had ODBC broken which in turn broke my app. No matter, I installed wine-stable 9 from winehq, and it worked just fine. Or so I thought... Someone else which was testing the app on wine 9 let me know about several "documents" which the app prints to PDF or physical printers, which on wine 8 comes out perfectly, but on wine 9 and onwards come out garbled. You can see here on https://shorturl.at/RJ107 an example of a document printed all right, and the same document printed garbled at https://shorturl.at/q5Rjw Up to now I've had the same results with wine-stable 11 and wine-staging up to 11.8. What I'd like to know if there's some way to debug the printing, perhaps with WINEDEBUG? I've read something about "+winspool" and "+cups" -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #1 from Rafał Mużyło <galtgendo@o2.pl> --- Even if you are (for reasons) unable/unwilling to run a bisect regression test, would you at least narrow down the range to the specific version when things got broken ? I'm not sure which debug channel would be relevant, but it's more likely something like 'psdrv' as you've said even printing to pdf files is affected. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #2 from hascc <hugoac2004@gmail.com> --- I know it works up to wine-stable 8.0.2 which is the latest wine 8 available on winehq.org repo. apt-cache madison tells me there's wine-staging from 8.11 to 8.21 available in that repo, I will try all those and get back. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 Bernhard Übelacker <bernhardu@mailbox.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bernhardu@mailbox.org --- Comment #3 from Bernhard Übelacker <bernhardu@mailbox.org> --- Hello, I guess the wine-devel branch was expected to be tested, not wine-stable or wine-staging. Due to "apt-cache policy wine-devel" there are currently packages for Debian Bookworm in the winehq repository in the range from 6.16~bookworm-1 to 11.8~bookworm-1. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 Austin English <austinenglish@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |printing, regression -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #4 from hascc <hugoac2004@gmail.com> --- (In reply to Bernhard Übelacker from comment #3)
Hello, I guess the wine-devel branch was expected to be tested, not wine-stable or wine-staging.
Due to "apt-cache policy wine-devel" there are currently packages for Debian Bookworm in the winehq repository in the range from 6.16~bookworm-1 to 11.8~bookworm-1.
Thank you, I'll get going a fresh bookworm install to test every wine-devel and get back with results. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #5 from hascc <hugoac2004@gmail.com> --- Hello, I've tested wine-devel from 8.1 onwards on a fresh bookworm / daedalus. The results up to now are: * Wine-devel up to 8.7 "prints" that particular report perfectly. * Wine-devel from 8.8 to 8.12 crashes / does segmentation fault when trying to print that report. * Wine-devel 8.13 prints without crashing, but it prints the "garbled" way. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #6 from Rafał Mużyło <galtgendo@o2.pl> --- Well, given that 8.8 had a major wineps.drv rework, that's likely what broke. I wonder what corner case your app covers, that hasn't been stumbled upon for all that time elsewhere... (8.13 doesn't have anything labeled 'crash fix', but one of the psdrv commits fixes a potential div by zero, so perhaps...) So, a 'psdrv' log from 8.8 and 8.13 each, if you don't mind, given that only you have access to the app. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 Stian Low <wineryyyyy@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wineryyyyy@gmail.com --- Comment #7 from Stian Low <wineryyyyy@gmail.com> --- Does running `wine winecfg /v win7` change anything? Seems unlikely that a custom app would have Windows version specific logic but it changes behavior of some apps especially some games and since you mention XP/7 explicitly it may matter. I'm not exactly sure when default version of Windows was changed to 10 but it may have been around the time between the versions that you are testing and therefore may to be reset manually back to prior version. You can run `wine winecfg /v` to check Windows version set for each wine versions you are testing. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #8 from Stian Low <wineryyyyy@gmail.com> --- (In reply to Stian Low from comment #7)
Does running `wine winecfg /v win7` change anything?
Seems default wine version was changed from win7 to win10 between 8.0 and 8.1 so version date seems to line up with your reports: 69154f0329aec4fb64886a0689da198b5323dcde Author: Hans Leidekker <hans@codeweavers.com> AuthorDate: Mon Jan 23 13:15:07 2023 +0100 Commit: Alexandre Julliard <julliard@winehq.org> CommitDate: Wed Feb 1 17:11:47 2023 +0100 Parent: 2ccc2a42d7e ntdll: Add Windows 11 version. Contained: bug_45364_vk_unorm_vs_srgb master stable Follows: wine-8.0 (263) Precedes: wine-8.1 (37) ntdll: Default to Windows 10. modified dlls/ntdll/version.c @@ -473,7 +473,7 @@ void version_init(void) NtQuerySystemInformation( SystemWineVersionInformation, wine_version, sizeof(wine_version), NULL ); - current_version = &VersionData[WIN7]; + current_version = &VersionData[WIN10]; RtlOpenCurrentUser( KEY_ALL_ACCESS, &root ); attr.Length = sizeof(attr); -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #9 from hascc <hugoac2004@gmail.com> --- (In reply to Rafał Mużyło from comment #6)
Well, given that 8.8 had a major wineps.drv rework, that's likely what broke. I wonder what corner case your app covers, that hasn't been stumbled upon for all that time elsewhere...
(8.13 doesn't have anything labeled 'crash fix', but one of the psdrv commits fixes a potential div by zero, so perhaps...)
So, a 'psdrv' log from 8.8 and 8.13 each, if you don't mind, given that only you have access to the app.
That would be trying WINEDEBUG="+psdrv" for each version? Will do, thank you. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #10 from hascc <hugoac2004@gmail.com> --- (In reply to Rafał Mużyło from comment #6)
Well, given that 8.8 had a major wineps.drv rework, that's likely what broke. I wonder what corner case your app covers, that hasn't been stumbled upon for all that time elsewhere...
(8.13 doesn't have anything labeled 'crash fix', but one of the psdrv commits fixes a potential div by zero, so perhaps...)
So, a 'psdrv' log from 8.8 and 8.13 each, if you don't mind, given that only you have access to the app.
Greetings again, here I'll add links for winedebugs from wine-devel 8.7 to 8.13: * https://shorturl.at/ZL3oU - test wine-devel 8.7, prints OK * https://shorturl.at/DxpvF - test wine-devel 8.8, crash at printing * https://shorturl.at/WDpHm - test wine-devel 8.9, crash at printing * https://shorturl.at/wce9d - test wine-devel 8.10, crash at printing * https://tinyurl.com/yp5hjte8 - test wine-devel 8.11, crash at printing * https://shorturl.at/jhWz2 - test wine-devel 8.12, crash at printing * https://tinyurl.com/yc56zaew - test wine-devel 8.13, prints garbled -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #11 from Rafał Mużyło <galtgendo@o2.pl> --- So, I'm still parsing the two logs, but two things: 1. As a point of order, these logs should be attached, so that the bug doesn't depend on external links that may expire. 2. I'll probably find it in the logs shortly, but I feel a need to ask: the screenshots are in different resolutions, but PSDRV_ExtTextOut gets same coordinates in both 8.7 and 8.13 logs... Any chance it's about a change in paper size ? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #12 from Rafał Mużyło <galtgendo@o2.pl> --- ...actually, there might be one more thing: I'm not sure what's the quality of pdf files produced by wine, but if they're better that 'drop everything in a page as a single bitmap', then two such files printing the same document might offer even more info than the debug logs. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #13 from hascc <hugoac2004@gmail.com> --- Created attachment 80994 --> http://bugs.winehq.org/attachment.cgi?id=80994 Document printed on wine-devel 8.13 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #14 from hascc <hugoac2004@gmail.com> --- Created attachment 80995 --> http://bugs.winehq.org/attachment.cgi?id=80995 Document printed on wine-devel 8.8 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 hascc <hugoac2004@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #80995|Document printed on |Document printed on description|wine-devel 8.8 |wine-devel 8.7 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #15 from hascc <hugoac2004@gmail.com> --- Greetings, the document is A4 size, it shouldn't get its size changed. Unless wine somehow decided to change it on its own... Also, I've included PDFs of the same document printed on 8.7 and 8.13 (all spanish legal jargon, sorry). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #16 from Stian Low <wineryyyyy@gmail.com> --- (In reply to hascc from comment #15)
Greetings, the document is A4 size, it shouldn't get its size changed. Unless wine somehow decided to change it on its own...
Also, I've included PDFs of the same document printed on 8.7 and 8.13 (all spanish legal jargon, sorry).
Seems like a page break bug. Is PDF handled by a 3rd party lib? I suggested changing winecfg from default win10 to win7 or winxp because 3rd party PDF libs may change behavior for different Windows versions. Again win10 was changed from default win7 to win10 sometime around the versions you are testing so it may be a quick simple fix to switch back to win7 for now. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #17 from hascc <hugoac2004@gmail.com> --- (In reply to Stian Low from comment #16)
(In reply to hascc from comment #15)
Greetings, the document is A4 size, it shouldn't get its size changed. Unless wine somehow decided to change it on its own...
Also, I've included PDFs of the same document printed on 8.7 and 8.13 (all spanish legal jargon, sorry).
Seems like a page break bug.
Is PDF handled by a 3rd party lib?
I suggested changing winecfg from default win10 to win7 or winxp because 3rd party PDF libs may change behavior for different Windows versions.
Again win10 was changed from default win7 to win10 sometime around the versions you are testing so it may be a quick simple fix to switch back to win7 for now.
It doesn't make a difference switching to win7 nor winxp on 8.13, but win10 and 8.7 prints OK. I don't think it would be 3rd party lib issue, since it happens when printing to a physical printer as well, also the only thing changing in testing is wine-devel version, nothing else. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #18 from Stian Low <wineryyyyy@gmail.com> --- (In reply to hascc from comment #17)
It doesn't make a difference switching to win7 nor winxp on 8.13, but win10 and 8.7 prints OK.
Thanks for confirming Windows versions are not an obvious factor. dlls/wineps.drv lacks tests which should probably be added for regression testing cases when custom apps are unavailable. Without a sample app to reproduce the bug it will probably take more time to track the regression. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #19 from hascc <hugoac2004@gmail.com> --- (In reply to Stian Low from comment #18)
Without a sample app to reproduce the bug it will probably take more time to track the regression.
Oh for sure, if I'm the only one in the world who can test the app, it will be hard indeed. It is what it is. I'm in no rush at all. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #20 from Rafał Mużyło <galtgendo@o2.pl> --- Looking at those pdf files, two things become noticeable: 1. In the later version (one with visible errors), the glyphs are far more micromanaged and badly so: they get pushed out of position, pushing some of them out of the bounding box. That might be a wine bug. 2. ...you know, wine might have accidentally discovered a bug in your app. Well, that or even wine 8.7 has a bug, just one of a different sort: note that - for example - 'CLÁUSULA DECIMA' is present in both logs twice: at (172, 3136) and later at (172, 234), but in the 8.7 pdf file the second one is not present (not invisible, but simply not there). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #21 from Rafał Mużyło <galtgendo@o2.pl> --- ...just to clarify: when I've said 'Looking at those pdf files', that was (mostly) wrt. files' content, not just what the viewers show. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #22 from hascc <hugoac2004@gmail.com> --- (In reply to Rafał Mużyło from comment #21)
...just to clarify: when I've said 'Looking at those pdf files', that was (mostly) wrt. files' content, not just what the viewers show.
I assumed you were doing some sort of 'cat document.pdf' to see the actual contents. Now, a bug in my app maybe? A bug which only gets triggered from wine 8.x something and onwards? Methinks that would be weird, but who knows. Maybe I should try getting winedebug from earlier wine-devel 8.x versions as well? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #23 from Rafał Mużyło <galtgendo@o2.pl> --- Well, something prints those extra entries. It's not clear if that's a wine bug that till 8.7 was suppressed by some kind of bounding box clipping or if it is the app itself that's adding them for some odd reason (and why Windows don't show that problem...maybe wine isn't cleaning up some buffer on page change ?). (...) Regardless of above, the other part - glyph position distortion - does seem a genuine *wine* bug. As for how I've checked it, 'mutool clean -d' from MuPDF lets you do it (as long as afterwards you can infer the basics of pdf file syntax). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #24 from Rafał Mużyło <galtgendo@o2.pl> --- ...so, at this point, perhaps we should get one of the devs, probably the author of that wineps.drv commit series CCd (and set the component of this bug, cause with somewhat high confidence it's identified).... -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 hascc <hugoac2004@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |wineps.drv Summary|Custom WinXP/7 app printing |Custom WinXP/7 app printing |garbled from wine 9 onwards |garbled from wine-devel | |8.13 onwards Version|9.0 |8.13 Severity|normal |minor -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 Dmitry Timoshkov <dmitry@baikal.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|wineps.drv |-unknown --- Comment #25 from Dmitry Timoshkov <dmitry@baikal.ru> --- Without a proper regression test guessing a component won't help much. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #26 from hascc <hugoac2004@gmail.com> --- (In reply to Dmitry Timoshkov from comment #25)
Without a proper regression test guessing a component won't help much.
I'll learn about how to do "regression tests". -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #27 from Rafał Mużyło <galtgendo@o2.pl> --- (In reply to Dmitry Timoshkov from comment #25)
Without a proper regression test guessing a component won't help much.
Ah, yes and no. While generally, 'going by the feels' isn't the right approach, at this point we should be at about 'reasonable cause' level. It could still be something else, but available evidence points strongly towards that commit series, at least when it comes to the glyph distortion. The 'extra bits' part is - going by the logs - a problem of a different sort, but someone with deep enough understanding of that code would still be helpful... (not to mentioned, that due to that crash, a proper bisect would be far from simple - first you need to establish which commit causes the crash, then create a branch with that commit merged into the one introducing the crashing code then rerun the bisect; that is unless you want to play pingpong with manually reapplying the commit each bisect step then resetting) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #28 from Rafał Mużyło <galtgendo@o2.pl> --- (minor correction: first...that *fixes* the crash...) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #29 from Bernhard Übelacker <bernhardu@mailbox.org> --- Because this bisect may not be trivial, is there maybe some more information available about the application? Is it possible to get some informations, which frameworks or APIs it uses? Maybe it is possible to strip it down to a minimum test application, that includes only the printing part with some static data? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #30 from hascc <hugoac2004@gmail.com> --- (In reply to Bernhard Übelacker from comment #29)
Because this bisect may not be trivial, is there maybe some more information available about the application? Is it possible to get some informations, which frameworks or APIs it uses?
Only thing I know, it's built on "powerbuilder".
Maybe it is possible to strip it down to a minimum test application, that includes only the printing part with some static data?
That would be great, but I do not mantain the app, nor can I get its source or anything, unfortunately. We just get an EXE file and some DLLs. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #31 from Austin English <austinenglish@gmail.com> --- (In reply to hascc from comment #26)
(In reply to Dmitry Timoshkov from comment #25)
Without a proper regression test guessing a component won't help much.
I'll learn about how to do "regression tests".
https://gitlab.winehq.org/wine/wine/-/wikis/Regression-Testing -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59732 --- Comment #32 from Bernhard Übelacker <bernhardu@mailbox.org> --- (In reply to hascc from comment #30)
(In reply to Bernhard Übelacker from comment #29)
Because this bisect may not be trivial, is there maybe some more information available about the application? Is it possible to get some informations, which frameworks or APIs it uses?
Only thing I know, it's built on "powerbuilder".
Maybe it is possible to strip it down to a minimum test application, that includes only the printing part with some static data?
That would be great, but I do not mantain the app, nor can I get its source or anything, unfortunately. We just get an EXE file and some DLLs.
Is the executable surrounded by some files with names pbvm*.dll? They may allow some guessing about the used version of powerbuilder? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla