The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Facebook открыл код фреймворка для выявления утечек памяти в JavaScript"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Facebook открыл код фреймворка для выявления утечек памяти в JavaScript"  +/
Сообщение от opennews (ok), 19-Сен-22, 20:39 
Facebook открыл исходные тексты инструментария memlab, предназначенного для анализа срезов состояния  динамически распределяемой памяти (кучи), определения стратегии оптимизации работы с  памятью и выявления утечек памяти, возникающих при выполнении кода на языке JavaScript. Код открыт под лицензией MIT...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=57802

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –1 +/
Сообщение от ip1982 (ok), 19-Сен-22, 20:39 
> obj = null;

Это утечка памяти в Яваскрипте. Ок. После "1" + 1 и т. п. я ничему не удивляюсь. А также filter(None, ...) в питоне.

Ответить | Правка | Наверх | Cообщить модератору

28. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –8 +/
Сообщение от Аноним (28), 19-Сен-22, 21:23 
> А также filter(None, ...) в питоне.

И что ты там не осилил понять? Прочитать одно предложение из документации?

Ответить | Правка | Наверх | Cообщить модератору

32. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +6 +/
Сообщение от Аноним (32), 19-Сен-22, 21:28 
В С# и Java тоже почему-то "1" + 1 равно "11"
И в C++ для std::string
Почему?
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

36. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (36), 19-Сен-22, 21:33 
Потому что любят обмазываться неявным и несвежим и искать потом трудноуловимые баги)
Ответить | Правка | Наверх | Cообщить модератору

40. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +2 +/
Сообщение от Аноним (32), 19-Сен-22, 21:39 
Это что за неуловимый бог от автоматического вызова toString() при конкатенации со строкой?
Приведите реальный пример такого бага, например на java.
Ответить | Правка | Наверх | Cообщить модератору

66. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Аноним (32), 19-Сен-22, 22:13 
*неуловимый баг
Ответить | Правка | Наверх | Cообщить модератору

121. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +4 +/
Сообщение от Аноним (121), 20-Сен-22, 00:10 
и так нормально было
Ответить | Правка | Наверх | Cообщить модератору

170. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от _kp (ok), 20-Сен-22, 11:23 
Причину таких "неуловимых" багов лучше искать в зеркале.
Да, грамотных программистов на всё не хватит, но тут можно или повышать грамотность и требования, или обложить "макаку" костылями и поощрять массовое невежество.
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

190. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от длиннохвостая мартыха (?), 20-Сен-22, 15:00 
Или изобрести другой оператор для соединения строк, например:
"1" || 1
Дал бы строку "11", а вот:
"1" + 1
Дал бы число 2.
Ответить | Правка | Наверх | Cообщить модератору

208. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от _kp (ok), 21-Сен-22, 11:19 
> Или изобрести другой оператор для соединения строк

В php используется отдельный оператор для конкатенации строк. При его типизации это полезная идея.

А языки с со строгой типизацией и приведением типов, приводят типы по первому операнду или к явно заданному типу результата. Трудно не запомнить.
И то, если предупреждения не отключать, g++ выдаст предупреждение на местах где может быть потенциальная ошибка.

Ответить | Правка | Наверх | Cообщить модератору

159. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –1 +/
Сообщение от bOOster (ok), 20-Сен-22, 08:33 
rust?
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

90. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Аноним (90), 19-Сен-22, 23:11 
В C/C++ "1" + 1 равно "" (пустой строке).
Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

94. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –1 +/
Сообщение от Аноним (90), 19-Сен-22, 23:15 
А std::string("1") + 1 не скомпилируется.
Ответить | Правка | Наверх | Cообщить модератору

148. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –1 +/
Сообщение от Аноним (121), 20-Сен-22, 01:49 
не равно, вот содержимое по указателю равно (и то - если сравнивать до \0)
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

132. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от trdm (ok), 20-Сен-22, 00:23 
в 1С тоже "1"+1 = "11";
а 1 + "1" = 2
Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

34. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (36), 19-Сен-22, 21:30 
Раскройте мысль про фильтр в питоне? задокументированное поведение - которое оставит тру-объекты. не очень читаемо - да, но так и все фп в питоне по построению такое чтобы больше использовали классы и объекты с компрехеншнами. т.е. тут явная философия прослеживается
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

41. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +2 +/
Сообщение от Атятя (?), 19-Сен-22, 21:44 
>Раскройте мысль про фильтр в питоне?

Дело функции высшего порядка - принимать функции. Например, identity.

>не очень читаемо - да, но так и все фп в питоне по построению

Это не проблема фп и тут это не проблема фп в питоне. Это проблема питоняш, которым сложна выучить три с половиной функции и проблема того, кто выпилил из питона expressions, заменив их statements (а потом судорожно впиливающего expressions назад в виде :=). То, что в питоне угробила ООП - это вина Россума, в это ФП не умеющего.

>больше использовали классы

Добро пожаловать на руби и смоллток, да и common lisp тут полущ будет.

>философия

Васик нашего времени как-то слабо тянет на философию.

Ответить | Правка | Наверх | Cообщить модератору

2. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (2), 19-Сен-22, 20:45 
  var obj = {};
  console.log(obj);
  obj = null;

И где тут утечка? Память, на к-ю указывал obj больше никем не используется, спокойно можно её удалять.

Ответить | Правка | Наверх | Cообщить модератору

4. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –7 +/
Сообщение от Дубльджва (?), 19-Сен-22, 20:47 
Типа должен появиться джин и исполнить твоё желание? Залезай в код движка и освобождай.
Ответить | Правка | Наверх | Cообщить модератору

7. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +2 +/
Сообщение от Аноним (2), 19-Сен-22, 20:51 
Типа gc вообще никогда там память не чистит, что даже в таком простейшем случае лажает?
Ответить | Правка | Наверх | Cообщить модератору

74. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –7 +/
Сообщение от Дубльджва (?), 19-Сен-22, 22:25 
Кек, какой ещё gc?
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++
Ответить | Правка | Наверх | Cообщить модератору

92. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Аноним (92), 19-Сен-22, 23:14 
Ну ок, а джаве тоже нету GC, она ведь тоже на С++ написана. Я тебя понял.
Ответить | Правка | Наверх | Cообщить модератору

117. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –2 +/
Сообщение от Дубльджва (?), 20-Сен-22, 00:04 
Тебе сказали лезь в движок и исправляй код.
Ответить | Правка | Наверх | Cообщить модератору

176. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (176), 20-Сен-22, 13:25 
А не пошёл бы ты в жoпy? Если даже гугл не осилил пофиксить утечки в своём собственном движке - это фактически расписка в том, что сделать это невозможно.
Ответить | Правка | Наверх | Cообщить модератору

135. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от trdm (ok), 20-Сен-22, 00:24 
в С++ в Qt есть GC
Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

149. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –1 +/
Сообщение от Аноним (121), 20-Сен-22, 01:50 
нет
Ответить | Правка | Наверх | Cообщить модератору

171. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от _kp (ok), 20-Сен-22, 11:26 
Если включить компоненты с GC, то будет. И не только с QT.
Ответить | Правка | Наверх | Cообщить модератору

47. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Аноним (32), 19-Сен-22, 21:49 
Этот волшебный джин называется Garbage collection
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

48. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Аноним (32), 19-Сен-22, 21:51 
Garbage collector
Ответить | Правка | Наверх | Cообщить модератору

14. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (14), 19-Сен-22, 21:07 
>Например в нижеприведённом коде в Chrome утечка памяти возникает из-за объекта "obj", несмотря на то, что ему присваивается значение null, так как Chrome сохраняет внутренние ссылки на выводимые объекты для предоставления возможности их последующего инспектирования в web-консоли.

В новости написано же.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

18. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от НяшМяш (ok), 19-Сен-22, 21:16 
Это скорее не утечка, а поведение платформы. В принципе, чего ещё от хромиумных ожидать. /s
Ответить | Правка | Наверх | Cообщить модератору
Часть нити удалена модератором

44. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (32), 19-Сен-22, 21:47 
А в чем ограничен мозг у предыдущего комментатора?
Ни одной ссылки на обьект внутри js кода в примере из новости нет и сборщик мусора его должен удалить.
Но не удаляет так как так как браузеру зачем-то нужно хранить вечную ссылку чтобы показать что-то в отладочной консоли.

И вообще где в стандарте написано что console.log создаёт неудаляемый объект?

Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

51. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Аноним (-), 19-Сен-22, 21:58 
Та вроде пишут что-то непонашему:

Please be warned that if you log objects in the latest versions of Chrome and Firefox what you get logged on the console is a reference to the object, which is not necessarily the 'value' of the object at the moment in time you call console.log(), but it is the value of the object at the moment you open the console.

Ответить | Правка | Наверх | Cообщить модератору

64. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –2 +/
Сообщение от Аноним (32), 19-Сен-22, 22:11 
Это в стандарте ecmascript так и написано Firefox и chrome должны навсегда сохранять объекты для которых был вызван console.log? А как же другие браузеры им то можно их удалить?
Ответить | Правка | Наверх | Cообщить модератору

72. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +2 +/
Сообщение от Аноним (72), 19-Сен-22, 22:19 
ECMAScript описывает базовые положения языка и ни про какой input-output (включая console.log) не в курсе. А стандарт, описывающий console, оставляет все на откуп имплеметорам.
Ответить | Правка | Наверх | Cообщить модератору

197. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (197), 20-Сен-22, 16:24 
В консоли объект не просто выводится в виде текста. Он должен продолжать где-то храниться для возможностей работать с ним.
Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

209. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (209), 21-Сен-22, 13:19 
console не является частью ecmascript.
Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

60. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Аноним (72), 19-Сен-22, 22:08 
А где написано, что не создает ссылки? В спеках вызов логгера - "implementation-defined side effect". В правильно настроенном сборщике все console.log вырезаются из продакшн-сборки, а линтер на них ругается или кидает ворнинг.
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

115. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (14), 19-Сен-22, 23:51 
Утечка, которую создаёт поведение платформы.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

17. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (28), 19-Сен-22, 21:15 
Вот так сишники CVE и прогают, думая что область памяти и указатель на неё — одно и то же. А всего-то нужно было прочитать предыдущее предложение.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

118. Скрыто модератором  +/
Сообщение от Аноним (92), 20-Сен-22, 00:06 
Ответить | Правка | Наверх | Cообщить модератору

153. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от анонимывпывпemail (?), 20-Сен-22, 04:36 
> в нижеприведённом коде в Chrome утечка памяти возникает из-за объекта "obj", несмотря на то, что ему присваивается значение null, так как Chrome сохраняет внутренние ссылки на выводимые объекты для предоставления возможности их последующего инспектирования в web-консоли

ты бы чуть ниже прочитал, хоспаде, чел

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

6. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Аноним (2), 19-Сен-22, 20:50 
использовании новой версии сайта Facebook.com, приводившие к аварийному завершению браузера на стороне клиента

Фейсбук рулит (нет)

Ответить | Правка | Наверх | Cообщить модератору

187. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от JackONeillemail (?), 20-Сен-22, 14:54 
Зачем? Зачееем некоторые стали писать (нет) ?? Для кого это вообще?)))).
Ответить | Правка | Наверх | Cообщить модератору

12. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от YetAnotherOnanym (ok), 19-Сен-22, 21:04 
Сначала напихаем в веб-страницу кучу ненужнокода, а потом начнём выяснять где память утекает.
Ответить | Правка | Наверх | Cообщить модератору

25. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –6 +/
Сообщение от Аноним (25), 19-Сен-22, 21:22 
Ну конечно давай не будет ничего добавлять и дружно будем сидеть в консоли в консольных соцсеточках. Как перестать с тебя орать?
Ответить | Правка | Наверх | Cообщить модератору

157. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Без аргументов (?), 20-Сен-22, 07:24 
Чтобы загрузить чат, достаточно даже на JS отправить запрос и получить один ответ размером в 5Кб. Но вебманки называют чисто язык JS нативным, прямо как отдельное что то, не обязательное к изучению при шлепании на реактах.
Ответить | Правка | Наверх | Cообщить модератору

160. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –1 +/
Сообщение от Аноним (160), 20-Сен-22, 09:39 
Будет некрасиво и не интерактивно пользователям это не нравится. А ты проходи в консоль не задерживайся.
Ответить | Правка | Наверх | Cообщить модератору

199. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +2 +/
Сообщение от Аноним (199), 20-Сен-22, 17:38 
>в консольных соцсеточках

Хотеть.

Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

13. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Корец (?), 19-Сен-22, 21:05 
>Граждане, это что же получается, js в браузере теперь пора заменять на раст?

На сишку. В сишке, если ты вызвал free(), то это железно. Все эти {полу-}автоматические управления памятью - полумеры. В сишке если ты забыл что-то, то виноват ты сам. В язычках, типа js, как выясняется, программист может только писать код и надеяться, что он будет работать так, как ожидается.

Ответить | Правка | Наверх | Cообщить модератору

31. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (31), 19-Сен-22, 21:27 
на html

выполнять неконтролируемый (<<докапываться до орфографии здеся<<) чужой код на своём компе - изначально плохая идея

Ответить | Правка | Наверх | Cообщить модератору

71. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –1 +/
Сообщение от Корец (?), 19-Сен-22, 22:18 
Ты вещаешь так, как будто ты контролирешь весь тот js, который выполняется в твоём браузере ;)

-Да, но ведь js выполняется в браузере и обёрнут в 100500 песочниц!
-Но что нам мешает запустить таким же образом код на любом другом языке?

Ответить | Правка | Наверх | Cообщить модератору

75. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (31), 19-Сен-22, 22:28 
чукча не читатель?
Ответить | Правка | Наверх | Cообщить модератору

38. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +3 +/
Сообщение от Аноним (38), 19-Сен-22, 21:34 
Зря минусите. Лучшего управления памятью чем вручную еще никто не придумал. Это железобетонный факт, смиритесь.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

167. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Аноним (167), 20-Сен-22, 10:56 
Вручную можно как очистить. Так и злонамеренно не отчистить например.
Ответить | Правка | Наверх | Cообщить модератору

49. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +3 +/
Сообщение от Аноним (-), 19-Сен-22, 21:52 
> В сишке если ты забыл что-то, то виноват ты сам. В язычках, типа js, как выясняется, программист может только писать код и надеяться, что он будет работать так, как ожидается.

Если ты не понимаешь, как работает сборщик мусора, то это _ты_ не понимаешь. Это твоя безграмотность светится, а не особенности сборщика мусора.

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

62. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –1 +/
Сообщение от Аноним (-), 19-Сен-22, 22:10 
>это другое, понимать надо
Ответить | Правка | Наверх | Cообщить модератору

69. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –1 +/
Сообщение от Корец (?), 19-Сен-22, 22:15 
Тогда просяти меня! Я полагаю, что сборщик мусора должен уничтожать всё, на что не осталось ни единой ссылки. Как раз как в коде в новости.
Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

104. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (-), 19-Сен-22, 23:27 
Там в новости объяснено, что ссылка осталась. Читай внимательнее.
Ответить | Правка | Наверх | Cообщить модератору

151. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (151), 20-Сен-22, 04:00 
Ппц ты деревянный, точно программированием деньги зарабатываешь? Из статьи разве непонятно, что твой код не даёт никаких гарантий сам по себе, даже будучи формально корректным, нужно учитывать ещё контринтуитивный саботаж со стороны платформы V8, что в определенных условиях ссылки на все именованные аллокации в куче неявно складываются в глобальный кэш, из-за чего GC не может ничего собрать,  так как кэш жив до закрытия браузера?
Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

164. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от _hide_ (ok), 20-Сен-22, 10:46 
Как я понял, новость кто-то поправил или я нить Ваших рассуждений теряю.
Ведь черным по белому написано, что никакого кеша нет, просто панель отладки является частью страницы и, если Вы в неё что-то запулили, то ссылка на объект "будет жить вечно", пока консоль не будет очищена. Это неожиданно, но не смертельно (вообще не думал, что такое в продакшене встречается часто)
Ответить | Правка | Наверх | Cообщить модератору

52. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +4 +/
Сообщение от Анонн (?), 19-Сен-22, 22:00 
Да, в сишечке это железно. Вызвал free, а потом другой объект к обратился по этому указателю.
И use-after-free получил. Железно!
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

63. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +5 +/
Сообщение от Корец (?), 19-Сен-22, 22:11 
>Вызвал free, а потом другой объект к обратился по этому указателю. И use-after-free получил.
>В сишке если ты забыл что-то, то виноват ты сам.
Ответить | Правка | Наверх | Cообщить модератору

134. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним228 (?), 20-Сен-22, 00:24 
Ты о чем? мы про утечку памяти гутарим.
Ответить | Правка | Наверх | Cообщить модератору

152. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –2 +/
Сообщение от Аноним (151), 20-Сен-22, 04:11 
Вот поэтому сишка уместна для микроконтроллерных прошивок и шеллкодов на 2-3 тысячи строк кода максимум, а для чего-то размером с браузер лучше взять раст. Чем меньше человеческого фактора в кодовой базе, тем лучше. Утверждать обратное - говорить примерно то же самое, что если водишь давно и много, то тебе ремень и подушки безопасности не нужны.
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

196. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Совершенно другой аноним (?), 20-Сен-22, 16:06 
> для чего-то размером с браузер лучше взять раст.

В Мозилле взяли rust для браузера и не смогли..

Ответить | Правка | Наверх | Cообщить модератору

97. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +2 +/
Сообщение от Аноним (92), 19-Сен-22, 23:18 
И нахер ты обращаешься к указателю, к-й уже указывает на невалидную память?
Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

202. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от YetAnotherOnanym (ok), 20-Сен-22, 18:49 
Он по-другому не умеет. И виновата в этом дырявая сишка.
Ответить | Правка | Наверх | Cообщить модератору

172. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от _kp (ok), 20-Сен-22, 11:43 
Язык делает то что приказали. И делает хорошо. Для того он и создан.
Но, при отсутствии элементарных знаний, Си позволяет новичку пробежаться по граблям.

Ошибки обсуждаются детские. Они и возникают не часто, и отладкой выявляются, и устраняются.  Причем без ныться, без поливания грязью сторонних компонентов. Просто, задача решается.

И при переходе с GC языков на Си, иные подобные языки без GC, тоже обычно пишут "весьма странный" код.


Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

210. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (209), 21-Сен-22, 13:53 
> В сишке, если ты вызвал free(), то это железно

А потом будешь любоваться внезапными падениями вкладок. В лучшем случае.

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

16. Скрыто модератором  +1 +/
Сообщение от Аноним (28), 19-Сен-22, 21:12 
Ответить | Правка | Наверх | Cообщить модератору

27. Скрыто модератором  –2 +/
Сообщение от Аноним (25), 19-Сен-22, 21:23 
Ответить | Правка | Наверх | Cообщить модератору

30. Скрыто модератором  +/
Сообщение от Аноним (28), 19-Сен-22, 21:26 
Ответить | Правка | Наверх | Cообщить модератору

35. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –2 +/
Сообщение от Аноним (35), 19-Сен-22, 21:31 
Нет JS — нет утечек.
Ответить | Правка | Наверх | Cообщить модератору

174. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Бывалый смузихлёб (?), 20-Сен-22, 13:14 
утечки придумали ещё до жс
Ответить | Правка | Наверх | Cообщить модератору

211. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (209), 21-Сен-22, 13:56 
>Нет софта — нет утечек.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

37. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (32), 19-Сен-22, 21:34 
var obj = {};
console.log(obj);
obj = null;
так как Chrome сохраняет внутренние ссылки на выводимые объекты для предоставления возможности их последующего инспектирования в web-консоли.


Какое-то совсем неожиданное проведение.

Ответить | Правка | Наверх | Cообщить модератору

42. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (72), 19-Сен-22, 21:44 
почему неожиданное? можно позже щелкнуть в девтулзах по объекту правой кнопкой мыши и нажать "Store object as global variable" - и все, ссылка на объект снова восстановлена. IQ чуть выше, чем у хлебушка, подсказывает, что это было бы невозможно, если бы хром не сохранял ссылки на выводимые объекты.
Ответить | Правка | Наверх | Cообщить модератору

53. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –1 +/
Сообщение от Аноним (32), 19-Сен-22, 22:00 
Пытаюсь проверить что местные эксперты знали ДО этой новости что console.log создаёт неудаляемый обьект, но что-то не получается.
Наверное iq хлебушка не даёт.
Ответить | Правка | Наверх | Cообщить модератору

45. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –2 +/
Сообщение от Аноним (45), 19-Сен-22, 21:48 
Вполне себе ожидаемое поведение.

let a = {};
let b = {};
a.b = b;
b.a = a;
console.log(a)

Попробуй помедитировать в консоли раскрывая эту структуру до бесконечности и подумать, как такое может быть реализовано.

Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

50. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (-), 19-Сен-22, 21:54 
В хромом они устаревают и очищаются.
Ответить | Правка | Наверх | Cообщить модератору

178. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (178), 20-Сен-22, 13:32 
> Какое-то совсем неожиданное проведение.

Как раз ожидаемое! Объект использует консоль браузера, освобождать объект нельзя (с ним работает консоль, сами же попросили вызвав console.log). Когда в консоли очередь переполнится (которую наверное нужно поменьше поставить) тогда объект и будет удалён.


Даже в православной Java вызов сборки мусора не гарантирует освобождение памяти. GC может всякие эвристики использовать и не спешить отдавать память (для всяких SoftReference), мало ли... В итоге он освободит, но иногда не по первому вызову.

Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

54. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –1 +/
Сообщение от darkshvein (ok), 19-Сен-22, 22:02 
>утечек памяти в JavaScript

а я думал это design by default

Ответить | Правка | Наверх | Cообщить модератору

177. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (176), 20-Сен-22, 13:28 
defective by design
Ответить | Правка | Наверх | Cообщить модератору

205. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от darkshvein (ok), 20-Сен-22, 22:50 
> defective by design

точно, спс. забываю я англицизмы.

Ответить | Правка | Наверх | Cообщить модератору

77. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (31), 19-Сен-22, 22:32 
а как вообще в GC-языке возможны утечки памяти? (не забытые на сусеках объекты, а именно утечки)?

там же типа забил болт на сущность - GC должен подметать, не?

извиняюсь за тупой вопрос, я не веб-макака и не скрипт-кидди

Ответить | Правка | Наверх | Cообщить модератору

106. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +3 +/
Сообщение от Аноним (-), 19-Сен-22, 23:29 
> а как вообще в GC-языке возможны утечки памяти? (не забытые на сусеках объекты, а именно утечки)?

Никак. Поэтому в GC-языках утечками памяти называются забытые на сусеках объекты.

Ответить | Правка | Наверх | Cообщить модератору

109. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Аноним (-), 19-Сен-22, 23:35 
Вы кгутой Анон!
Держите на примере джавы.
Китайца переводила
https://russianblogs.com/article/89352659932/
Ответить | Правка | К родителю #77 | Наверх | Cообщить модератору

112. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Alladin (?), 19-Сен-22, 23:39 
так Facebook или Meta, а то что-то непонятное.. но запрещенное.
Ответить | Правка | Наверх | Cообщить модератору

116. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (116), 20-Сен-22, 00:02 
запретный фэйс сладок
Ответить | Правка | Наверх | Cообщить модератору

163. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от ыы (?), 20-Сен-22, 10:40 
У вас девиация вкусовых рецепторов.
Ответить | Правка | Наверх | Cообщить модератору

142. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 20-Сен-22, 00:37 
Интересный факт: фейсбук пользуется тайпскриптом, а не своим же flow.
Ответить | Правка | Наверх | Cообщить модератору

155. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (155), 20-Сен-22, 06:18 
> для разбора причин большого потребления памяти при работе с web-сайтами и web-приложениями.

Как бы им намекнуть, что главная причина - "23-летние синьоры" и прочие радужные профаны между столом и стулом

Ответить | Правка | Наверх | Cообщить модератору

158. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (92), 20-Сен-22, 08:33 
>  "23-летние синьоры" и прочие радужные профаны между столом и стулом

уверен, что точно не разрабы хрома, где после присваивания объекту null, он все равно остается существовать?

Ответить | Правка | Наверх | Cообщить модератору

182. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Старый комп (?), 20-Сен-22, 14:09 
Хром не должно быть. Должен быть только телнет!
Ответить | Правка | Наверх | Cообщить модератору

206. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (197), 21-Сен-22, 01:52 
Дядя, ты дурак? null присваивается переменной, а не объекту. Сам объект при этом остаётся в памяти, но не может быть собран сборщиком мусора, потому что ссылка на него появляется у консоли.
Ответить | Правка | К родителю #158 | Наверх | Cообщить модератору

156. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Хухрымухры (ok), 20-Сен-22, 06:51 
Алиллилуя!

Ещё в браузерах надо жестко ограничить максимально потребляемые ресурсы вкладками, чтоб товарищи фронтэндеры начали включать голову.

Ответить | Правка | Наверх | Cообщить модератору

161. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (160), 20-Сен-22, 09:43 
Если это кому то реально нужно, почему же тогда большие сайты не уменьшили свои js скрипты до 5кб? Ты найти этого ответа к сожалению не сможешь, поэтому Я приготовил ответ специально для тебя: «Да потому что это не кому не нужно. Пользователю нужны фичи, а не низкое потребление, они за это платят долларом»
Ответить | Правка | Наверх | Cообщить модератору

162. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Аноним (162), 20-Сен-22, 10:40 
> они за это платят долларом

причём сами того не подозревая (через слив персональных данных и постоянный апгрейд железа)

Ответить | Правка | Наверх | Cообщить модератору

168. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –1 +/
Сообщение от Аноним (167), 20-Сен-22, 11:00 
И что если они стали от этого полностью счастливыми? Зачем эта надуманная погоня за снижением потребления? Чтобы в твоём колхозе купленный вскладчину ДВК-2 мог отобразить список друзей в ВК?
Ответить | Правка | Наверх | Cообщить модератору

175. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Бывалый смузихлёб (?), 20-Сен-22, 13:19 
> И что если они стали от этого полностью счастливыми?

Но стали ли они счастливы и именно от этого ?

Ответить | Правка | Наверх | Cообщить модератору

180. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (180), 20-Сен-22, 14:05 
Абсолютли. Если ты веришь в счастье это считать на МК-54, то я тебя ставлю в известность, то это не так.
Ответить | Правка | Наверх | Cообщить модератору

169. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +4 +/
Сообщение от Аноним (167), 20-Сен-22, 11:07 
Вон счастливые обладатели 8-битных самопяйных ПК на 7 мегагерцовых процессорах видосы смотрят с CD-ROM'а http://atmturbo.nedopc.com/load_cdrom.htm#cd_soft у них же столько счастья от того что они не купили большой дорого ПэКа, а смогли сэкономить и смотрят 16 цветные видео 224x160 15 кадров в секунду.  
Ответить | Правка | К родителю #162 | Наверх | Cообщить модератору

173. "Facebook открыл код фреймворка для выявления утечек памяти в..."  –5 +/
Сообщение от n00by (ok), 20-Сен-22, 12:14 
> у них же столько счастья
> от того что они не купили большой дорого ПэКа, а смогли
> сэкономить и смотрят 16 цветные видео 224x160 15 кадров в секунду.

Конструктор ATM-turbo 2+ (версия платы v7.18)
Комплектация - печатная плата, полный набор деталей для сборки.
9500 руб

Собранная плата ПК ATM-turbo 2+ (версия платы v7.18)
13500 руб

Материнская плата Elitegroup GLKD-I2-N4120 [BGA 1090, Intel Celeron N4120 4x1.1 ГГц, 1xDDR4-2400 МГц, 1xM.2, Mini-ITX]
5 699 ₽

Ответить | Правка | Наверх | Cообщить модератору

179. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Аноним (180), 20-Сен-22, 14:04 
Ну вот и ешь тогда свой Javascript тоннами чего орать-то?
Ответить | Правка | Наверх | Cообщить модератору

183. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от n00by (ok), 20-Сен-22, 14:22 
Орёшь ты про Javascript, поскольку по существу моего сообщения сказать нечего.
Ответить | Правка | Наверх | Cообщить модератору

186. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Старый комп2 (?), 20-Сен-22, 14:50 
Так перед тобой никто и не собирался отчитываться ты же конченый от природы.
Ответить | Правка | Наверх | Cообщить модератору

188. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от n00by (ok), 20-Сен-22, 14:57 
Да знаю я, что ты никто. Регулярно тебе про это пишу. Если бы ты не бухал горильку с со спорыньёй, дошло бы.
Ответить | Правка | Наверх | Cообщить модератору

191. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Старый комп 3 (?), 20-Сен-22, 15:17 
Да ты еще знаток веществ. Всё с тобой ясно. Одновременно топишь против джаваскрипта и сам же его потребляешь тоннами. Это просто ор.
Ответить | Правка | Наверх | Cообщить модератору

181. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +3 +/
Сообщение от Старый комп (?), 20-Сен-22, 14:07 
Оуоу, давай, палегче. Что еще за собранная плата? Плату нужно самому травить, микрухи сковыривать со старой электроники, паяльник можно сделать самому. Ты из какой галактики прилетел? Из той где компы на деревьях растут?
Ответить | Правка | К родителю #173 | Наверх | Cообщить модератору

184. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от n00by (ok), 20-Сен-22, 14:24 
Каконічный Легион решил сделать вид, что понимает в пайке. На деле показал, что не умеет не только искать, но даже читать.
Ответить | Правка | Наверх | Cообщить модератору

185. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +1 +/
Сообщение от Старый комп (?), 20-Сен-22, 14:49 
Ты ясно, конечный, паяльник в руках не держал. Только ты и есть главный потребитель всего этого Javascript мусора. Чего возбудился то так?
Ответить | Правка | Наверх | Cообщить модератору

189. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от n00by (ok), 20-Сен-22, 14:59 
Сколько же ты в этом году будешь за мной скакать? ;)
Ответить | Правка | Наверх | Cообщить модератору

192. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Старый комп 4 (?), 20-Сен-22, 15:18 
Ахаха может когда перестанешь писать херню? Это же так просто вот взять и больше никогда не писать херню. Сложно чтоли?
Ответить | Правка | Наверх | Cообщить модератору

198. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от n00by (ok), 20-Сен-22, 17:29 
Так то ты себя правильно называешь последнее время. Комп. То есть бот. Ты часть ботнета. ;)
Ответить | Правка | Наверх | Cообщить модератору

204. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Максим (??), 20-Сен-22, 19:57 
Если их код такой же кривой, как и интерфейс мордокниги, то пусть лучше не открывают...
Ответить | Правка | Наверх | Cообщить модератору

212. "Facebook открыл код фреймворка для выявления утечек памяти в..."  +/
Сообщение от Онаним. (?), 23-Сен-22, 00:25 
- Например в нижеприведённом коде в Chrome утечка памяти возникает из-за объекта "obj", несмотря на то, что ему присваивается значение null, так как Chrome сохраняет внутренние ссылки на выводимые объекты для предоставления возможности их последующего инспектирования в web-консоли

Тут уже не фреймворки нужны, а пара волчьих смузи. И всё встанет на место.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру