"lensfun update data" not working anymore ?

Since a week or two I’ve been experiencing a problem with lensfun update data, has anyone experienced this too?

System1: linux system kernel 5.4.0-124-generic, linux-mint 20.3 Cinnamon (UNA), darktable 4.0.0 , liblensfun-bin 0.3.2-5build1
System2: linux system kernel 5.10.0-16-amd64, LMDE 5 Elsie Cinnamon, darktable 4.0.0 , liblensfun 0.3.2-6

I always run the program without root password, on both systems.

The problem on both systems is that when starting lensfun-update-data in a terminal, the program stops after the line:

Reading http://wilson.bronger.org/lensfun-db/versions.json … <<< (nothing happens here for a while)


If it works properly, the program will end shortly after that line, and the contents of the folder $HOME/.local/share/lensfun/updates/version_1 will be up to date.
I suspect that http://wilson.bronger.org is not (anymore?) accessible …

Now it hangs (after that second line of Reading…), and after some time it shows the following in the terminal:

Info: root privileges needed for updating the system database.
Info: updating user DB in ‘/home/$$$$/.local/share/lensfun/updates’
Reading http://lensfun.sourceforge.net/db/versions.json
Reading http://wilson.bronger.org/lensfun-db/versions.json
Traceback (most recent call last):
File “/usr/lib/python3.8/urllib/request.py”, line 1354, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File “/usr/lib/python3.8/http/client.py”, line 1256, in request
self._send_request(method, url, body, headers, encode_chunked)
File “/usr/lib/python3.8/http/client.py”, line 1302, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File “/usr/lib/python3.8/http/client.py”, line 1251, in end headers
self._send_output(message_body, encode_chunked=encode_chunked)
File “/usr/lib/python3.8/http/client.py”, line 1011, in _send_output
self.send(msg)
File “/usr/lib/python3.8/http/client.py”, line 951, in send
self.connect()
File “/usr/lib/python3.8/http/client.py”, line 922, in connect
self.sock = self._create_connection(
File “/usr/lib/python3.8/socket.py”, line 808, in create_connection
raise err
File “/usr/lib/python3.8/socket.py”, line 796, in create_connection
sock.connect(sa)
TimeoutError: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/bin/lensfun-update-data”, line 134, in
read_location(“http://wilson.bronger.org/lensfun-db/”)
File “/usr/bin/lensfun-update-data”, line 116, in read_location
response = urllib.request.urlopen(base_url + “versions.json”)
File “/usr/lib/python3.8/urllib/request.py”, line 222, in urlopen
return opener.open(url, data, timeout)
File “/usr/lib/python3.8/urllib/request.py”, line 525, in open
response = self._open(req, data)
File “/usr/lib/python3.8/urllib/request.py”, line 542, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File “/usr/lib/python3.8/urllib/request.py”, line 502, in _call_chain
result = func(*args)
File “/usr/lib/python3.8/urllib/request.py”, line 1383, in http_open
return self.do_open(http.client.HTTPConnection, req)
File “/usr/lib/python3.8/urllib/request.py”, line 1357, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 110] Connection timed out>
Error in sys.excepthook:
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/apport_python_hook.py”, line 153, in apport_excepthook
with os.fdopen(os.open(pr_filename,
FileNotFoundError: [Errno 2] No such file or directory: ‘/var/crash/_usr_bin_lensfun-update-data.1001.crash’

Original exception was:
Traceback (most recent call last):
File “/usr/lib/python3.8/urllib/request.py”, line 1354, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File “/usr/lib/python3.8/http/client.py”, line 1256, in request
self._send_request(method, url, body, headers, encode_chunked)
File “/usr/lib/python3.8/http/client.py”, line 1302, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File “/usr/lib/python3.8/http/client.py”, line 1251, in end headers
self._send_output(message_body, encode_chunked=encode_chunked)
File “/usr/lib/python3.8/http/client.py”, line 1011, in _send_output
self.send(msg)
File “/usr/lib/python3.8/http/client.py”, line 951, in send
self.connect()
File “/usr/lib/python3.8/http/client.py”, line 922, in connect
self.sock = self._create_connection(
File “/usr/lib/python3.8/socket.py”, line 808, in create_connection
raise err
File “/usr/lib/python3.8/socket.py”, line 796, in create_connection
sock.connect(sa)
TimeoutError: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/bin/lensfun-update-data”, line 134, in
read_location(“http://wilson.bronger.org/lensfun-db/”)
File “/usr/bin/lensfun-update-data”, line 116, in read_location
response = urllib.request.urlopen(base_url + “versions.json”)
File “/usr/lib/python3.8/urllib/request.py”, line 222, in urlopen
return opener.open(url, data, timeout)
File “/usr/lib/python3.8/urllib/request.py”, line 525, in open
response = self._open(req, data)
File “/usr/lib/python3.8/urllib/request.py”, line 542, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File “/usr/lib/python3.8/urllib/request.py”, line 502, in _call_chain
result = func(*args)
File “/usr/lib/python3.8/urllib/request.py”, line 1383, in http_open
return self.do_open(http.client.HTTPConnection, req)
File “/usr/lib/python3.8/urllib/request.py”, line 1357, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 110] Connection timed out>

Greetings, Eric.

Seems indeed that Wilson website is unavailable actually. That’s why you have this issue. That so not really lensfun update data that is not working anymore. So, just need to wait that Wilson website became available or some update done in lensfun script to check another link

Waiting is the message and also a virtue … I will check that website regularly, thanks for your answer.
Greeting,s Eric.

This is a temporary problem:

Taken from the above issue:

I move to another location and thus my private server has a downtime. When the server is up and running again in the new apartment, I close this ticket.


EDIT @bridgemen

I edited the tags. This is a more general issue and not darktable specific.

Ah ok, thanks for the info, we’ll see when everything works again.
Eric.

In case this is urgent, I’ll send you a copy of my last update from January via PM, this should go into .local/share/lensfun/updates/ and replace your files there – but I suggest you do a backup of these files before! I don’t put it here publicly as the files do not contain license information. If somebody got a copy with this information, this would be great to have until bronger.org respawns.

Thanks Chris, I backup to 2 SSDs almost daily. Probably overkill, but this is because I used to work (before I retired) with unix and tapes as backup and they weren’t as safe as those ssds now, hence the two backup ssds… So got the data from Aug 5 2022 as backup.
Greets, Eric.

I just tested database retrieval with my dbupdate program, and I’m getting both version 1 and 2 updates just fine. Both are current as of August 7th.

As this is hardly the norm I wanted to be sure that you will not lose your current update status. But if you already care, even better. :smile:

FYI, the lensfun service is back …(2 hours ago)
Eric.

2 Likes

Just now:

PORT STATE SERVICE
22/tcp closed ssh
80/tcp closed http
119/tcp closed nntp
222/tcp closed rsh-spx
443/tcp closed https
995/tcp closed pop3s
2222/tcp open EtherNetIP-1
8443/tcp closed https-alt
it’s about ports state on http://wilson.bronger.org

Website is apparently down …

I posted an issue at the lensfun github:

I see

root@t550:~# lensfun-update-data 
Reading http://lensfun.sourceforge.net/db/versions.json …
Reading http://wilson.bronger.org/lensfun-db/versions.json …
Successfully updated the database in /var/lib/lensfun-updates/version_1.
root@t550:~# 

Yeah, they fixed bronger.org this afternoon…

sourceforge.net was my bad, they’d updated the url to https, and then sourceforge turned off their http.

1 Like

I’ve been meaning to set up a git repo that contains only the lens profile XML in their various versions. It’d be easier to work with for the flatpak and NixOS package.

It’d probably also be more tolerant as it’d be hosted on github/lab

2 Likes

If I try to update lensfun via lensfun-update-data Iget the following error massage and no update:
Traceback (most recent call last):
File “/usr/local/bin/lensfun-update-data”, line 51, in
lensfun_updates_dir = lensfun.system_db_update_path
AttributeError: module ‘lensfun’ has no attribute ‘system_db_update_path’

i’m working on Linus Mint 21. Before upgrading Linux I had no problem.

What can I do to overcome this problem? Any help is very much appreciated.

Did you run with sudo?

Yes I did.

You’ll need to report this error to Linux mint.