[prev in list] [next in list] [prev in thread] [next in thread]
List: serdev
Subject: [sr-dev] [kamailio/kamailio] crash in slow timer (#2120)
From: lazedo <notifications () github ! com>
Date: 2019-10-31 15:36:10
Message-ID: kamailio/kamailio/issues/2120 () github ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
<!--
Kamailio Project uses GitHub Issues only for bugs in the code or feature requests. \
Please use this template only for bug reports.
If you have questions about using Kamailio or related to its configuration file, ask \
on sr-users mailing list:
* http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
If you have questions about developing extensions to Kamailio or its existing C code, \
ask on sr-dev mailing list:
* http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Please try to fill this template as much as possible for any issue. It helps the \
developers to troubleshoot the issue.
If there is no content to be filled in a section, the entire section can be removed.
You can delete the comments from the template sections when filling.
You can delete next line and everything above before submitting (it is a comment).
-->
### Description
on busy servers, there's a sporadic crash in slow timer.
we don't have any debugging data anymore nor a way to reliably reproduce it.
just posting here in case someone sees the same and can find a way to reliably \
reproduce it and maybe test the patch below. <!--
Explain what you did, what you expected to happen, and what actually happened.
-->
### Troubleshooting
#### Reproduction
<!--
If the issue can be reproduced, describe how it can be done.
-->
### Possible Solutions
<!--
If you found a solution or workaround for the issue, describe it. Ideally, provide a \
pull request with a fix.
-->
with the patch below we don't see any crashes
either `tl` or `tl->f` is null when it crashes. this is probably some race condition
```
diff --git a/src/core/timer.c b/src/core/timer.c
index 0e0dc8812..3c59db3da 100644
--- a/src/core/timer.c
+++ b/src/core/timer.c
@@ -1128,7 +1128,7 @@ void slow_timer_main()
#endif
SET_RUNNING_SLOW(tl);
UNLOCK_SLOW_TIMER_LIST();
- ret=tl->f(*ticks, tl, tl->data);
+ ret= (tl->f ? tl->f(*ticks, tl, tl->data) : 0);
/* reset the configuration group handles */
cfg_reset_all();
if (ret==0){
```
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
5.1 / 5.2
```
* **Operating System**:
<!--
Details about the operating system, the type: Linux (e.g.,: Debian 8.4, Ubuntu 16.04, \
CentOS 7.1, ...), MacOS, xBSD, Solaris, ...; Kernel details (output of `uname -a`)
-->
```
CentOS7
```
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2120
[Attachment #5 (text/html)]
<h3>Description</h3>
<p>on busy servers, there's a sporadic crash in slow timer.<br>
we don't have any debugging data anymore nor a way to reliably reproduce it.<br>
just posting here in case someone sees the same and can find a way to reliably \
reproduce it and maybe test the patch below.</p>
<h3>Troubleshooting</h3>
<h4>Reproduction</h4>
<h3>Possible Solutions</h3>
<p>with the patch below we don't see any crashes<br>
either <code>tl</code> or <code>tl->f</code> is null when it crashes. this is \
probably some race condition</p> <pre><code>diff --git a/src/core/timer.c \
b/src/core/timer.c index 0e0dc8812..3c59db3da 100644
--- a/src/core/timer.c
+++ b/src/core/timer.c
@@ -1128,7 +1128,7 @@ void slow_timer_main()
#endif
SET_RUNNING_SLOW(tl);
UNLOCK_SLOW_TIMER_LIST();
- ret=tl->f(*ticks, tl, tl->data);
+ ret= (tl->f ? tl->f(*ticks, tl, tl->data) : 0);
/* reset the configuration group handles */
cfg_reset_all();
if (ret==0){
</code></pre>
<h3>Additional Information</h3>
<ul>
<li><strong>Kamailio Version</strong> - output of <code>kamailio -v</code></li>
</ul>
<pre><code>5.1 / 5.2
</code></pre>
<ul>
<li><strong>Operating System</strong>:</li>
</ul>
<pre><code>CentOS7
</code></pre>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You \
are receiving this because you are subscribed to this thread.<br />Reply to this \
email directly, <a href="https://github.com/kamailio/kamailio/issues/2120?email_source \
=notifications&email_token=ABO7UZJEYT7AHSCN7J3IMPTQRL3OVA5CNFSM4JHMFEM2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HV2MIUQ">view \
it on GitHub</a>, or <a \
href="https://github.com/notifications/unsubscribe-auth/ABO7UZOHMHYEZT7QMQP3CDTQRL3OVANCNFSM4JHMFEMQ">unsubscribe</a>.<img \
src="https://github.com/notifications/beacon/ABO7UZIZ5J5RPTYK4BFC3DTQRL3OVA5CNFSM4JHMFEM2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HV2MIUQ.gif" \
height="1" width="1" alt="" /></p> <script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/kamailio/kamailio/issues/2120?email_source=notifications \
\u0026email_token=ABO7UZJEYT7AHSCN7J3IMPTQRL3OVA5CNFSM4JHMFEM2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HV2MIUQ",
"url": "https://github.com/kamailio/kamailio/issues/2120?email_source=notifications\u \
0026email_token=ABO7UZJEYT7AHSCN7J3IMPTQRL3OVA5CNFSM4JHMFEM2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HV2MIUQ",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>
[Attachment #6 (text/plain)]
_______________________________________________
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic