Public bug reported:

This problem appears only on Ubuntu 20.04 with Wine 5.0 installed from
Ubuntu repository. If I build Wine 5.0 myself or install Wine 4.0.4 from
WineHQ repository, then there is no problem, so I assume the problem is
in Ubuntu 20.04 build of Wine.

I have written a shared library for our application using Winelib project, 
which calls native Linux API. C++ is used. Crash happens on first C++ exception 
thrown.
App which shows the problem:

    #include <stdexcept>
    #include <stdio.h>

    int main() {
        printf("start\n");
        try {
            throw std::runtime_error("desc");
        } catch (std::exception &ex) {
            printf("in catch\n");
        }
        printf("end\n");
    }

built with:

    g++ -c -fPIC t.cpp
    ../wine-git_64/tools/winegcc/wineg++ -m64 -B../wine-git_64/tools/winebuild 
-L ../wine-git_64/dlls/kernel32/ -L ../wine-git_64/dlls/advapi32/ -L 
../wine-git_64/dlls/user32/ -L ../wine-git_64/dlls/winecrt0 -L 
../wine-git_64/dlls/ntdll/ -L ../wine-git_64/libs/wine -o tt t.o

where '../wine-git_64/' is directory where I cloned and built Wine64 5.0 stable 
to get wineg++ linker.
Run the application as:

   wine tt.exe.so

It prints 'start', then it crashes. The application crashes in Wine
(Wine dialog pops-up), so I think Ubuntu is not aware of this crash.
Contents of Wine crash dialog (backtrace.txt):

Unhandled exception: assertion failed, invalid program stack in 64-bit code 
(0x00007fa3b70d118b).
Register dump:
 rip:00007fa3b70d118b rsp:000000000022f1f0 rbp:000000007da59a00 eflags:00000246 
(   - --  I  Z- -P- )
 rax:0000000000000000 rbx:00007fa3b7083b80 rcx:00007fa3b70d118b 
rdx:0000000000000000
 rsi:000000000022f1f0 rdi:0000000000000002  r8:0000000000000000  
r9:000000000022f1f0 r10:0000000000000008
 r11:0000000000000246 r12:000000000022f450 r13:0000000000000001 
r14:0000000000000000 r15:0000000000000004
Stack dump:
0x000000000022f1f0:  0000000000000000 00007fa3b6f0db45
0x000000000022f200:  0000000000000000 00007fa3b6f0db45
0x000000000022f210:  0000000000000000 000000000022f370
0x000000000022f220:  00007fa3b646a2d4 00007fa3b6f0eae1
0x000000000022f230:  00007fa3b6f11cac 00007fa3b6f0eae1
0x000000000022f240:  00007fa3b6473608 0000000000001265
0x000000000022f250:  0000000000000049 00000000000000d1
0x000000000022f260:  000000000000038b 0000000000000000
0x000000000022f270:  fffffffe7fffffff ffffffffffffffff
0x000000000022f280:  ffffffffffffffff ffffffffffffffff
0x000000000022f290:  ffffffffffffffff ffffffffffffffff
0x000000000022f2a0:  ffffffffffffffff ffffffffffffffff
Backtrace:
=>0 0x00007fa3b70d118b execlp+0xffffffffffffffff() in libc.so.6 
(0x000000007da59a00)
  1 0x00007fa3b70b0859 execlp+0xffffffffffffffff() in libc.so.6 
(0x000000007da59a00)
  2 0x00007fa3b6eff667 __floattisf+0xffffffffffffffff() in libgcc_s.so.1 
(0x000000007da59a00)
  3 0x00007fa3b6f0d281 __extendsftf2+0x5590() in libgcc_s.so.1 
(0x000000000022f9b0)
0x00007fa3b70d118b execlp+0xffffffffffffffff in libc.so.6: movq 
0x0000000000000108(%rsp),%rax
Modules:
Module  Address                                 Debug info      Name (21 
modules)
ELF             7b000000-        7b0e2000       Deferred        kernelbase<elf>
  \-PE          7b010000-        7b0e2000       \               kernelbase
ELF             7b400000-        7b68b000       Deferred        kernel32<elf>
  \-PE          7b420000-        7b68b000       \               kernel32
ELF             7bc00000-        7befb000       Deferred        ntdll<elf>
  \-PE          7bc20000-        7befb000       \               ntdll
ELF             7c000000-        7c005000       Deferred        <wine-loader>
ELF         7fa3b6182000-    7fa3b61b2000       Deferred        libtinfo.so.6
ELF         7fa3b61b2000-    7fa3b61db000       Deferred        libncurses.so.6
ELF         7fa3b64d8000-    7fa3b64ec000       Deferred        
libnss_files.so.2
ELF         7fa3b6ed5000-    7fa3b6efc000       Deferred        liblzma.so.5
ELF         7fa3b6efc000-    7fa3b6f17000       Dwarf           libgcc_s.so.1
ELF         7fa3b6f17000-    7fa3b7066000       Deferred        libm.so.6
ELF         7fa3b7066000-    7fa3b7083000       Deferred        libunwind.so.8
ELF         7fa3b7085000-    7fa3b708b000       Deferred        libdl.so.2
ELF         7fa3b708b000-    7fa3b727d000       Dwarf           libc.so.6
ELF         7fa3b727d000-    7fa3b72a0000       Deferred        libpthread.so.0
ELF         7fa3b72a6000-    7fa3b72bc000       Deferred        tt<elf>
  \-PE      7fa3b72b0000-    7fa3b72bc000       \               tt
ELF         7fa3b72bc000-    7fa3b745f000       Dwarf           libwine.so.1
ELF         7fa3b7461000-    7fa3b7491000       Deferred        
ld-linux-x86-64.so.2
Threads:
process  tid      prio (all id:s are in hex)
0000000e services.exe
        00000023    0
        0000001a    0
        00000013    0
        00000010    0
        0000000f    0
00000011 plugplay.exe
        00000017    0
        00000016    0
        00000012    0
00000018 winedevice.exe
        00000020    0
        0000001d    0
        0000001c    0
        0000001b    0
        00000019    0
0000001e explorer.exe
        00000029    0
        00000028    0
        00000027    0
        0000001f    0
00000021 winedevice.exe
        00000026    0
        00000025    0
        00000024    0
        00000022    0
00000039 (D) Z:\home\markok\tmp\tt.exe
        0000003a    0 <==
System information:
    Wine build: wine-5.0 (Ubuntu 5.0-3ubuntu1)
    Platform: x86_64
    Version: Windows 7
    Host system: Linux
    Host version: 5.4.0-33-generic
==========================================

Output in console:

start
wine: Assertion failed at address 00007FA3B70D118B (thread 003a), starting 
debugger...
003a:err:seh:call_stack_handlers invalid frame 7fa3b72b821b (0x132000-0x230000)

** Affects: wine (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1881293

Title:
  native shared library crashes if C++ exceptions are used on Ubuntu
  20.05 Wine64 build

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/wine/+bug/1881293/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to