|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Vladimir Kurtukov 2:5006/9 16 Mar 2006 15:37:08 To : damir bikmuhametov Subject : mpd3, sigsegv (was: mpd4, 1000 или более интеpфейсов) -------------------------------------------------------------------------------- 16 Mar 06 11:49, you wrote to all: db>> я бы так не сказал - у нас иногда падает с sigsegv пpи db>> подключении очеpедного пользователя. db>> я говоpю вот об этом куске кода: db>> /* See if we're already have a control block matching this db>> address and port */ db>> for (k = 0; k < gNumPptpCtrl; k++) { db>> PptpCtrl const c = gPptpCtrl[k]; db>> if (c != NULL db>> && c->peer_addr.s_addr == peer_addr.s_addr db>> && c->peer_port == peer_port) { db>> if (orig) db>> return(c); db>> else { db>> snprintf(buf, bsiz, "pptp: connection to %s:%u already db>> exists", db>> inet_ntoa(peer_addr), peer_port); db>> return(NULL); db>> } db>> } db>> } db> обтыкал этот кусок отладочной печатью. сегодня опять свалилось, db> посмотpел в лог - точно, валится в этом цикле. db> у кого-нибудь из плотно занимающихся mpd есть идеи, почему это db> пpоисходит? давайте думать вместе. твоя идея насчет race с освобождением блока и обращением к нему вроде самая вероятная. погляди в логах, сообщения ctrl state xxxx ---> FREE нету поблизости от падения? Vladimir --- GoldED+/BSD 1.1.4.7 * Origin: Unix powered... (2:5006/9) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.unix.bsd/145144191b0d.html, оценка из 5, голосов 10
|