[Bug 51139] Application T at X 2021 freezes when trying to transmit data to Elster (German Tax Application)

WineHQ Bugzilla wine-bugs at winehq.org
Thu Jul 29 14:56:05 CDT 2021


https://bugs.winehq.org/show_bug.cgi?id=51139

ms <mst.misc at arcor.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bunglehead at gmail.com,
                   |                            |conmanx360 at gmail.com,
                   |                            |hverbeet at gmail.com,
                   |                            |mst.misc at arcor.de

--- Comment #9 from ms <mst.misc at arcor.de> ---
the crash or hang is in d2d1.dll.

with Fedora 34's Wine 6.13 this crash occurs by stack overflow:
 0104:err:virtual:virtual_setup_exception stack overflow 1220 bytes in thread
0104 addr 0x219dedc2 stack 0x1df0b3c (0x1df0000-0x1df1000-0x1ef0000

haven't had any luck with winedbg, it doesn't show any debuginfo.

building current master 04d52eb83fa5c37cfe1100f435e36c2f78918338 and then
linking the new d2d1.dll into /usr, some added debug tracing in geometry.c
helped to pin down the problem.

oddly enough, the problem manifests as an infinite loop now, not a stack
overflow any more, probably because of different optimization flags.

in d2d_geometry_resolve_beziers() the innermost of 3 while loops never
terminates, because there's a point that has x and y both NaN.

the NaN was created in d2d_geometry_add_bezier_line_intersections() because "t"
is NaN because it's created by dividing 0 by 0.

unfortunately am rather clueless about graphics, so have only found a
workaround "if (isnan(t)) {return TRUE;}" that prevents the crash, the
resulting images are obviously wrong as most of the text is missing.

-- 
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.



More information about the wine-bugs mailing list