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

segmentation fault on closure of call home connection #87

Closed
RavikumarTulugu opened this issue Sep 26, 2018 · 4 comments
Closed

segmentation fault on closure of call home connection #87

RavikumarTulugu opened this issue Sep 26, 2018 · 4 comments

Comments

@RavikumarTulugu
Copy link

we are seeing a crash when the call home connection is closed from the other end, the ch_lock and ch_cond parameters are NULL and nc_session_free tries to grab a lock on NULL ch_lock. I am pasting the stack trace below. from the code analysis it looks like the locks are not being allocated for the child sessions on the parent call home session. Please advise.

#0 __GI___pthread_mutex_lock (mutex=0x0) at ../nptl/pthread_mutex_lock.c:65
#1 0x00007ffff76570d6 in nc_session_free (session=0x7fffe4001250, data_free=0x407acf <free_ds>)
at session.c:622
#2 0x0000000000408e7c in np2srv_del_session_clb (session=0x7fffe4001250) at main.c:756
#3 0x000000000040a5fd in worker_thread (arg=0x6e0240) at main.c:1302
#4 0x000000000040b056 in main (argc=3, argv=0x7fffffffe178) at main.c:1541

@michalvasko
Copy link
Member

Hi,
firstly, you are right, locks are not allocated for child (Call Home server) session. But locking this lock is always conditioned on the session being NC_SERVER (Call Home client) so I do not know how this could have happened.

However, you are not using recent versions (neither libnetconf2 nor netopeer2 lines match) or you have some modifications so I cannot help you.

Regards,
Michal

@RavikumarTulugu
Copy link
Author

I am sorry for a misleading statement, the session is server based and we are using latest code base ( we synced a few weeks back ) we have some internal changes to the code base, they are mostly cosmetic and no way interfere with the main functionality. i am trying to understand the call home locking pattern. Please keep this bug open so that some body else might also run in to this.

michalvasko added a commit that referenced this issue Sep 27, 2018
...even when they were created on an SSH session with Call Home
NETCONF session, this new session was not created using Call Home.

Refs #87
@michalvasko
Copy link
Member

I have looked again if your situation could happen and I think it could if you created a new NETCONF session from an existing Call Home NETCONF session on the same SSH session (creating a new SSH channel only). If that is what you were doing, it should be fixed. If not, then I don't know how such a situation can occur.

Regards,
Michal

@RavikumarTulugu
Copy link
Author

Yes you are right , there are multiple channels and a new session is being created on an existing call home session. Thanks for the fix. i was suspecting the exact line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants