- Status Closed
- Percent Complete
- Task Type Bugs
- Category Infrastructure → Build environment
- Assigned To No-one
- Operating System All players
- Severity Low
- Priority Very Low
- Reported Version
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
FS#4955 - convbdf segfaults on very large fonts
When running convbdf on large files, it segfaults. By littering the source with printfs, I’ve narrowed it down to that the segfault happens in writestr(), and it’s being called from line 1071 (writestr(ofp, (char *)bytemap, size);), whatever that means.
The following is an example of a file that causes convbdf to segfault: http://webcvs.freedesktop.org/*checkout*/xorg/xc/fonts/bdf/100dpi/UTB___24.bdf
2007-07-31 09:43
Reason for closing: Fixed
Additional comments about closing: Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407
Fixed in SVN right now
Works fine here. Are you using the latest version of convbdf?
I also have this problem with current convbdf on Debian unstable (gcc 4.0.3). The resulting file is about a third of the one you’ve attached.
Ah, I just noticed something curious. The file is 65536 bytes large, I’m guessing that might mean something?
maybe it has something to do with gcc 4.0? I am using gcc 3.3.5.
Bingo! Just tried compiling convbdf with gcc 3.3.6 and there was no problem. No idea what to do about it though, but at least there’s a workaround.
Hrm, I still get segfaults on some files even when using gcc 3.3 - no longer on that particular file though.
This one still causes a segfault, even with gcc 3.3.6:
http://webcvs.freedesktop.org/*checkout*/xorg/xc/fonts/bdf/100dpi/luIS24.bdf
And again the file ends up being 65536 bytes. I can’t help but assume that this means something.
This should never happen, please inform Flyspray Developers.
If you are an Administrator of this Flyspray installation you might enable temporarly! DEBUG_EXCEPTION in constants.inc.php for more details.