Jump to content

TTF segfault woes.


Insidious611

Recommended Posts

Posted

I installed Icewind Dale Complete from GOG on Debian, using game-data-packager to package up the game data, and then installing the gemrb-icewind-dale package to run it. This installed GemRB 0.8.3. It seems to work well enough, except the dialogue font is really pixelated and hard to read. So I decided to try the TTF font replacement stuff. However, if I try to load a TTF font, *any* TTF font, GemRB immediately segfaults. Can't figure out why.

 

Here's my log:

dmorrison@shodan /usr/share/gemrb/icewind-dale-1-en/override $ icewind-dale-how 
[Core]: GemRB Core Version v0.8.3 Loading...
[Config]: attempting to initialize config with /etc/gemrb/icewind-dale-how.cfg
[Core]: Initializing the Event Manager...
[Core]: Starting Plugin Manager...
[PluginMgr]: Loading Plugins from /usr/lib/gemrb/plugins
[PluginLoader]: Loaded plugin "Directory Importer" (DirectoryImporter.so).
[PluginLoader]: Loaded plugin "ACM File Importer" (ACMReader.so).
[PluginLoader]: Loaded plugin "VLC Video Player" (VLCPlayer.so).
[PluginLoader]: Loaded plugin "SAV File Importer" (SAVImporter.so).
[PluginLoader]: Loaded plugin "WMP File Importer" (WMPImporter.so).
[PluginLoader]: Loaded plugin "2DA File Importer" (2DAImporter.so).
[PluginLoader]: Loaded plugin "BMP File Writer" (BMPWriter.so).
[PluginLoader]: Loaded plugin "SDL Audio Driver" (SDLAudio.so).
[PluginLoader]: Loaded plugin "CRE File Importer" (CREImporter.so).
[PluginLoader]: Loaded plugin "Effect opcodes for core games" (FXOpcodes.so).
[PluginLoader]: Loaded plugin "WAV File Importer" (WAVReader.so).
[PluginLoader]: Loaded plugin "GAM File Importer" (GAMImporter.so).
[PluginLoader]: Loaded plugin "INI File Importer" (INIImporter.so).
[PluginLoader]: Loaded plugin "Null Sound Driver" (NullSound.so).
[PluginLoader]: Loaded plugin "TTF Font Importer" (TTFImporter.so).
[PluginLoader]: Loaded plugin "ARE File Importer" (AREImporter.so).
[PluginLoader]: Loaded plugin "PNG File Importer" (PNGImporter.so).
[PluginLoader]: Loaded plugin "EFF File Importer" (EFFImporter.so).
[PluginLoader]: Loaded plugin "WED File Importer" (WEDImporter.so).
[PluginLoader]: Loaded plugin "BAM File Importer" (BAMImporter.so).
[PluginLoader]: Loaded plugin "BIF File Importer" (BIFImporter.so).
[PluginLoader]: Loaded plugin "OpenAL Audio Driver" (OpenALAudio.so).
[PluginLoader]: Loaded plugin "GUI Script Engine (Python)" (GUIScript.so).
[PluginLoader]: Loaded plugin "Effect opcodes for the torment branch of the games" (PSTOpcodes.so).
[PluginLoader]: Loaded plugin "MVE Video Player" (MVEPlayer.so).
[PluginLoader]: Loaded plugin "Null Resource Source" (NullSource.so).
[PluginLoader]: Loaded plugin "OGG File Importer" (OGGReader.so).
[PluginLoader]: Loaded plugin "TLK File Importer" (TLKImporter.so).
[PluginLoader]: Loaded plugin "CHU File Importer" (CHUImporter.so).
[PluginLoader]: Loaded plugin "BMP File Reader" (BMPImporter.so).
[PluginLoader]: Loaded plugin "IDS File Importer" (IDSImporter.so).
[PluginLoader]: Loaded plugin "STO File Importer" (STOImporter.so).
[PluginLoader]: Loaded plugin "TIS File Importer" (TISImporter.so).
[PluginLoader]: Loaded plugin "DLG File Importer" (DLGImporter.so).
[PluginLoader]: Loaded plugin "BIK Video Player" (BIKPlayer.so).
[PluginLoader]: Loaded plugin "PRO File Importer" (PROImporter.so).
[PluginLoader]: Loaded plugin "PLT File Importer" (PLTImporter.so).
[PluginLoader]: Loaded plugin "ZLib Compression Manager" (ZLibManager.so).
[PluginLoader]: Loaded plugin "SDL2 GL Video Driver" (SDLVideo.so).
[PluginLoader]: Loaded plugin "Effect opcodes for the icewind branch of the games" (IWDOpcodes.so).
[PluginLoader]: Loaded plugin "MOS File Importer" (MOSImporter.so).
[PluginLoader]: Loaded plugin "KEY File Importer" (KEYImporter.so).
[PluginLoader]: Loaded plugin "MUS File Importer" (MUSImporter.so).
[PluginLoader]: Loaded plugin "SPL File Importer" (SPLImporter.so).
[PluginLoader]: Loaded plugin "ITM File Importer" (ITMImporter.so).
[Core]: Plugin Loading Complete...
[Core]: GemRB Core Initialization...
[Core]: Initializing Video Driver...
[SDL 2 GL Driver]: Creating display
[SDL 2 GL Driver]: Creating Main Surface: w=1024 h=768 fmt=SDL_PIXELFORMAT_RGBA8888
[Core]: Initializing Search Path...
[ResourceManager/WARNING]: Invalid path given: /usr/share/gemrb/icewind-dale-1-en/portraits (Portraits)
[ResourceManager/WARNING]: Invalid path given: /usr/share/gemrb/icewind-dale-1-en/data/Data (Data)
[ResourceManager/WARNING]: Invalid path given: /usr/share/gemrb/icewind-dale-1-en/cd1/data (CD1/data)
[ResourceManager/WARNING]: Invalid path given: /usr/share/gemrb/icewind-dale-1-en/data/CD2/data (CD2/data)
[ResourceManager/WARNING]: Invalid path given: /usr/share/gemrb/icewind-dale-1-en/data/CD3/data (CD3/data)
[ResourceManager/WARNING]: Invalid path given: /usr/share/gemrb/icewind-dale-1-en/CD4/data (CD4/data)
[ResourceManager/WARNING]: Invalid path given: /usr/share/gemrb/icewind-dale-1-en/data/CD4/data (CD4/data)
[ResourceManager/WARNING]: Invalid path given: /usr/share/gemrb/icewind-dale-1-en/CD5/data (CD5/data)
[ResourceManager/WARNING]: Invalid path given: /usr/share/gemrb/icewind-dale-1-en/data/CD5/data (CD5/data)
[ResourceManager/WARNING]: Invalid path given: /usr/share/gemrb/icewind-dale-1-en/CD6/data (CD6/data)
[ResourceManager/WARNING]: Invalid path given: /usr/share/gemrb/icewind-dale-1-en/data/CD6/data (CD6/data)
[Core]: Initializing KEY Importer...
[KEYImporter]: Opening /usr/share/gemrb/icewind-dale-1-en/chitin.key...
[KEYImporter]: Checking file type...
[KEYImporter]: Reading Resources...
[KEYImporter]: BIF Files Count: 268 (Starting at 24 Bytes)
[KEYImporter]: RES Count: 19992 (Starting at 7579 Bytes)
[KEYImporter]: Resources Loaded...
[Core]: Initializing GUI Script Engine...
[ResourceManager/WARNING]: Invalid path given: /usr/share/fonts/TTF (CustomFonts)
[Core]: Reading Game Options...
[ResourceManager]: Found 'gemrb.ini' in 'GemRB Unhardcoded data'.
[Core]: Loading game type-specific GemRB setup '/usr/share/gemrb/unhardcoded/how/gemrb.ini'
[ResourceManager]: Found 'defaults.ini' in 'shared GemRB Unhardcoded data'.
[Core]: Reading Encoding Table...
[ResourceManager]: Found 'default.ini' in 'shared GemRB Unhardcoded data'.
[Core]: Loading encoding definition for default: '/usr/share/gemrb/unhardcoded/shared/default.ini'
[Core]: Creating Projectile Server...
[ResourceManager]: Found 'gemprjtl.ids' in 'GemRB Unhardcoded data'.
[ResourceManager/ERROR]: Couldn't find 'projectl.ids'.
[Core]: Checking for Dialogue Manager...
[ResourceManager]: Found 'gender.2da' in 'GemRB Unhardcoded data'.
[Core]: Loading Dialog.tlk file...
[Core]: Loading Palettes...
[ResourceManager]: Searching for 'MPALETTE'...
[ResourceManager]: Found 'MPALETTE.bmp' in 'chitin.key'.
[ResourceManager]: Searching for 'MPALETTE'...
[ResourceManager]: Found 'MPALETTE.bmp' in 'chitin.key'.
[ResourceManager]: Searching for 'MPAL256'...
[ResourceManager]: Found 'MPAL256.bmp' in 'chitin.key'.
[Core]: Palettes Loaded
[Core]: Initializing stock sounds...
[ResourceManager]: Found 'defsound.2da' in 'GemRB Unhardcoded data'.
[Core]: Broadcasting Event Manager...
[Core]: Initializing Window Manager...
[Core]: Loading Cursors...
[ResourceManager]: Found 'cursors.bam' in 'chitin.key'.
[ResourceManager]: Found 'fogowar.bam' in 'chitin.key'.
[Core]: Loading Fog-Of-War bitmaps...
[Core]: Loading Ground circle bitmaps...
[ResourceManager]: Found 'TOOLTIP.bam' in 'chitin.key'.
[Core]: Initializing Tooltips...
[Core]: Loading Fonts...
[ResourceManager]: Found 'fonts.2da' in 'GemRB Unhardcoded data'.
[ResourceManager]: Searching for 'FreeSans'...
[ResourceManager]: Found 'FreeSans.ttf' in 'Override'.
Segmentation fault

I fed it FreeSans (from the truetype freefont library) as well as a copy of times new roman copied from my Windows install, and DejaVu Sans. All had the same result.

Here's a backtrace.

Program received signal SIGSEGV, Segmentation fault.
0x00007fffe7d6e074 in ?? () from /usr/lib/gemrb/plugins/SDLVideo.so
(gdb) bt
#0  0x00007fffe7d6e074 in ?? () from /usr/lib/gemrb/plugins/SDLVideo.so
#1  0x00007fffe7d6de62 in ?? () from /usr/lib/gemrb/plugins/SDLVideo.so
#2  0x00007fffebfb6756 in ?? () from /usr/lib/gemrb/plugins/TTFImporter.so
#3  0x00007fffebfb6264 in ?? () from /usr/lib/gemrb/plugins/TTFImporter.so
#4  0x00007ffff7ad7aa6 in GemRB::Interface::LoadFonts() () from /usr/lib/gemrb/libgemrb_core.so.0.8.3
#5  0x00007ffff7ad9fc9 in GemRB::Interface::Init(GemRB::InterfaceConfig*) () from /usr/lib/gemrb/libgemrb_core.so.0.8.3
#6  0x0000000000400da4 in ?? ()
#7  0x00007ffff6c1a870 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x0000000000400e70 in _start ()

Not all that useful, I know, but I have no idea how to install debugging symbols for the gemrb libraries/plugins on Debian.

 

Would be glad if someone could help me get to the bottom of this. Thanks.

 

Posted

Hah, so they're using WIP code by default in stable packages? No wonder things are breaking. Someone should poke the package maintainer about that one. I'll have to do some poking around to get the binaries you provided working with my setup probably, but I'll definitely give it a shot later today. Thanks for the quick response.

EDIT: Tried the very latest build (from the 18th) and got a bunch of unrelated segfaults all over the place. Figured "well, it's a development snapshot, it could be broken", tried one from december 28th and it works fine.

Posted

Indeed, we're right before the next release (man I hate Chateau Irenicus by now!), so we need to know about anything catastrophic like that, plus the circumstances.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...