Bug 342832

Summary: nepomukbaloomigrator - serious failure caused by file descriptor leak
Product: [Frameworks and Libraries] Baloo Reporter: Richard Z. <rz>
Component: GeneralAssignee: Vishesh Handa <me>
Status: RESOLVED UNMAINTAINED    
Severity: critical CC: rdieter
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:

Description Richard Z. 2015-01-14 12:56:19 UTC
nepomukbaloomigrator has a serious file descriptor leak causing it to crash halfway through the process.

Because some tags will be already migrated users may not notice that the process did not finish successfully and loose data.

Partial strace available.


Reproducible: Always

Steps to Reproduce:
balooctl stop; ulimit -S -n 4096; rm ~/.kde/share/config/nepomukserverrc; nepomukctl start; sleep 600; nepomukbaloomigrator




partial listing of /proc/PID/fd :

lr-x------. 1 rz rz 64 Jan 14 11:14 929 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 93 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 930 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 931 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 932 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 933 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 934 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 935 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 936 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 937 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 938 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 939 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 94 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 940 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 941 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 942 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 943 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 944 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 945 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 946 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 947 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 948 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 949 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 95 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 950 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 951 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 952 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 953 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 954 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 955 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 956 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 957 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 958 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 959 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 96 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 960 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 961 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 962 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 963 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 964 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 965 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 966 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 967 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 968 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 969 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 97 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 970 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 971 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 972 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 973 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 974 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 975 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 976 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 977 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 978 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 979 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 98 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 980 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 981 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 982 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 983 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 984 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 985 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 986 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 987 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 988 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 989 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 99 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 990 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 991 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 992 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 993 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 994 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 995 -> /home/rz/.local/share/baloo/file/position.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 996 -> /home/rz/.local/share/baloo/file/postlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 997 -> /home/rz/.local/share/baloo/file/record.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 998 -> /home/rz/.local/share/baloo/file/termlist.DB
lr-x------. 1 rz rz 64 Jan 14 11:14 999 -> /home/rz/.local/share/baloo/file/position.DB
Comment 1 Vishesh Handa 2015-01-14 14:05:21 UTC
Hi Richard

Thanks for reporting the bug. Unfortunately, the Nepomuk project is now unmaintained, and the kde4 version of Baloo will not be getting any more updates. I could leave this bug open, but it's unlikely that it will be looked at.

With Plasma5 we're always storing the tags in the xattr, and that makes loosing the tags far more unlikely. Perhaps you want to upgrade and try it out. I'm sure we could use your input.

Thanks again for taking the time to report this.