2009-12-30 7 views
5

esto sucedió de forma bastante aleatoria. Yo no borro cualquier célula tableview, la información de traza:Aplicación de iPhone se colgó: la función de error de aserción evict_glyph_entry_from_strike, archivo Fonts/CGFontCache.c

Assertion failed: (d->entry[identifier.glyph] == g), function evict_glyph_entry_from_strike, file Fonts/CGFontCache.c, line 810. 
Program received signal: “SIGABRT”. 
(gdb) bt 
#0 0x97da5972 in __kill() 
#1 0x97da5964 in kill$UNIX2003() 
#2 0x97e38ba5 in raise() 
#3 0x97e4ec5c in abort() 
#4 0x97e3b804 in __assert_rtn() 
#5 0x0037fe0e in evict_glyph_entry_from_cache() 
#6 0x003226aa in expire_glyphs_nl() 
#7 0x00322645 in CGFontCacheUnlock() 
#8 0x00321fef in CGGlyphLockUnlock() 
#9 0x0240f9b7 in ripc_DrawGlyphs() 
#10 0x0031b0d4 in draw_glyphs() 
#11 0x0031a91f in CGContextShowGlyphsWithAdvances() 
#12 0x35814178 in WebCore::Font::drawGlyphs() 
#13 0x35813da5 in WebCore::Font::drawGlyphBuffer() 
#14 0x35813aca in WebCore::Font::drawSimpleText() 
#15 0x35813760 in drawAtPoint() 
#16 0x3581307e in -[NSString(WebStringDrawing) _web_drawAtPoint:forWidth:withFont:ellipsis:letterSpacing:includeEmoji:]() 
#17 0x3090d2e9 in -[NSString(UIStringDrawing) drawAtPoint:forWidth:withFont:lineBreakMode:letterSpacing:includeEmoji:]() 
#18 0x3090cfe3 in -[NSString(UIStringDrawing) drawAtPoint:forWidth:withFont:lineBreakMode:]() 
#19 0x3093d853 in -[UINavigationItemView drawText:inRect:]() 
#20 0x3093a96b in -[UINavigationItemButtonView drawRect:]() 
#21 0x3091ff61 in -[UIView(CALayerDelegate) drawLayer:inContext:]() 
#22 0x0060daeb in -[CALayer drawInContext:]() 
#23 0x0060d8f9 in backing_callback() 
#24 0x0060d1b4 in CABackingStoreUpdate() 
#25 0x0060c3cc in -[CALayer _display]() 
#26 0x0060bf56 in CALayerDisplayIfNeeded() 
#27 0x0060b3bd in CA::Context::commit_transaction() 
#28 0x0060b022 in CA::Transaction::commit() 
#29 0x006132e0 in CA::Transaction::observer_callback() 
#30 0x30245c32 in __CFRunLoopDoObservers() 
#31 0x3024503f in CFRunLoopRunSpecific() 
#32 0x30244628 in CFRunLoopRunInMode() 
#33 0x32044c31 in GSEventRunModal() 
#34 0x32044cf6 in GSEventRun() 
#35 0x309021ee in UIApplicationMain() 
+0

Incluso estoy obteniendo el mismo problema ... si tiene solución, comparta ... Aserción fallida: (d-> entrada [identifier.glyph] == g), función evict_glyph_entry_from_strike, archivo Fonts/CGFontCache.c , línea 810. –

Respuesta

0

Me parece que hay un error en el dibujo de texto en UINavigationItems.

Algunas de esas llamadas a la API parecen realmente profundas en los marcos, y son cosas a las que ni siquiera debería tener acceso, así que no creo que sea directamente su culpa.

Quizás sería aconsejable presentar un informe de error con Apple con respecto al iPhone SDK y dibujar el texto a UINavigationItems e incluir esta traza inversa.

+0

gracias, voy a enviar esto a apple – Ross

+0

¿oíste algo atrás? Estoy recibiendo un problema similar. – Andiih

+0

No, no recibí ningún comentario útil allí. pero tengo la sensación de que esto sucede más en el simulador. no obtuve ningún registro de bloqueo en los dispositivos que tiene la información de retroceso anterior – Ross

1

https://discussions.apple.com/message/8213970?messageID=8213970 afirma que parece estar relacionado con el uso de funciones en el interior de los bloques de animación ...

just.do.it comentó la mitad hacia abajo:

Hola, puede ser que nos puede mostrar algún código donde sucede esto.

Tuve esta falla de aserción ocasionalmente en diferentes aplicaciones. En lo que puedo decir, parece que no es de buena idea utilizar más de un de los métodos siguientes;

deleteRowsAtIndexPaths: withRowAnimation:
deleteSections: withRowAnimation:
insertRowsAtIndexPaths: withRowAnimation:
insertSections: withRowAnimation:

dentro de un/endUpdates bloque BeginUpdate.

Lo que también parece ser al menos problemática es llamar a uno de estos métodos wich tener una animación dentro un método fuentes de datos que sí es acompañado de una animación como tableView: moveRowAtIndexPath: toIndexPath:

Cuestiones relacionadas