Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CRASH] clusterer crashes in drouting sync with a bad DB node URL #2746

Closed
liviuchircu opened this issue Feb 7, 2022 · 0 comments
Closed
Milestone

Comments

@liviuchircu
Copy link
Member

liviuchircu commented Feb 7, 2022

In case of a bad provisioning of the clusterer table, e.g.:

opensips=> select * from clusterer;
  id  | cluster_id | node_id |                  url                   | state | no_ping_retries | priority | sip_addr | flags  | description 
------+------------+---------+----------------------------------------+-------+-----------------+----------+----------+--------+-------------
 6912 |          1 |       1 | bin:fc7a:db3e:205:547b:b494:2:0:48b8   |     1 |               3 |       50 | <null>   | <null> | <null>
 6652 |          1 |       2 | bin:[fc7a:db3e:205:547b:b494:2:0:4cfe] |     1 |               3 |       50 | <null>   | <null> | <null>
(2 rows)

... clusterer fails to parse the node URL:

Feb  4 14:18:47 [1] DBG:clusterer:load_db_info: 2 rows found in clusterer
Feb  4 14:18:47 [1] ERROR:clusterer:parse_phostport:  too many colons in bin:fc7a:db3e:205:547b:b494:2:0:48b8
Feb  4 14:18:47 [1] ERROR:clusterer:add_node_info: Bad URL!
Feb  4 14:18:47 [1] ERROR:clusterer:load_db_info: Unable to add node info to backing list

... but OpenSIPS still starts. Later on, it crashes in clusterer, because of what I suspect to be a NULL cluster->current_node field:

Feb  4 14:18:47 [36] DBG:clusterer:cl_request_sync: requesting drouting-status-repl sync in cluster 1
Feb  4 14:18:47 [36] DBG:clusterer:cl_request_sync: donor node not found
Feb  4 14:18:47 [36] CRITICAL:core:sig_usr: segfault in process pid: 36, id: 5
Feb  4 14:18:47 [36] DBG:core:restore_segv_handler: restoring SIGSEGV handler...
Feb  4 14:18:47 [36] DBG:core:restore_segv_handler: successfully restored system SIGSEGV handler

OpenSIPS version you are running

version: opensips 3.2.4 (x86_64/linux)
flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, CC_O0, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll, sigio_rt, select.
git revision: 28101e124
@liviuchircu liviuchircu added the bug label Feb 7, 2022
@liviuchircu liviuchircu added this to the 3.1.8 milestone Feb 7, 2022
rvlad-patrascu added a commit that referenced this issue Feb 15, 2022
rvlad-patrascu added a commit that referenced this issue Feb 15, 2022
tommybrecher pushed a commit to Vonage/h2o-opensips that referenced this issue Sep 18, 2024
tommybrecher pushed a commit to Vonage/h2o-opensips that referenced this issue Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants