xpra icon
Bug tracker and wiki

Opened 5 years ago

Closed 5 years ago

#439 closed defect (invalid)

osx memory leak

Reported by: Antoine Martin Owned by: alas
Priority: major Milestone: 0.11
Component: platforms Version:
Keywords: osx Cc:

Description (last modified by Antoine Martin)

Apparently, the xpra osx client can consume gigabytes of memory in a matter of hours...

This may be related to some of the comments about sound in #394.
An easy way to test this hypothesis is to run without sound and see if the problem disappears.
Please also test with different encodings (ie: rgb instead of x264/vpx), maybe the problem is in the video encoders or CSC/software scaling code. If so, you can narrow it down by running with opengl enabled (which bypasses CSC and scaling).
Please also try disabling other features (clipboard, etc) to see if any of them help.

If you can reproduce this easily enough, please also attach the "xpra info" output, taken every hour or so, it should show the memory usage increase.

Change History (6)

comment:1 Changed 5 years ago by Antoine Martin

Owner: changed from Antoine Martin to alas

comment:2 Changed 5 years ago by alas

Running a test with xpra 0.10.4 (r4315) on OSX 10.6.8, with multiple videos running simultaneously in multiple tabs for hours, I was able to get the "real memory" (according to Activity Monitor) up only as far as 200 MB (it generally ran 50-150 MB). The "virtual memory" climbed slowly but surely, reaching about 2.7 GB after several hours.

(Could it be only on OSX 10.7 or 10.8 that memory consumption climbs unreasonably? I'll test when I get the chance just to be sure.)

comment:3 Changed 5 years ago by Antoine Martin

Description: modified (diff)

comment:4 Changed 5 years ago by alas

Testing with osx 0.10.8 r4595, with OS 10.6.8 the "real memory" also hovers around 120 MB. With OS 10.8.5 the "real memory" appears to also hover in the 100 MB range.

The climbing of "real memory" over 1 GB seems to be confined to just one of our local machines (OS 10.7.5). The client terminal messaging included one unusual message:

Error loading /Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin/Contents/MacOS/DVCPROHDAudio:  dlopen(/Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin/Contents/MacOS/DVCPROHDAudio, 262): no suitable image found.  Did find:
 /Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin/Contents/MacOS/DVCPROHDAudio: mach-o, but wrong architecture
2013-10-22 16:09:44.472 Xpra[4929:e07] Cannot find function pointer NewPlugIn for factory C5A4CE5B-0BB8-11D8-9D75-0003939615B6 in CFBundle/CFPlugIn 0x4805d60 </Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin> (bundle, not loaded)

The real "real memory" of that machine's session climbed up near 1.5 GB, and seemed to still be climbing when we re-connected with the --no-speaker option.

Without sound the audio library error did not appear, but the memory still climbed well above the 100-120 MB range (but only to about 500-600 MB, rather than into the GB range).

A quick search of the google machine indicates that this is a plugin for Final Cut Pro and Avid, and the machine which is having this issue is the only one we've tested with Final Cut Pro installed.

Apparently this plug in is for a camera/video editing function and is liable to be something users won't be willing to simply get rid of - so I presume Xpra needs to be able to work around this plug-in library?

Let me know if you need more details about the sound configurations and whatnot that accompany Final Cut Pro.

comment:5 Changed 5 years ago by Antoine Martin

The fact that this problem only occurs with Final Cut Pro installed does point towards a library installation problem, as does the dlopen message.
A quick google search does point towards an installation or permission issue, see:

I very much doubt that there is anything we can do to fix that from our end.
Please try the workarounds suggested or file a ticket with Apple instead.
(will probably close this ticket as 'INVALID')

comment:6 Changed 5 years ago by Antoine Martin

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.