Приложение Ruby, которое выдает "попытку удалить неизвестный пул релизов"?(OpenGL, OS X) - PullRequest
0 голосов
/ 01 октября 2011

В моем небольшом проекте на Ruby, использующем OpenGL через Gosu и Chingu, сейчас я вижу, как во время моих тестов всплывает ряд этих ошибок:

2011-09-30 23: 31: 01.789 ruby[832: 903] * попытка вытолкнуть неизвестный пул автоматического выпуска (0x12c55a00)

ОБНОВЛЕНИЕ : я также вижу некоторые из этих форм,определенно указывает на утечку:

2011-10-01 03: 50: 00.281 ruby ​​[3212: 903] * __NSAutoreleaseNoPool (): объект 0x461aa0 класса NSCFNumber автоматически освобожден без пулана месте - просто утечка

2011-10-01 03: 50: 00.282 ruby ​​[3212: 903] * __NSAutoreleaseNoPool (): объект 0x461ae0 класса NSConcreteValue автоматически освобожден без пула на месте -просто утечка

2011-10-01 03: 50: 00.283 ruby ​​[3212: 903] * __NSAutoreleaseNoPool (): объект 0x10ce230 класса NSCFNumber автоматически освобожден без пула на месте - только утечка

2011-10-01 03: 50: 00.285 ruby ​​[3212: 903] * __NSAutoreleaseNoPool (): Object 0x42abb0 класса NSConcreteValue автоматически освобожден без пула на месте - только утечка

2011-10-01 03: 50: 00.286 ruby ​​[3212: 903] * __NSAutoreleaseNoPool (): объект 0xa031570 изкласс NSCFDictionary автоматически выпущен без пула на месте - просто утечка

Есть какие-нибудь мысли о возможных причинах этого?Это несколько загадочное сообщение для меня - или, по крайней мере, оно не дает мне достаточного контекста для немедленной диагностики.Похоже, что это не приводит к сбою ни одного из тестов или что-то в этом роде, но я уверен, что у меня утечка памяти - наверное, из-за неправильного закрытия ресурса, я думаю, но я не совсем уверен, как это сделать.о отслеживании этого.Может ли ruby-debug помочь мне понять, что здесь происходит?Какими должны быть мои следующие шаги в расследовании?

1 Ответ

1 голос
/ 11 октября 2011

Это выглядит связанным .Если вы используете явную многопоточность в своем приложении, проверьте, можете ли вы зарегистрировать там виджет очистки, о котором они упоминают.Если нет, попробуйте стряхнуть C ++ под вашей зависимостью от gem и посмотрите, не можете ли вы там выполнить grep.

...