abrt version: 1.1.17 architecture: i686 cmdline: /usr/bin/python /usr/bin/ttx MTLmr3m.ttx comment: ttx crashes after reporting that it is parsing the vmtx table. This is a very big font! component: fonttools executable: /usr/bin/ttx kernel: 2.6.35.11-83.samsung.fc14.i686.PAE package: fonttools-2.3-2.fc14 reason: sstruct.py:74:pack:error: integer out of range for 'L' format code release: Fedora release 14 (Laughlin) time: 1300390438 uid: 500 backtrace ----- sstruct.py:74:pack:error: integer out of range for 'L' format code Traceback (most recent call last): File "/usr/bin/ttx", line 11, in <module> ttx.main(sys.argv[1:]) File "/usr/lib/python2.7/site-packages/FontTools/fontTools/ttx.py", line 296, in main process(jobs, options) File "/usr/lib/python2.7/site-packages/FontTools/fontTools/ttx.py", line 281, in process action(input, output, options) File "/usr/lib/python2.7/site-packages/FontTools/fontTools/ttx.py", line 187, in ttCompile ttf.save(output) File "/usr/lib/python2.7/site-packages/FontTools/fontTools/ttLib/__init__.py", line 203, in save writer.close() File "/usr/lib/python2.7/site-packages/FontTools/fontTools/ttLib/sfnt.py", line 153, in close directory = directory + entry.toString() File "/usr/lib/python2.7/site-packages/FontTools/fontTools/ttLib/sfnt.py", line 224, in toString return sstruct.pack(sfntDirectoryEntryFormat, self) File "/usr/lib/python2.7/site-packages/FontTools/sstruct.py", line 74, in pack data = apply(struct.pack, (formatstring,) + tuple(elements)) error: integer out of range for 'L' format code Local variables in innermost frame: elements: ['OS/2', -613424631, 2824236, 86] name: 'length' format: '\n\t\t> # big endian\n\t\ttag: 4s\n\t\tcheckSum: L\n\t\toffset: L\n\t\tlength: L\n' object: {'checkSum': -613424631, 'length': 86, 'tag': 'OS/2', 'offset': 2824236} fixes: {} formatstring: '>4sLLL' value: 86 names: ['tag', 'checkSum', 'offset', 'length'] How to reproduce ----- 1. Install motoya-lmaru-fonts 2. ttx MTLmr3m.ttf to convert to XML 3. ttx MTLmr3m.ttx to try to convert back to TTF
Created attachment 486089 [details] File: backtrace
Anything happening here? ttx is completely broken on F14 right now. Here is another simple reproducer: $ cd $ ttx -d . /usr/share/fonts/dejavu/DejaVuSans.ttf $ ttx DejaVuSans.ttx Compiling "DejaVuSans.ttx" to "DejaVuSans.ttf"... Parsing 'GlyphOrder' table... Parsing 'head' table... Parsing 'hhea' table... Parsing 'maxp' table... Parsing 'OS/2' table... Parsing 'hmtx' table... Parsing 'cmap' table... Parsing 'fpgm' table... Parsing 'prep' table... Parsing 'cvt ' table... Parsing 'loca' table... Parsing 'glyf' table... Parsing 'kern' table... Parsing 'name' table... Parsing 'post' table... Parsing 'gasp' table... Parsing 'FFTM' table... Parsing 'GDEF' table... Parsing 'GPOS' table... Parsing 'GSUB' table... Traceback (most recent call last): File "/usr/bin/ttx", line 11, in <module> ttx.main(sys.argv[1:]) File "/usr/lib/python2.7/site-packages/FontTools/fontTools/ttx.py", line 296, in main process(jobs, options) File "/usr/lib/python2.7/site-packages/FontTools/fontTools/ttx.py", line 281, in process action(input, output, options) File "/usr/lib/python2.7/site-packages/FontTools/fontTools/ttx.py", line 187, in ttCompile ttf.save(output) File "/usr/lib/python2.7/site-packages/FontTools/fontTools/ttLib/__init__.py", line 203, in save writer.close() File "/usr/lib/python2.7/site-packages/FontTools/fontTools/ttLib/sfnt.py", line 153, in close directory = directory + entry.toString() File "/usr/lib/python2.7/site-packages/FontTools/fontTools/ttLib/sfnt.py", line 224, in toString return sstruct.pack(sfntDirectoryEntryFormat, self) File "/usr/lib/python2.7/site-packages/FontTools/sstruct.py", line 74, in pack data = apply(struct.pack, (formatstring,) + tuple(elements)) struct.error: integer out of range for 'L' format code
I don't have F14 machine with me now but on F15 I see no issues.
Is that F15.i686?
fonttools-2.3-3.fc15.x86_64
Ok I managed to test on 32 bit machine also and it worked fine.
I've updated my laptop to F15 32-bit this morning, and I can confirm that the problem no longer occurs. This must be down to something in the core Python libraries, then. As soon as my desktop goes to F15, I'll no longer care!
Thanks.