Author Topic: Uconv in Dosbox-X  (Read 364 times)

Jochen Schäfer

  • Sr. Member
  • ****
  • Posts: 406
  • Karma: +33/-0
    • View Profile
Uconv in Dosbox-X
« on: February 09, 2026, 08:12:56 am »
Dosbox-X uses Physfs to access filesystems. Physfs uses Uconv.
When Dosbox-X cannot mount a drive, it destroys the Physfs object, and while doing so, UniFreeUconvObject crashes the program.
The pointer to the DLL functions seems to be valid, the Uconv object seems valid.
I attached the crash log. I can workaround the crash, if I force Physfs to not find uconv.dll, so it works without it.
I don't want to do that, but I don't know how to debug the issue, since this is OS territory.
Any ideas?

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5686
  • Karma: +148/-1
    • View Profile
Re: Uconv in Dosbox-X
« Reply #1 on: February 09, 2026, 04:34:05 pm »
You should install \OS2IMAGE\DEBUG\SYMBOLS\OS2\DLL\UCV32.SYM from your AOS ISO and recreate the trp.

Jochen Schäfer

  • Sr. Member
  • ****
  • Posts: 406
  • Karma: +33/-0
    • View Profile
Re: Uconv in Dosbox-X
« Reply #2 on: February 09, 2026, 04:53:36 pm »
Ah thank you. I tried to to locate the symbols, but couldn't find them.

Jochen Schäfer

  • Sr. Member
  • ****
  • Posts: 406
  • Karma: +33/-0
    • View Profile
Re: Uconv in Dosbox-X
« Reply #3 on: February 10, 2026, 09:58:51 am »
I think, I found the problem. Physfs loads uconv.dll at runtime and uses the signature
Code: [Select]
UniFreeUconvObject(UConvObject*),
while uconv.h and the system documentation say:
Code: [Select]
UniFreeUconvObject(UConvObject).
I removed the pointer, and look, no crashes anymore.

@Dave: Thanks for the hint at the symbol files. That's always useful.