Working dir can be provided with -w command line parameter. If not set,
the corefile should be generated in / or a folder specific for the OS
settings (e.g., macos has /corefiles).

Root is needed because some OSes have restrictions on which app can dump
core files. You can try with a normal user and if not working, then
using root might be the solution.

Cheers,
Daniel

On 16/11/16 15:06, Alexandru Covalschi wrote:
> Thanks for response Daniel,
>
> Can you point me to the location where the core dump should be generated? 
> Afaik kamailio was compiled in /usr/local, what is the workdir for that 
> setup? 
> I can't figure it out from systemd config file. Also, is it really necessary 
> to run as root? What if I set enough permissions on workdir?
>> 16 нояб. 2016 г., в 11:32, Daniel-Constantin Mierla <mico...@gmail.com> 
>> написал(а):
>>
>> Hello,
>>
>> the plan is to freeze development of v5.0 before the Chirstmas of the
>> first week of January, then it will be a 1-1.5 months of testing,
>> followed by the release. So expect like 2-3 months till the stable
>> release of 5.0.
>>
>> As for the issue, it can be a buffer overflow somewhere, not related to
>> mysql module code, but triggered by use of it.
>>
>> It is important to get the core file for such case, before starting
>> kamailio do 'ulimit -c unlimited'. You may need to run kamailio as root
>> to be able to write the core file. Enable also the option for one core
>> file per process, typically is:
>>
>> echo "1" > /proc/sys/kernel/core_uses_pid
>>
>> Once you get core files, extract the output of 'bt full' with gdb and
>> send it over here.
>>
>> Cheers,
>> Daniel
>>
>>
>> On 15/11/16 22:35, Alexandru Covalschi wrote:
>>> Hello list,
>>>
>>> We’re using dev version of Kamailio:
>>> version: kamailio 5.0.0-dev4 (x86_64/linux) ff63e5
>>> flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, 
>>> DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, 
>>> Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, 
>>> FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, 
>>> USE_DST_BLACKLIST, HAVE_RESOLV_RES
>>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, 
>>> MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
>>> poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
>>> id: ff63e5
>>> compiled on 15:46:49 May 31 2016 with gcc 4.9.2
>>>
>>> Sometimes we encounter such issue:
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12276]: ERROR: <core> 
>>> [db_row.c:114]: db_allocate_row(): no private memory left
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12276]: ERROR: db_mysql 
>>> [km_row.c:57]: db_mysql_convert_row(): could not allocate row
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12276]: ERROR: db_mysql 
>>> [km_res.c:188]: db_mysql_convert_rows(): error while converting row #16
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12276]: ERROR: db_mysql 
>>> [km_res.c:217]: db_mysql_convert_result(): error while converting rows
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12276]: ERROR: db_mysql 
>>> [km_dbase.c:261]: db_mysql_store_result(): error while converting result
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12276]: ERROR: <core> 
>>> [db_query.c:139]: db_do_query_internal(): error while storing result
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12276]: ERROR: permissions 
>>> [trusted.c:91]: reload_trusted_table(): failed to query database
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12276]: ERROR: <core> 
>>> [db_row.c:114]: db_allocate_row(): no private memory left
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12276]: ERROR: db_mysql 
>>> [km_row.c:57]: db_mysql_convert_row(): could not allocate row
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12276]: ERROR: db_mysql 
>>> [km_dbase.c:444]: db_mysql_fetch_result(): error while converting row #15
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12276]: ERROR: htable 
>>> [ht_db.c:234]: ht_db_load_table(): Error while fetching result
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12276]: : <core> 
>>> [mem/q_malloc.c:468]: qm_free(): BUG: qm_free: freeing already freed 
>>> pointer (0x7f5ebda8ae18), called from db_mysql: km_dbase.c: 
>>> db_mysql_free_result(305), first free db_mysql: km_dbase.c: 
>>> db_mysql_free_result(305) - aborting
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12281]: CRITICAL: <core> 
>>> [pass_fd.c:275]: receive_fd(): EOF on 16
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12268]: ALERT: <core> 
>>> [main.c:739]: handle_sigs(): child process 12276 exited by a signal 6
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12268]: ALERT: <core> 
>>> [main.c:742]: handle_sigs(): core was not generated
>>> Nov  9 23:30:01 sbc01 /usr/local/sbin/kamailio[12268]: INFO: <core> 
>>> [main.c:754]: handle_sigs(): terminating due to SIGCHLD
>>>
>>> The thing is we heavily use mysql module, but only to update the in-memory 
>>> tables by kamcmd. Each N minutes a special script updates the 
>>> trusted,address and htable executing kamcmd. Kamailio (and kamcmd as well) 
>>> talks only with localhost mysql server.
>>> What I saw when encountered that issue on a live machine is that issue 
>>> happens only with one of child processes, any other are ok.
>>> Interesting thing is that happens at the same time with machines on the 
>>> same «set», I mean that issue happened simultaneously with two our test 
>>> machines which actually didn’t have any load on them. 
>>> The common thing between those machines is that they are in same subnet and 
>>> local mysql databases are filled by scripts which query same external db.
>>> I can’t confirm if there were or there weren’t any networking issues at 
>>> that time with those machines, but as soon as kamcmd queries localhost that 
>>> shouldn’t be the source of the issue.
>>>
>>> So my questions are:
>>> 1. Has anyone encountered such thing?
>>> 2. Maybe the issue is already localized so it has sense to update? We 
>>> actually use that on production (pls don’t throw too much rocks at me), so 
>>> maintenance should be properly planned and I must be sure update won’t 
>>> break anything. 
>>> 3. If update is proposed - how to do it? I mean - follow the guide 
>>> https://www.kamailio.org/wiki/install/devel/git or there are some other 
>>> tips? I suppose in ideal world I don’t even stop the binary, only restart 
>>> after make all && make install are done, as everything is in-memory. Am I 
>>> correct?
>>> 4. When can we expect stable 5.0 version? (at least tell if it’s 
>>> months/years)
>>>
>>> Thanks in advance!
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>> sr-users@lists.sip-router.org
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>> -- 
>> Daniel-Constantin Mierla
>> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
>> Kamailio Advanced Training, Berlin, Nov 28-30, 2016 - http://www.asipto.com
>>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users@lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Berlin, Nov 28-30, 2016 - http://www.asipto.com


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to