Skip to content
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 gtk3 cairo backend #1886

Closed
totaam opened this issue Jun 24, 2018 · 7 comments
Closed

crash with gtk3 cairo backend #1886

totaam opened this issue Jun 24, 2018 · 7 comments

Comments

@totaam
Copy link
Collaborator

totaam commented Jun 24, 2018

Issue migrated from trac ticket # 1886

component: client | priority: critical | resolution: fixed

2018-06-24 17:52:31: antoine created the issue


python3 /usr/bin/xpra attach tcp://127.0.0.1:10000 --opengl=no -d all

Shows:

2018-06-24 23:47:24,690 cairo._do_paint_rgb(ARGB32, True, 630736 \
    <class 'xpra.net.mmap_pipe.c_char_Array_630736'>,15,0,484,316,1996, \
    {b'rgb_format': 'BGRX', 'encoding': 'mmap'}) \
    set_image_surface_data=<built-in function set_image_surface_data>, use pixbuf=False
2018-06-24 23:47:24,690 source image surface: (cairo.Format.ARGB32, 484, 316, 1936, cairo.Content.COLOR_ALPHA)
2018-06-24 23:47:24,691 cairo_paint_surface(<function CairoBackingBase.cairo_paint_surface.<locals>.set_source_surface at 0x7fc0b771a048>, \
    <cairo.ImageSurface object at 0x7fc09ed645f0>, 15, 0, 484, 316, \
    {b'rgb_format': 'BGRX', 'encoding': 'mmap'}) backing=<cairo.ImageSurface object at 0x7fc0b421f910>, paint box line width=0
double free or corruption (out)
Aborted (core dumped)

The bug does not occur with opengl on, or with mmap off.
Converting the mmap array to bytes does not help.

@totaam
Copy link
Collaborator Author

totaam commented Jun 24, 2018

2018-06-24 17:53:22: antoine changed priority from major to critical

@totaam
Copy link
Collaborator Author

totaam commented Jun 24, 2018

2018-06-24 17:53:22: antoine changed status from new to assigned

@totaam
Copy link
Collaborator Author

totaam commented Jun 24, 2018

2018-06-24 17:53:22: antoine edited the issue description

@totaam
Copy link
Collaborator Author

totaam commented Jun 25, 2018

2018-06-25 05:57:48: antoine changed status from assigned to closed

@totaam
Copy link
Collaborator Author

totaam commented Jun 25, 2018

2018-06-25 05:57:48: antoine set resolution to fixed

@totaam
Copy link
Collaborator Author

totaam commented Jun 25, 2018

2018-06-25 05:57:48: antoine changed title from crash with gtk3 cairo backend and mmap to crash with gtk3 cairo backend

@totaam
Copy link
Collaborator Author

totaam commented Jun 25, 2018

2018-06-25 05:57:48: antoine commented


Not just with mmap, also with plain rgb.

Memory overflow fixed in r19707.

Related improvements in:

  • r19705: more consistent cairo context state
  • r19706: simplify surface setup code
  • r19708: better / faster pixel copying
  • r19709: release the GIL (it would be hard to measure if this is actually beneficial as this can't easily be turned into a runtime switch)

@totaam totaam closed this as completed Jun 25, 2018
@totaam totaam added the v2.3.x label Jan 22, 2021
@totaam totaam mentioned this issue Jul 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant