https://bugs.winehq.org/show_bug.cgi?id=55809
Bug ID: 55809 Summary: FEMM 4.2 mesh creation won't run, running an analysis is impossible, works on wine-stable Product: Wine Version: 8.18 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: tefatronix@seznam.cz Distribution: ---
Created attachment 75299 --> https://bugs.winehq.org/attachment.cgi?id=75299 backtrace and test file
FEMM 4.2 built in tool triangle.exe crashes every time an analysis (analysis -> analyze) or mesh creation (mesh -> create mesh) is ran.
the backtrace is attached, a test file (.FEE) - drawn terribly but enough for a test, crashes with others too - is attached too.
Everything works on the stable version.
https://bugs.winehq.org/show_bug.cgi?id=55809
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bernhardu@mailbox.org
--- Comment #1 from Bernhard Übelacker bernhardu@mailbox.org --- Hello, I was able to reproduce a crash, without using native dlls.
https://www.femm.info/wiki/Download https://www.femm.info/wiki/Files/files.xml?action=download&file=femm42bi...
A git bisect leads here: a81c53504ae32715e6e91bd020fdebd5bef20d48 is the first broken commit commit a81c53504ae32715e6e91bd020fdebd5bef20d48 Author: Alexandre Julliard julliard@winehq.org Date: Thu Sep 28 16:30:32 2023 +0200 ntdll: Release the low address space reservation for 64-bit apps.
The partial revert of it like in the other bugs about a81c53504a makes the crash here also go away: --- a/dlls/ntdll/unix/virtual.c +++ b/dlls/ntdll/unix/virtual.c @@ -4400,3 +4400,3 @@ void virtual_set_large_address_space(void) else - free_reserved_memory( 0, (char *)0x7ffe0000 ); + ;//free_reserved_memory( 0, (char *)0x7ffe0000 ); #endif
Looks like another application relying on pointers stay below 32bit. So the bug might be in the application, but does not cause a crash in windows.
https://bugs.winehq.org/show_bug.cgi?id=55809
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de Status|UNCONFIRMED |RESOLVED Regression SHA1| |a81c53504ae32715e6e91bd020f | |debd5bef20d48 Resolution|--- |DUPLICATE
--- Comment #2 from Fabian Maurer dark.shadow4@web.de --- Thanks for the analysis. Marking as dupe of 55833 to collect similar issues.
*** This bug has been marked as a duplicate of bug 55833 ***
https://bugs.winehq.org/show_bug.cgi?id=55809
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #3 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Closing duplicate.
https://bugs.winehq.org/show_bug.cgi?id=55809
--- Comment #4 from Bernhard Übelacker bernhardu@mailbox.org --- Confirming commit f03c3a16 fixes this crash.
https://bugs.winehq.org/show_bug.cgi?id=55809
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|DUPLICATE |FIXED Fixed by SHA1| |f03c3a167c2e4abe92b1e1bf2ea | |5f7c31a07fc3b
--- Comment #5 from Fabian Maurer dark.shadow4@web.de --- Marking fixed by https://source.winehq.org/git/wine.git/commitdiff/f03c3a167c2e4abe92b1e1bf2e...
https://bugs.winehq.org/show_bug.cgi?id=55809
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |RESOLVED
https://bugs.winehq.org/show_bug.cgi?id=55809
--- Comment #6 from Alexandre Julliard julliard@winehq.org --- Confirming application bug, it's using unsigned long (32-bit) for pointer arithmetic:
/* Move to the new block. */ pool->nowblock = (VOID **) *(pool->nowblock); /* Find the first item in the block. */ /* Increment by the size of (VOID *). */ alignptr = (unsigned long) (pool->nowblock + 1); /* Align the item on an `alignbytes'-byte boundary. */ pool->nextitem = (VOID *) (alignptr + (unsigned long) pool->alignbytes - (alignptr % (unsigned long) pool->alignbytes));
(in triangle/triangle.c:poolalloc)
https://bugs.winehq.org/show_bug.cgi?id=55809
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 9.0-rc2.