New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash with large mask #115

Closed
wm4 opened this Issue Jul 11, 2014 · 2 comments

Comments

Projects
None yet
3 participants
@wm4
Member

wm4 commented Jul 11, 2014

Program received signal SIGABRT, Aborted.
0x00007fffefbc8407 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007fffefbc8407 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007fffefbc97e8 in __GI_abort () at abort.c:89
#2  0x00007fffefc06394 in __libc_message (do_abort=do_abort@entry=1, 
    fmt=fmt@entry=0x7fffefcf9030 "*** Error in `%s': %s: 0x%s ***\n")
    at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007fffefc0bb7e in malloc_printerr (action=1, 
    str=0x7fffefcf522c "realloc(): invalid pointer", ptr=<optimized out>)
    at malloc.c:4996
#4  0x00007fffefc0fada in __GI___libc_realloc (oldmem=0x28c39d0, bytes=5120)
    at malloc.c:2986
#5  0x00007ffff246439f in drawing_close_shape (drawing=0x2459b40)
    at ass_drawing.c:62
#6  ass_drawing_parse (drawing=0x2459b40, raw_mode=0) at ass_drawing.c:412
#7  0x00007ffff245d278 in get_outline_glyph (info=<optimized out>, 
    priv=<optimized out>) at ass_render.c:1150
#8  ass_render_event (render_priv=0xd827b0, event=0x5240, event_images=0x6)
    at ass_render.c:2050
#9  0x00007ffff2460c75 in ass_render_frame (priv=priv@entry=0x8834c0, 
    track=0x16284d0, now=now@entry=5005, 
    detect_change=detect_change@entry=0x7fffffffdfdc) at ass_render.c:3003

Sample: http://sprunge.us/XIcY

Original report: mpv-player/mpv#923

@qmega

This comment has been minimized.

Show comment
Hide comment
@qmega

qmega Jul 23, 2014

With ee94375 it doesn't crash anymore, but it still doesn't render. ("Failed to process glyph outline!")
I think the problem is that the mask in question has more points than will fit in a short.

The problematic call to rasterizer_set_outline has path->n_points = 32767, n_contours = 1337, and every element of contours from 818 to the end has a value of 32766.

If it is a matter of points overflow, is this just a limitation of freetype?

qmega commented Jul 23, 2014

With ee94375 it doesn't crash anymore, but it still doesn't render. ("Failed to process glyph outline!")
I think the problem is that the mask in question has more points than will fit in a short.

The problematic call to rasterizer_set_outline has path->n_points = 32767, n_contours = 1337, and every element of contours from 818 to the end has a value of 32766.

If it is a matter of points overflow, is this just a limitation of freetype?

@rcombs

This comment has been minimized.

Show comment
Hide comment
@rcombs

rcombs Sep 6, 2014

Member

Duplicate of several issues; merging into #133 going forwards.

Member

rcombs commented Sep 6, 2014

Duplicate of several issues; merging into #133 going forwards.

@rcombs rcombs closed this Sep 6, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment