Bug#860680: ufoai: map compiler ufo2map segfaults

Bernhard Übelacker bernhardu at mailbox.org
Fri Apr 21 16:16:48 UTC 2017


Hello,
tried to reproduce and two builds failed for different maps:


coredumpctl gdb
...
  Command Line: /usr/bin/ufo2map -v 4 -nice 19 -quant 4 -soft maps/resort.map
...
(gdb) bt
#0  __strlen_ia32 () at ../sysdeps/i386/i686/multiarch/../../i586/strlen.S:94
#1  0xb7167180 in _IO_vfprintf_internal (s=<optimized out>, format=<optimized out>, 
    ap=0xbfd9941c "\340\024Y\207\340\024Y\207`1^\205(P\017\200\345X\017\200xm\020\200\004\225ٿ\315\063\r\200xm\020\200\004\225ٿ\230\024Y\207\270\235ٿ\240\060\f\200\230\024Y\207\340\024Y\207\001") at vfprintf.c:1637
#2  0xb7218a5c in ___vsnprintf_chk (s=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250", maxlen=<optimized out>, flags=1, slen=4294967295, format=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", args=0xbfd99414 "\001") at vsnprintf_chk.c:63
#3  0x800de8cc in vsnprintf (__ap=0xbfd99414 "\001", __fmt=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", __n=1024, __s=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250") at /usr/include/i386-linux-gnu/bits/stdio2.h:78
#4  Q_vsnprintf (str=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250", size=1024, format=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", ap=0xbfd99414 "\001") at src/shared/shared.cpp:552
#5  0x800f17f8 in Sys_Error (error=0x800f614c "Invalid entity %i found with key '%s' and value '%s'") at src/ports/unix/unix_main.cpp:97
#6  0x800d34a8 in AddEpair (key=<optimized out>, value=<optimized out>, entNum=1) at src/tools/ufo2map/common/bspfile.cpp:425
#7  0x800c30a0 in ParseMapEntity (entityString=0xbfd99aa0 " \357o\267\030\237ٿ)\023p\267(\360\030\267\307\351\030\267\020\233ٿ{\235ٿ(\360\030\267\307\351\030\267 \233ٿ;\240ٿu\003\031\267 \233ٿ<\237ٿ;\240ٿ", filename=<optimized out>)
    at src/tools/ufo2map/map.cpp:1008
#8  LoadMapFile (filename=0x80107280 <mapFilename> "maps/resort.map") at src/tools/ufo2map/map.cpp:1235
#9  0x800afe47 in main (argc=9, argv=0xbfd9a104) at src/tools/ufo2map/ufo2map.cpp:674



I think this crash is caused by this part in LoadMapFile:

	char entityString[MAX_TOKEN_CHARS];
	const char* ump = GetUMPName(filename);
	if (ump != nullptr)
		ParseUMP(ump, entityString, false);

	while (ParseMapEntity(filename, entityString));

If GetUMPName returns nullptr entityString gets not initialized and
is used in ParseMapEntity.

There a key and value is retrieved from the "random" entityString
and given to AddEpair function.

There sometimes value or key is recognized as invalid and
a error message should be printed:
	if (IsInvalidEntityToken(value) || IsInvalidEntityToken(key))
		Sys_Error("Invalid entity %i found with key '%s' and value '%s'", entNum, key, value);


More details are in the attached text file and compressed core.


Upstream has a change applied to initializes entityString [1].


Kind regards,
Bernhard

[1] https://sourceforge.net/p/ufoai/code/ci/bae827ba025ff1d3a56b402c27aa84401914acc4/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ufo2map-core.xz
Type: application/x-xz
Size: 317628 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-games-devel/attachments/20170421/ef1bd62d/attachment-0001.bin>
-------------- next part --------------

/usr/bin/ufo2map -v 4 -nice 19 -quant 4 -soft maps/resort.map
build/maps.mk:46: die Regel für Ziel „base/maps/resort.bsp“ scheiterte
make[2]: *** [base/maps/resort.bsp] Speicherzugriffsfehler (Speicherauszug erstellt)
make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet...
6...7...8...9... (time:   1611s, #: 17313)
FINALLIGHT: 0...1...2...3...4...5...6...7...8...9... (time:      2s, #: 17313)
 1619 seconds elapsed



coredumpctl gdb
...
  Command Line: /usr/bin/ufo2map -v 4 -nice 19 -quant 4 -soft maps/resort.map
...
(gdb) bt
#0  __strlen_ia32 () at ../sysdeps/i386/i686/multiarch/../../i586/strlen.S:94
#1  0xb7167180 in _IO_vfprintf_internal (s=<optimized out>, format=<optimized out>, ap=0xbfd9941c "\340\024Y\207\340\024Y\207`1^\205(P\017\200\345X\017\200xm\020\200\004\225ٿ\315\063\r\200xm\020\200\004\225ٿ\230\024Y\207\270\235ٿ\240\060\f\200\230\024Y\207\340\024Y\207\001") at vfprintf.c:1637
#2  0xb7218a5c in ___vsnprintf_chk (s=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250", maxlen=<optimized out>, flags=1, slen=4294967295, format=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", args=0xbfd99414 "\001") at vsnprintf_chk.c:63
#3  0x800de8cc in ?? ()
#4  0x800f17f8 in ?? ()
#5  0x800d34a8 in ?? ()
#6  0x800c30a0 in ?? ()
#7  0x800afe47 in main ()



Another time with a different map:
  Command Line: /usr/bin/ufo2map -v 4 -nice 19 -quant 4 -soft maps/village.map



apt install ufoai-tools-dbgsym

coredumpctl gdb
set height 0
set width 0
directory /home/benutzer/debian/ufoai-maps/ufoai-tools/orig/ufoai-2.5

(gdb) bt
#0  __strlen_ia32 () at ../sysdeps/i386/i686/multiarch/../../i586/strlen.S:94
#1  0xb7167180 in _IO_vfprintf_internal (s=<optimized out>, format=<optimized out>, ap=0xbfd9941c "\340\024Y\207\340\024Y\207`1^\205(P\017\200\345X\017\200xm\020\200\004\225ٿ\315\063\r\200xm\020\200\004\225ٿ\230\024Y\207\270\235ٿ\240\060\f\200\230\024Y\207\340\024Y\207\001") at vfprintf.c:1637
#2  0xb7218a5c in ___vsnprintf_chk (s=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250", maxlen=<optimized out>, flags=1, slen=4294967295, format=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", args=0xbfd99414 "\001") at vsnprintf_chk.c:63
#3  0x800de8cc in vsnprintf (__ap=0xbfd99414 "\001", __fmt=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", __n=1024, __s=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250") at /usr/include/i386-linux-gnu/bits/stdio2.h:78
#4  Q_vsnprintf (str=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250", size=1024, format=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", ap=0xbfd99414 "\001") at src/shared/shared.cpp:552
#5  0x800f17f8 in Sys_Error (error=0x800f614c "Invalid entity %i found with key '%s' and value '%s'") at src/ports/unix/unix_main.cpp:97
#6  0x800d34a8 in AddEpair (key=<optimized out>, value=<optimized out>, entNum=1) at src/tools/ufo2map/common/bspfile.cpp:425
#7  0x800c30a0 in ParseMapEntity (entityString=0xbfd99aa0 " \357o\267\030\237ٿ)\023p\267(\360\030\267\307\351\030\267\020\233ٿ{\235ٿ(\360\030\267\307\351\030\267 \233ٿ;\240ٿu\003\031\267 \233ٿ<\237ٿ;\240ٿ", filename=<optimized out>) at src/tools/ufo2map/map.cpp:1008
#8  LoadMapFile (filename=0x80107280 <mapFilename> "maps/resort.map") at src/tools/ufo2map/map.cpp:1235
#9  0x800afe47 in main (argc=9, argv=0xbfd9a104) at src/tools/ufo2map/ufo2map.cpp:674
(gdb) up
#1  0xb7167180 in _IO_vfprintf_internal (s=<optimized out>, format=<optimized out>, ap=0xbfd9941c "\340\024Y\207\340\024Y\207`1^\205(P\017\200\345X\017\200xm\020\200\004\225ٿ\315\063\r\200xm\020\200\004\225ٿ\230\024Y\207\270\235ٿ\240\060\f\200\230\024Y\207\340\024Y\207\001") at vfprintf.c:1637
1637    vfprintf.c: Datei oder Verzeichnis nicht gefunden.
(gdb) 
#2  0xb7218a5c in ___vsnprintf_chk (s=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250", maxlen=<optimized out>, flags=1, slen=4294967295, format=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", args=0xbfd99414 "\001") at vsnprintf_chk.c:63
63      vsnprintf_chk.c: Datei oder Verzeichnis nicht gefunden.
(gdb) 
#3  0x800de8cc in vsnprintf (__ap=0xbfd99414 "\001", __fmt=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", __n=1024, __s=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250") at /usr/include/i386-linux-gnu/bits/stdio2.h:78
warning: Source file is more recent than executable.
78                                          __bos (__s), __fmt, __ap);
(gdb) list
73      __fortify_function int
74      __NTH (vsnprintf (char *__restrict __s, size_t __n,
75                        const char *__restrict __fmt, _G_va_list __ap))
76      {
77        return __builtin___vsnprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
78                                          __bos (__s), __fmt, __ap);
79      }
80
81      #endif
82
(gdb) up
#4  Q_vsnprintf (str=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250", size=1024, format=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", ap=0xbfd99414 "\001") at src/shared/shared.cpp:552
552             len = vsnprintf(str, size, format, ap);
(gdb) list
547     #ifdef DEBUG
548             if (len == -1)
549                     Com_Printf("Q_vsnprintf: string (%.32s...) was truncated (%i) - target buffer too small (" UFO_SIZE_T ")\n", str, len, size);
550     #endif
551     #else
552             len = vsnprintf(str, size, format, ap);
553     #ifdef DEBUG
554             if ((size_t)len >= size)
555                     Com_Printf("Q_vsnprintf: string (%.32s...) was truncated (%i) - target buffer too small (" UFO_SIZE_T ")\n", str, len, size);
556     #endif
(gdb) print str
$1 = 0xbfd98ffc "Invalid entity 1 found with key '`-\267\250"
(gdb) print size
$2 = 1024
(gdb) print format
$3 = 0x800f614c "Invalid entity %i found with key '%s' and value '%s'"
(gdb) up
#5  0x800f17f8 in Sys_Error (error=0x800f614c "Invalid entity %i found with key '%s' and value '%s'") at src/ports/unix/unix_main.cpp:97
97              Q_vsnprintf(string, sizeof(string), error, argptr);
(gdb) up
#6  0x800d34a8 in AddEpair (key=<optimized out>, value=<optimized out>, entNum=1) at src/tools/ufo2map/common/bspfile.cpp:425
425                     Sys_Error("Invalid entity %i found with key '%s' and value '%s'", entNum, key, value);
(gdb) print entNum
$4 = 1
(gdb) print key
$5 = <optimized out>
(gdb) print value
$6 = <optimized out>
(gdb) up
#7  0x800c30a0 in ParseMapEntity (entityString=0xbfd99aa0 " \357o\267\030\237ٿ)\023p\267(\360\030\267\307\351\030\267\020\233ٿ{\235ٿ(\360\030\267\307\351\030\267 \233ٿ;\240ٿu\003\031\267 \233ٿ<\237ٿ;\240ٿ", filename=<optimized out>) at src/tools/ufo2map/map.cpp:1008
1008                            epair_t* e = AddEpair(key, value, num_entities);
(gdb) print key
$10 = 0x87591498 <error: Cannot access memory at address 0x87591498>
(gdb) print value
$11 = <optimized out>
(gdb) print num_entities
$12 = 1
(gdb) up
#8  LoadMapFile (filename=0x80107280 <mapFilename> "maps/resort.map") at src/tools/ufo2map/map.cpp:1235
1235            while (ParseMapEntity(filename, entityString));
(gdb) print filename
$13 = 0x80107280 <mapFilename> "maps/resort.map"
(gdb) print entityString
$14 = "<\361o\267 \357o\267\030\237ٿ)\023p\267(\360\030\267\307\351\030\267\020\233ٿ{\235ٿ(\360\030\267\307\351\030\267 \233ٿ;\240ٿu\003\031\267 \233ٿ<\237ٿ;\240ٿ\000\000\000\000 \233ٿ<\237ٿ{R\026\267\000`-\267 \233ٿ<\237ٿ\300\233ٿ\\\212!\267 \233ٿ$h\017\200\204\234ٿ<\237ٿL\233ٿ\377\001\000\000յ\023\267\377\000\000\000\001\200\255\373<\237ٿ<\237ٿ<\237ٿ<\237ٿK\237ٿ;\240ٿ<\237ٿ;\240ٿ", '\000' <repeats 20 times>, "/2.5\004\000\000\000e/\000\000\000\000\000\000\000\000\000\000\004\000\000\000\235\273\223\034\000\000\000\r\377\377\377\377\000\000\000\000"...
(gdb) list -
1230            char entityString[MAX_TOKEN_CHARS];
1231            const char* ump = GetUMPName(filename);
1232            if (ump != nullptr)
1233                    ParseUMP(ump, entityString, false);
1234
1235            while (ParseMapEntity(filename, entityString));
1236
1237            subdivide = atoi(ValueForKey(&entities[0], "subdivide"));
1238            if (subdivide >= 256 && subdivide <= 2048) {
1239                    Verb_Printf(VERB_EXTRA, "Using subdivide %d from worldspawn.\n", subdivide);
(gdb) print ump
$6 = <optimized out>























gdb -q --args /usr/bin/ufo2map -v 4 -nice 19 -quant 4 -soft maps/resort.map
set height 0
set width 0
directory /home/benutzer/debian/ufoai-maps/ufoai-tools/orig/ufoai-2.5
display entityString
b src/tools/ufo2map/map.cpp:1228
run

root at debian:/home/benutzer/debian/ufoai-maps/ufoai-maps/orig/ufoai-maps-2.5# gdb -q --args /usr/bin/ufo2map -v 4 -nice 19 -quant 4 -soft maps/resort.map
Reading symbols from /usr/bin/ufo2map...Reading symbols from /usr/lib/debug/.build-id/d3/785f32bcbcd96276d3ae366ba6c6354a504879.debug...done.
done.
(gdb) set height 0
(gdb) set width 0
(gdb) directory /home/benutzer/debian/ufoai-maps/ufoai-tools/orig/ufoai-2.5
Source directories searched: /home/benutzer/debian/ufoai-maps/ufoai-tools/orig/ufoai-2.5:$cdir:$cwd
(gdb) display entityString
No symbol "entityString" in current context.
(gdb) b src/tools/ufo2map/map.cpp:1228
Breakpoint 1 at 0x12aa3: file src/tools/ufo2map/map.cpp, line 1228.
(gdb) run
Starting program: /usr/bin/ufo2map -v 4 -nice 19 -quant 4 -soft maps/resort.map
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
verbosity = 4
nice = 19
extrasamples = true
soft = true
---- ufo2map 1.2.6 ----
---- endianness initialization -----
found little endian system
path: 'maps/resort.map'

---- filesystem initialization -----
Adding game dir: /usr/share/games/ufoai/base
Adding game dir: ./base
Adding game dir: /root/.ufoai/2.5/base
using ./base for writing
...map: 'maps/resort.map'
...bsp: 'maps/resort.bsp'

Breakpoint 1, LoadMapFile (filename=0x8005a280 <mapFilename> "maps/resort.map") at src/tools/ufo2map/map.cpp:1228
1228            mapTiles.numTiles = 1;
(gdb) next
1226            curTile = &mapTiles.mapTiles[0];
(gdb) 
1224            num_entities = 0;
(gdb) 
1231            const char* ump = GetUMPName(filename);
(gdb) 
0x80002238 in ?? ()
(gdb) b 1194
Breakpoint 2 at 0x80012acd: file src/tools/ufo2map/map.cpp, line 1194.
(gdb) cont
Continuing.

Breakpoint 2, GetUMPName (mapFilename=0x8005a280 <mapFilename> "maps/resort.map") at src/tools/ufo2map/map.cpp:1194
1194            const int targetLength = strlen(mapFilename) - lMaps - l;
(gdb) next
1193            const int l = strlen(filename);
(gdb) 
1194            const int targetLength = strlen(mapFilename) - lMaps - l;
(gdb) 
0x80002238 in ?? ()
(gdb) b 1195
Breakpoint 3 at 0x80012adf: file src/tools/ufo2map/map.cpp, line 1195.
(gdb) cont
Continuing.

Breakpoint 3, GetUMPName (mapFilename=0x8005a280 <mapFilename> "maps/resort.map") at src/tools/ufo2map/map.cpp:1195
1195            if (targetLength <= 0)
(gdb) print filename
$1 = <optimized out>
(gdb) print mapFilename
$2 = 0x8005a280 <mapFilename> "maps/resort.map"
(gdb) print lMaps
$3 = 5
(gdb) print l
$4 = 10
(gdb) print targetLength
$5 = 0
(gdb) next
1235            while (ParseMapEntity(filename, entityString));
(gdb) print filename
$6 = 0x8005a280 <mapFilename> "maps/resort.map"
(gdb) print entityString
$7 = "<\201\376\267 \177\376\267\350\364\377\277)\243\376\267(p\247\267\307i\247\267\340\360\377\277K\363\377\277(p\247\267\307i\247\267\360\360\377\277\v\366\377\277u\203\247\267\360\360\377\277\f\365\377\277\v\366\377\277\000\000\000\000\360\360\377\277\f\365\377\277{Ҥ\267\000\340\273\267\360\360\377\277\f\365\377\277\220\361\377\277\\\n\260\267\360\360\377\277$\230\004\200T\362\377\277\f\365\377\277\034\361\377\277\377\001\000\000\325\065\242\267\377\000\000\000\001\200\255\373\f\365\377\277\f\365\377\277\f\365\377\277\f\365\377\277\033\365\377\277\v\366\377\277\f\365\377\277\v\366\377\277", '\000' <repeats 20 times>, "/2.5\004\000\000\000e/\000\000\000\000\000\000\000\000\000\000"...
(gdb) step
ParseMapEntity (entityString=<optimized out>, filename=<optimized out>) at src/tools/ufo2map/map.cpp:948
948             if (*parsedToken != '{')
(gdb) b 998
Breakpoint 4 at 0x80015ffb: file src/tools/ufo2map/map.cpp, line 998.
(gdb) cont
Continuing.

Breakpoint 4, ParseMapEntity (entityString=0xbffff070 " \177\376\267\350\364\377\277)\243\376\267(p\247\267\307i\247\267\340\360\377\277K\363\377\277(p\247\267\307i\247\267\360\360\377\277\v\366\377\277u\203\247\267\360\360\377\277\f\365\377\277\v\366\377\277", filename=<optimized out>) at src/tools/ufo2map/map.cpp:998
998                     const char* text = entityString;
(gdb) next
1003                            const char* key = Mem_StrDup(token);
(gdb) 
998                     const char* text = entityString;
(gdb) 
1003                            const char* key = Mem_StrDup(token);
(gdb) 
1000                            const char* token = Com_Parse(&text);
(gdb) print text
$8 = 0xbffff06c "<\201\376\267 \177\376\267\350\364\377\277)\243\376\267(p\247\267\307i\247\267\340\360\377\277K\363\377\277(p\247\267\307i\247\267\360\360\377\277\v\366\377\277u\203\247\267\360\360\377\277\f\365\377\277\v\366\377\277"
(gdb) next
1001                            if (Q_strnull(token))
(gdb) 
1003                            const char* key = Mem_StrDup(token);
(gdb) 
1004                            token = Com_Parse(&text);
(gdb) 
1003                            const char* key = Mem_StrDup(token);
(gdb) 
1004                            token = Com_Parse(&text);
(gdb) 
1005                            if (Q_strnull(token))
(gdb) 
1007                            const char* value = Mem_StrDup(token);
(gdb) 
1008                            epair_t* e = AddEpair(key, value, num_entities);
(gdb) step
AddEpair (key=0x855a5530 "<", value=0x8565eea0 "\177", entNum=1) at src/tools/ufo2map/common/bspfile.cpp:421
421     {
(gdb) next
422             epair_t *e = Mem_AllocType(epair_t);
(gdb) 
424             if (IsInvalidEntityToken(value) || IsInvalidEntityToken(key))
(gdb) 
422             epair_t *e = Mem_AllocType(epair_t);
(gdb) 
424             if (IsInvalidEntityToken(value) || IsInvalidEntityToken(key))
(gdb) 
427             if (strlen(key) >= MAX_KEY - 1)
(gdb) 
0x80002238 in ?? ()
(gdb) b 428
Breakpoint 5 at 0x800264a8: file src/tools/ufo2map/common/bspfile.cpp, line 428.
(gdb) b 429
Breakpoint 6 at 0x80026462: file src/tools/ufo2map/common/bspfile.cpp, line 429.
(gdb) cont
Continuing.

Breakpoint 6, AddEpair (key=<optimized out>, value=<optimized out>, entNum=1) at src/tools/ufo2map/common/bspfile.cpp:429
429             e->key = key;
(gdb) print key
$9 = <optimized out>
(gdb) next
430             if (strlen(value) >= MAX_VALUE - 1)
(gdb) print e->key
$10 = 0x0
(gdb) next
429             e->key = key;
(gdb) 
430             if (strlen(value) >= MAX_VALUE - 1)
(gdb) 
0x80002238 in ?? ()
(gdb) b 431
Breakpoint 7 at 0x8002647f: file src/tools/ufo2map/common/bspfile.cpp, line 431.
(gdb) b 432
Note: breakpoint 7 also set at pc 0x8002647f.
Breakpoint 8 at 0x8002647f: file src/tools/ufo2map/common/bspfile.cpp, line 432.
(gdb) cont
Continuing.

Breakpoint 7, AddEpair (key=<optimized out>, value=<optimized out>, entNum=1) at src/tools/ufo2map/common/bspfile.cpp:432
432             e->value = value;
(gdb) next
435     }
(gdb) next
432             e->value = value;
(gdb) 
435     }
(gdb) print e->key
$13 = 0x855a5530 "<"
(gdb) print e->value
$14 = 0x8565eea0 "\177"
(gdb) bt
#0  AddEpair (key=<optimized out>, value=<optimized out>, entNum=1) at src/tools/ufo2map/common/bspfile.cpp:435
#1  0x800160a0 in ParseMapEntity (entityString=0xbffff070 " \177\376\267\350\364\377\277)\243\376\267(p\247\267\307i\247\267\340\360\377\277K\363\377\277(p\247\267\307i\247\267\360\360\377\277\v\366\377\277u\203\247\267\360\360\377\277\f\365\377\277\v\366\377\277", filename=<optimized out>) at src/tools/ufo2map/map.cpp:1008
#2  LoadMapFile (filename=0x8005a280 <mapFilename> "maps/resort.map") at src/tools/ufo2map/map.cpp:1235
#3  0x80002e47 in main (argc=9, argv=0xbffff6d4) at src/tools/ufo2map/ufo2map.cpp:674











root at debian:/home/benutzer/debian/ufoai-maps# unxz --keep ufo2map-core.xz
root at debian:/home/benutzer/debian/ufoai-maps# gdb -q /usr/bin/ufo2map --core ufo2map-core
Reading symbols from /usr/bin/ufo2map...Reading symbols from /usr/lib/debug/.build-id/d3/785f32bcbcd96276d3ae366ba6c6354a504879.debug...done.
...
Core was generated by `/usr/bin/ufo2map -v 4 -nice 19 -quant 4 -soft maps/resort.map'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __strlen_ia32 () at ../sysdeps/i386/i686/multiarch/../../i586/strlen.S:94
94      ../sysdeps/i386/i686/multiarch/../../i586/strlen.S: Datei oder Verzeichnis nicht gefunden.

(gdb) bt
#0  __strlen_ia32 () at ../sysdeps/i386/i686/multiarch/../../i586/strlen.S:94
#1  0xb7167180 in _IO_vfprintf_internal (s=<optimized out>, format=<optimized out>, 
    ap=0xbfd9941c "\340\024Y\207\340\024Y\207`1^\205(P\017\200\345X\017\200xm\020\200\004\225ٿ\315\063\r\200xm\020\200\004\225ٿ\230\024Y\207\270\235ٿ\240\060\f\200\230\024Y\207\340\024Y\207\001") at vfprintf.c:1637
#2  0xb7218a5c in ___vsnprintf_chk (s=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250", maxlen=<optimized out>, flags=1, slen=4294967295, format=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", args=0xbfd99414 "\001") at vsnprintf_chk.c:63
#3  0x800de8cc in vsnprintf (__ap=0xbfd99414 "\001", __fmt=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", __n=1024, __s=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250") at /usr/include/i386-linux-gnu/bits/stdio2.h:78
#4  Q_vsnprintf (str=0xbfd98ffc "Invalid entity 1 found with key '`-\267\250", size=1024, format=0x800f614c "Invalid entity %i found with key '%s' and value '%s'", ap=0xbfd99414 "\001") at src/shared/shared.cpp:552
#5  0x800f17f8 in Sys_Error (error=0x800f614c "Invalid entity %i found with key '%s' and value '%s'") at src/ports/unix/unix_main.cpp:97
#6  0x800d34a8 in AddEpair (key=<optimized out>, value=<optimized out>, entNum=1) at src/tools/ufo2map/common/bspfile.cpp:425
#7  0x800c30a0 in ParseMapEntity (entityString=0xbfd99aa0 " \357o\267\030\237ٿ)\023p\267(\360\030\267\307\351\030\267\020\233ٿ{\235ٿ(\360\030\267\307\351\030\267 \233ٿ;\240ٿu\003\031\267 \233ٿ<\237ٿ;\240ٿ", filename=<optimized out>)
    at src/tools/ufo2map/map.cpp:1008
#8  LoadMapFile (filename=0x80107280 <mapFilename> "maps/resort.map") at src/tools/ufo2map/map.cpp:1235
#9  0x800afe47 in main (argc=9, argv=0xbfd9a104) at src/tools/ufo2map/ufo2map.cpp:674


More information about the Pkg-games-devel mailing list