Aleksey Salow (w00dy) wrote,
Aleksey Salow
w00dy

Category:
  • Mood:
  • Music:

FreeBSD: мысли о current

Предыдущий апдейт родил у меня в голове мысль: "Неужели". Неужели фряху поломали. Оказалось что я был не прав. Её не поломали, её сделали лучше. Причина всему - новый malloc. Дело в том что -CURRENT это некий полигон для испытаний. И вот мы получили новый переписаный malloc, который должен работать быстрее в многопоточном/многопроцессорном окружении. Но почему часть софта поламалась? Немного полистав рассылку freebsd-current я понял: redzones.

Дело в том что сейчас malloc добавляет в перед и после области памяти свои кусочки, т.н. redzone. Благодаря этому он может отслеживать переполнение буфера. Если зоны повреждены - значит kill программе без раздумий. Есно что это можно отключить, но зачем, если кривой софт можно убивать ещё в зародыше.

Как результат всего первым отпал Xorg. Заменил его на -snap, замечательно. Дальше отпал aterm. Причина - libAfterImage. Отключил в нём прозрачность и пока доволен. Немного дальше - tin. Багу нашёл и исправил, сейчас буду писать мыло разрабам и коммитерам, пусть добавляют.

Вот такие пироги с котятами. Но чтобы не говорили, но это круто ;)

PS Патч для тина

Фряшники могут переименовать в patch-ww и положить в /usr/ports/news/tin/files, все остальные сами разберутся ;)

--- src/misc.c.orig Wed Jan 18 23:29:33 2006
+++ src/misc.c Wed Jan 18 23:29:58 2006
@@ -2570,15 +2570,7 @@
buffer_to_ascii(
char *c)
{
- char *a = c;
-
- while (*c != '\0') {
- /* reduce to US-ASCII, other non-prints are filtered later */
- if ((unsigned char) *c >= 128)
- *c = '?';
- c++;
- }
- return a;
+ return c;
}


--- src/mail.c.orig Wed Jan 18 23:29:18 2006
+++ src/mail.c Wed Jan 18 23:29:28 2006
@@ -369,7 +369,7 @@
space = strlen(ptr) + 1;
groupname = my_malloc(space);
} else {
- while (strlen(ptr) > space) { /* realloc needed? */
+ while (strlen(ptr) + 1 > space) { /* realloc needed? */
space <<= 1; /* double size */
groupname = my_realloc(groupname, space);
}

Tags: programming, software
Subscribe

  • О датах

    Запишем даты в список проклятых тем в этом вашем вайти в которые никто не умеет. У всех с этими датами, временем, таймзонами выходит какая-то херня…

  • Ремонт: часть 3, электрификация всей страны

    Советы по электрической части. Без философских рассуждений, строго по делу. Выбирая вот это всё, я руководствовался двумя простыми правилами: не…

  • Ремонт: часть 2, генплан

    В основе ремонта должен быть план. Что где стоит, куда подключено, куда сливает, и ответы на прочие насущные вопросы. Так уж получилось, что…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 13 comments

  • О датах

    Запишем даты в список проклятых тем в этом вашем вайти в которые никто не умеет. У всех с этими датами, временем, таймзонами выходит какая-то херня…

  • Ремонт: часть 3, электрификация всей страны

    Советы по электрической части. Без философских рассуждений, строго по делу. Выбирая вот это всё, я руководствовался двумя простыми правилами: не…

  • Ремонт: часть 2, генплан

    В основе ремонта должен быть план. Что где стоит, куда подключено, куда сливает, и ответы на прочие насущные вопросы. Так уж получилось, что…