Hello!
I wanted to upgrade a server from 1.1.0 to 1.2.2 today but despite extensive testing beforehand i have some trouble: After starting with the new openser-binary, it didn't allow any registrations and answered with "500 server error occured". Logging said:
Sep 18 17:23:12 [/sbin/openser] ERROR: sip_msg_cloner: cannot allocate \ memory_ Sep 18 17:23:12 [/sbin/openser] ERROR: new_t: out of mem:_ Sep 18 17:23:12 [/sbin/openser] ERROR: t_newtran: new_t failed_Sep 18
and
17:23:12 [/sbin/openser] ERROR: sip_msg_cloner: cannot allocate memory_ Sep 18 17:23:12 [/sbin/openser] ERROR: store_reply: can't alloc' clone \ memory_
after restarting it with "-m 128"(according to the faq) these errors are gone, but it still doesn't accept registrations and prints: Sep 18 17:24:16 [/sbin/openser] ERROR:tm:print_uac_request: no shmem_ Sep 18 17:24:16 [/sbin/openser] ERROR:tm:t_forward_nonack: failure to \ add branches_ Sep 18 17:24:16 [/sbin/openser] ERROR:tm:w_t_relay: t_forward_nonack \ failed_
[update] - after several restarts, the first error-messages appeared again.
When i run the new version on port 5061(old production server 1.1.0 is running parallel on port 5060) i can register with the new server(on port 5061) without problems.
I have the vague impression that the new instance can't free memory, but why does it work when i run it on a different port? Any clues?
Regards Christian
Are you sure that all processes of the old openser process are killed? This looks indeed very strange.
klaus
Benko schrieb:
Hello!
I wanted to upgrade a server from 1.1.0 to 1.2.2 today but despite extensive testing beforehand i have some trouble: After starting with the new openser-binary, it didn't allow any registrations and answered with "500 server error occured". Logging said:
Sep 18 17:23:12 [/sbin/openser] ERROR: sip_msg_cloner: cannot allocate \ memory_ Sep 18 17:23:12 [/sbin/openser] ERROR: new_t: out of mem:_ Sep 18 17:23:12 [/sbin/openser] ERROR: t_newtran: new_t failed_Sep 18
and
17:23:12 [/sbin/openser] ERROR: sip_msg_cloner: cannot allocate memory_ Sep 18 17:23:12 [/sbin/openser] ERROR: store_reply: can't alloc' clone \ memory_
after restarting it with "-m 128"(according to the faq) these errors are gone, but it still doesn't accept registrations and prints: Sep 18 17:24:16 [/sbin/openser] ERROR:tm:print_uac_request: no shmem_ Sep 18 17:24:16 [/sbin/openser] ERROR:tm:t_forward_nonack: failure to \ add branches_ Sep 18 17:24:16 [/sbin/openser] ERROR:tm:w_t_relay: t_forward_nonack \ failed_
[update] - after several restarts, the first error-messages appeared again.
When i run the new version on port 5061(old production server 1.1.0 is running parallel on port 5060) i can register with the new server(on port 5061) without problems.
I have the vague impression that the new instance can't free memory, but why does it work when i run it on a different port? Any clues?
Regards Christian
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
On Wed, 19 Sep 2007 08:17:00 +0200 Klaus Darilion klaus.mailinglists@pernau.at wrote:
Are you sure that all processes of the old openser process are killed? This looks indeed very strange.
Yes, definitely - if i can trust `ps ax|grep openser` ;-) netstat also shows nothing listening on port 5060 after killing the old version and before starting the new one(I also remove /tmp/fifo if it isn't deleted automatically). I guess it would be gone when i restart the host but this is not possible...
I also have no problems to start the 1.1.0-version again after killing the new one...
regards Christian
I've recompiled openser with memory-debug now, as recommended in http://openser.org/dokuwiki/doku.php/troubleshooting:memory but i looks ok i think, i don't see any "not-freed memory"-entries(After letting the server "rest" for 40 minutes without any traffic). Guess i'll have to prepare a reboot if there're no other ideas...
0(32377) ----------------------------- 0(32377) Memory status (shm): 0(32377) qm_status (0xb3ae2000): 0(32377) heap size= 67108864 0(32377) used= 16, used+overhead=23008, free=67085856 0(32377) max used (+overhead)= 1633712 0(32377) dumping all alloc'ed. fragments: 0(32377) 0. N address=0xb3ae71a8 frag=0xb3ae71a0 size=16 used=1 0(32377) dumping free list stats : 0(32377) hash= 1. fragments no.: 53, unused: 0 bucket size: 16 - 16 (first 16) 0(32377) hash= 2. fragments no.: 49, unused: 0 bucket size: 32 - 32 (first 32) 0(32377) hash= 3. fragments no.: 9, unused: 0 bucket size: 48 - 48 (first 48) 0(32377) hash= 4. fragments no.: 1, unused: 0 bucket size: 64 - 64 (first 64) 0(32377) hash= 6. fragments no.: 1, unused: 0 bucket size: 96 - 96 (first 96) 0(32377) hash= 8. fragments no.: 1, unused: 0 bucket size: 128 - 128 (first 128) 0(32377) hash= 32. fragments no.: 2, unused: 0 bucket size: 512 - 512 (first 512) 0(32377) hash= 38. fragments no.: 2, unused: 0 bucket size: 608 - 608 (first 608) 0(32377) hash= 65. fragments no.: 1, unused: 0 bucket size: 1040 - 1040 (first 1040) 0(32377) hash= 72. fragments no.: 1, unused: 0 bucket size: 1152 - 1152 (first 1152) 0(32377) hash= 97. fragments no.: 1, unused: 0 bucket size: 1552 - 1552 (first 1552) 0(32377) hash= 129. fragments no.: 1, unused: 0 bucket size: 2064 - 2064 (first 2064) 0(32377) hash= 143. fragments no.: 1, unused: 0 bucket size: 2288 - 2288 (first 2288) 0(32377) hash= 146. fragments no.: 1, unused: 0 bucket size: 2336 - 2336 (first 2336) 0(32377) hash= 225. fragments no.: 1, unused: 0 bucket size: 3600 - 3600 (first 3600) 0(32377) hash= 256. fragments no.: 2, unused: 0 bucket size: 4096 - 4096 (first 4096) 0(32377) hash= 640. fragments no.: 1, unused: 0 bucket size: 10240 - 10240 (first 10240) 0(32377) hash= 1031. fragments no.: 1, unused: 0 bucket size: 1048576 - 2097152 (first 1572864) 0(32377) hash= 1036. fragments no.: 1, unused: 0 bucket size: 33554432 - 67108864 (first 65475152) 0(32377) ----------------------------- 0(32377) shm_mem_destroy 0(32377) destroying the shared memory lock 0(32377) Thank you for flying openser