Re:meld chgroot



Hi!
I've played a bit with running file compare in meld without /dev/shm and found two facts.

1. Since the exception is thrown from python's multiprocessing.Pool() constructor,
(In python 2.7 it is OSError, in python 3.5 it is FileNotFoundError) it looks hard to tell from python 
exception is it related to /dev/shm or something else.
But the /dev/shm case may be quite common: when I temporarily make /dev/shm inaccessible my browser crashes 
with

"[10822:0907/130213:FATAL:shared_memory_posix.cc(295)] This is frequently caused by incorrect permissions on 
/dev/shm.  Try 'sudo chmod 1777 /dev/shm' to fix."
So chromium code base has a special error message for it.

2.It looks that there is one more option to make this problem more user-friendly: just falling back to 
ThreadPool, making multiprocessing.Pool which causes the exception is optional dependency for meld.

On windows platform meld already is always using multiprocessing.pool.ThreadPool and it works fine.

I suppose that on linux multiprocessing.Pool is a bit faster than multiprocessing.pool.ThreadPool. so it used 
by default.
A simple experiment with inaccessible /dev/shm shows that if meld is modified to use ThreadPool in the case 
of OSError in Pool constructor, it just continue working fine.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]