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.
_______________________________________________
meld-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/meld-list

Reply via email to