View Issue Details

IDProjectCategoryView StatusLast Update
0001933OpenMPTGeneralpublic2025-12-09 10:32
Reportermrpapersonic Assigned Tomanx  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platformx86_64OSWineOS Version10.20
Product VersionOpenMPT 1.32.05.00 / libopenmpt 0.8.3 (current stable) 
Fixed in VersionOpenMPT 1.32.06.00 / libopenmpt 0.8.4 (upcoming stable) 
Summary0001933: OpenMPT crashes under wine-10.20
Description

OpenMPT always crashes on exit and when handling std::chrono::zoned_time (saving IT/MPTM) under wine-10.20

I've attached a gzip'd backtrace from winedbg.

Steps To Reproduce
  1. Run OpenMPT
  2. Close OpenMPT
TagsNo tags attached.
Attached Files
backtrace.txt.gz (3,077 bytes)
Has the bug occurred in previous versions?No
Tested code revision (in case you know it)r24406

Relationships

related to 0001618 resolvedmanx [Wine/Linux] Issues related to edit history after r17651 

Activities

manx

manx

2025-12-09 07:36

administrator   ~0006523

Fun. Wine 10.20 added icu.dll, without implementing any function in it. MSVC STL optionally uses icu.dll, and if found calls functions in it. Wine just terminates for any called function.

manx

manx

2025-12-09 07:38

administrator   ~0006524

Last edited: 2025-12-09 10:30

This is "fixed" by Wine 11.0-rc1 by not shipping broken icu.dll again, however they threaten to do the same stupid thing in 11.1 again. See https://gitlab.winehq.org/wine/wine/-/commit/ff0d64407266f7b9780f05845dd34c58c11ecae7.

See also https://bugs.winehq.org/show_bug.cgi?id=59046 and https://gitlab.winehq.org/wine/wine/-/commit/1209e096626fff862e81b477335e84d565cd263f#note_123850.

manx

manx

2025-12-09 07:42

administrator   ~0006525

Last edited: 2025-12-09 09:25

This probably not only triggers on OpenMPT exit, but also when doing any std::chrono::duration_cast with std::chrono::system_time using std::chrono::zoned_time. I currently do not remember which code paths would trigger that.

StarWolf3000

StarWolf3000

2025-12-09 08:20

reporter   ~0006526

A temporary workaround is winecfg and switch icu, icuin and icuuc to "Native" (see my comment https://gitlab.archlinux.org/archlinux/packaging/packages/wine-staging/-/issues/12#note_368876).

manx

manx

2025-12-09 08:29

administrator   ~0006527

Upgrading 10.20 to 11.0-rc1 does not help by itself, because the broken bogus icu.dll gets installed into WINEPREFIX by Wine 1.20, and Wine 11,0-rc1 does not remove it when updating the WINEPREFIX. So, updating Wine will only help if you also start with a fresh WINEPREFIX. This is a mess.

manx

manx

2025-12-09 08:30

administrator   ~0006528

Another code path that triggers the crash is saving an IT or MPTM file.

manx

manx

2025-12-09 09:10

administrator   ~0006529

Fixed in

manx

manx

2025-12-09 10:32

administrator   ~0006530

See also https://bugs.winehq.org/show_bug.cgi?id=53354#c7.

Issue History

Date Modified Username Field Change
2025-12-09 01:21 mrpapersonic New Issue
2025-12-09 01:21 mrpapersonic File Added: backtrace.txt.gz
2025-12-09 07:36 manx Assigned To => manx
2025-12-09 07:36 manx Status new => confirmed
2025-12-09 07:36 manx Note Added: 0006523
2025-12-09 07:38 manx Note Added: 0006524
2025-12-09 07:38 manx Status confirmed => assigned
2025-12-09 07:42 manx Note Added: 0006525
2025-12-09 08:20 StarWolf3000 Note Added: 0006526
2025-12-09 08:29 manx Note Added: 0006527
2025-12-09 08:30 manx Note Added: 0006528
2025-12-09 08:40 manx Summary OpenMPT always crashes on exit under wine-10.20 => OpenMPT crashes under wine-10.20
2025-12-09 08:40 manx Description Updated
2025-12-09 09:10 manx Status assigned => resolved
2025-12-09 09:10 manx Resolution open => fixed
2025-12-09 09:10 manx Fixed in Version => OpenMPT 1.32.06.00 / libopenmpt 0.8.4 (upcoming stable)
2025-12-09 09:10 manx Note Added: 0006529
2025-12-09 09:25 manx Note Edited: 0006525
2025-12-09 09:25 manx Note Edited: 0006525
2025-12-09 10:30 manx Note Edited: 0006524
2025-12-09 10:32 manx Note Added: 0006530
2025-12-09 10:32 manx Relationship added related to 0001618