[OpenSIPS-Devel] [opensips] Segfault if you try access a core variable within an event route (#817)

telephone-man notifications at github.com
Wed Mar 2 17:04:27 CET 2016


Not sure if this is correct behavior or not.. When you try and access certain core variables in an event route it segfaults and crashes opensips.

if you can't access these core vars in event routes by design, maybe it should give a friendly error like "Cannot access variables within event routes"?

Steps to recreate..
1. Create an event route like...
```
event_route[E_UL_CONTACT_UPDATE]{
        fetch_event_params("aor=$avp(aor)");
        fetch_event_params("address=$avp(address)");
        fetch_event_params("callid=$avp(callid)");
        fetch_event_params("received=$avp(received)");
        fetch_event_params("cseq=$avp(cseq)");
        xlog("L_INFO","$si");
}
```
2. Get a device to register a 2nd time/update the contact and with logging at full it will print out..
```
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: OS-LOG::Mar-02_16-01-07.659874::19303::request_route::REGISTER-<null>-<null>::3::0_450509935 at 87.127.248.117::87.127.248.117::Manipulate AoR in locataion table
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:core:parse_headers: flags=ffffffffffffffff
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:core:parse_headers: flags=8000000
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:core:parse_headers: flags=ffffffffffffffff
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:core:parse_methods: methods 0x3FFF
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:core:evi_param_set: adding string param
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:core:evi_param_set: adding string param
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:core:evi_param_set: adding string param
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:core:evi_param_set: adding string param
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:core:evi_param_set: adding int param
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:core:evi_raise_event_msg: found subscriber E_UL_CONTACT_UPDATE
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:event_route:scriptroute_fetch: Fetching parameters for event E_UL_CONTACT_UPDATE
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:event_route:scriptroute_fetch: Successfully fetched 1 parameters
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:event_route:scriptroute_fetch: Fetching parameters for event E_UL_CONTACT_UPDATE
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:event_route:scriptroute_fetch: Successfully fetched 1 parameters
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:event_route:scriptroute_fetch: Fetching parameters for event E_UL_CONTACT_UPDATE
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:event_route:scriptroute_fetch: Successfully fetched 1 parameters
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:event_route:scriptroute_fetch: Fetching parameters for event E_UL_CONTACT_UPDATE
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:event_route:scriptroute_fetch: Successfully fetched 1 parameters
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:event_route:scriptroute_fetch: Fetching parameters for event E_UL_CONTACT_UPDATE
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: DBG:event_route:scriptroute_fetch: Successfully fetched 1 parameters
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19303]: CRITICAL:core:ip_addr2a: unknown address family 0
Mar  2 16:01:07 opensips kernel: [2871951.767851] opensips[19303]: segfault at 0 ip 00000000004e46b2 sp 00007ffeeb2e73d0 error 4 in opensips[400000+21a000]
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19315]: NOTICE:core:io_wait_loop_epoll: EPOLLIN(read) event: epollwait() set event EPOLLHUP - connection closed by the remote peer!
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19315]: CRITICAL:core:receive_fd: EOF on 15
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19315]: DBG:core:handle_worker: dead child 5, pid 19303 (shutting down?)
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19315]: DBG:core:io_watch_del: [TCP_main] io_watch_del op on index 5 15 (0x885240, 15, 5, 0x0,0x1) fd_no=25 called
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19297]: DBG:core:handle_sigs: status = 139
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19297]: INFO:core:handle_sigs: child process 19303 exited by a signal 11
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19297]: INFO:core:handle_sigs: core was generated
Mar  2 16:01:07 opensips /usr/local/sbin/opensips[19297]: INFO:core:handle_sigs: terminating due to SIGCHLD
```

---
Reply to this email directly or view it on GitHub:
https://github.com/OpenSIPS/opensips/issues/817
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/devel/attachments/20160302/89e9d9bf/attachment-0001.htm>


More information about the Devel mailing list