There is bunch of AttributeErrors seen when vdsm log fails. Exception AttributeError: "'NoneType' object has no attribute 'write'"Exception in thread ioprocess communication (15770) (most likely raised during interpreter shutdown): in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa0bb84a510>> ignored Exception AttributeError: "'NoneType' object has no attribute 'wrTraceback (most recent call last): ite'" File "/usr/lib64/python2.7/threading.py", line 804, in __bootstrap_inner in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f7b5b10>> ignored Exception AttributeError File "/usr/lib64/python2.7/threading.py", line 757, in run : File "/usr/lib/python2.7/site-packages/ioprocess/__init__.py", line 180, in _communicate"'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f831950>><type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'close' ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f84fe90>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f866850>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f82fbd0>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f7b5310>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa0bb84a350>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa0bb919550>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f861690>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f8342d0>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa0b8491610>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa0b8187ed0>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa0bb800ad0>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f861a10>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa0bb791090>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa0bb774650>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f834b10>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f77fb50>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f84ad90>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f84f690>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f60f510>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f84a4d0>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f82f150>> ignored Exception AttributeError: "'NoneType' object has no attribute 'write'" in <bound method IOProcess.__del__ of <ioprocess.IOProcess object at 0x7fa07f831290>> ignored
The root cause is using __del__ in ioprocess for resources management. This is bad idea in general, but we cannot fix it in ioprocess because old vdsm versions depend on this. The reason we see this when running vdsm tests is vdsm does not manage the lifetime of ioprocess during the tests. Tests that use ioprocess should clean up the created instances when the test is done. Moving the bug back to vdsm.
Bug tickets must have version flags set prior to targeting them to a release. Please ask maintainer to set the correct version flags and only then set the target milestone.
High risk for a questionable reward. At this point in time, it isn't work the risk for 4.0.z.
The latest patch is simple enough to backport to 4.0. This patch does not improve the scale issues, but it fixes the warnings during shutdown. This patch also fixes the issue of stuck tests we see randomly on the CI, caused by the ioprocess threads automatic close. We will open a separate bug for the scale issues.
Merged in master.
Hey Nir, Can we get a clear steps to reproduce?
This happens every time you run "make check" before the fix. We never seen this in the application itself since stderr is redirected to /dev/null.
The fix for this issue should be included in oVirt 4.1.0 beta 1 released on December 1st. If not included please move back to modified.
Nir, can you provide an exact flow?
(In reply to Elad from comment #10) > Nir, can you provide an exact flow? This is not visible in vdsm (the errors are sent to /dev/null). The only way to reproduce this is to run vdsm tests before and after this patch.
Elad, see also comment 8.
Raz, to me it sounds like CLOSED UPSTREAM. What do you think?
Yes, close it with resolution UPSTREAM