Skip to content

ssl.SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:852)

I'm using this docker image to run a marge bot instance: https://hub.docker.com/layers/smarkets/marge-bot/latest/images/sha256-8cb915301d296198c142ba5045ba72bce883d62b5e8758fed960cb04cd95626c?context=explore

Recently, I upgraded my gitlab instance to the latest version (in docker), and the marge bot suddenly stops working. The debug log is as follows:

gitlab-marge-bot_1  | 2021-05-01 06:15:49,773 DEBUG REQUEST: GET https://<URL>/api/v4/user {'PRIVATE-TOKEN': '5J9FrVXSBcyd9znwngVu'} {'params': {}}                                                   
gitlab-marge-bot_1  | 2021-05-01 06:15:49,777 DEBUG Starting new HTTPS connection (1): <URL>:443                                                                                                      
gitlab-marge-bot_1  | Exception occured                                                                                                                                                                            
gitlab-marge-bot_1  | Traceback (most recent call last):                                                                                                                                                           
gitlab-marge-bot_1  |   File "/nix/store/0njr1xbgk5d12yxnxb63l1ych1b6s1v3-python3.6-urllib3-1.24.3/lib/python3.6/site-packages/urllib3/connectionpool.py", line 600, in urlopen                                    
gitlab-marge-bot_1  |     chunked=chunked)                                                                                                                                                                         
gitlab-marge-bot_1  |   File "/nix/store/0njr1xbgk5d12yxnxb63l1ych1b6s1v3-python3.6-urllib3-1.24.3/lib/python3.6/site-packages/urllib3/connectionpool.py", line 343, in _make_request                              
gitlab-marge-bot_1  |     self._validate_conn(conn)                                                                                                                                                                
gitlab-marge-bot_1  |   File "/nix/store/0njr1xbgk5d12yxnxb63l1ych1b6s1v3-python3.6-urllib3-1.24.3/lib/python3.6/site-packages/urllib3/connectionpool.py", line 839, in _validate_conn                             
gitlab-marge-bot_1  |     conn.connect()                                                                                                                                                                           
gitlab-marge-bot_1  |   File "/nix/store/0njr1xbgk5d12yxnxb63l1ych1b6s1v3-python3.6-urllib3-1.24.3/lib/python3.6/site-packages/urllib3/connection.py", line 344, in connect                                        
gitlab-marge-bot_1  |     ssl_context=context)                                                                                                                                                                     
gitlab-marge-bot_1  |   File "/nix/store/0njr1xbgk5d12yxnxb63l1ych1b6s1v3-python3.6-urllib3-1.24.3/lib/python3.6/site-packages/urllib3/util/ssl_.py", line 345, in ssl_wrap_socket                                 
gitlab-marge-bot_1  |     return context.wrap_socket(sock, server_hostname=server_hostname)                                                                                                                        
gitlab-marge-bot_1  |   File "/nix/store/lwwk80ls3sb1dfljfsrrx6wlkjkd8imn-python3-3.6.8/lib/python3.6/ssl.py", line 407, in wrap_socket                                                                            
gitlab-marge-bot_1  |     _context=self, _session=session)                                                                                                                                                         
gitlab-marge-bot_1  |   File "/nix/store/lwwk80ls3sb1dfljfsrrx6wlkjkd8imn-python3-3.6.8/lib/python3.6/ssl.py", line 817, in __init__                                                                               gitlab-marge-bot_1  |     self.do_handshake()                                                                                                                                                                      
gitlab-marge-bot_1  |   File "/nix/store/lwwk80ls3sb1dfljfsrrx6wlkjkd8imn-python3-3.6.8/lib/python3.6/ssl.py", line 1077, in do_handshake                                                                          
gitlab-marge-bot_1  |     self._sslobj.do_handshake()
gitlab-marge-bot_1  |   File "/nix/store/lwwk80ls3sb1dfljfsrrx6wlkjkd8imn-python3-3.6.8/lib/python3.6/ssl.py", line 689, in do_handshake
gitlab-marge-bot_1  |     self._sslobj.do_handshake()
gitlab-marge-bot_1  | ssl.SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:852)

I'd like to ask how this problem can be solved. Thanks!