Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Kirill Tolkachev
    @lavcraft
    лови
    Tagir Valeev
    @amaembo
    Закоммитил фикс, можешь попробовать сейчас
    Kirill Tolkachev
    @lavcraft
    версию поднял плагина?
    или нужно собирать
    Tagir Valeev
    @amaembo
    Не, надо собирать
    Ну если неохота, не собирай :-)
    Kirill Tolkachev
    @lavcraft
    тогда позже..
    Tagir Valeev
    @amaembo
    Ща юниттест попробую нафигачить...
    Kirill Tolkachev
    @lavcraft
    А в чем косяк был:
    ?
    хотя чо я
    посмотреть же можно)
    Tagir Valeev
    @amaembo
    Пока неясно
    Что-то у меня не воспроизводится пока проблема
    Kirill Tolkachev
    @lavcraft
    хм
    ну ок
    Tagir Valeev
    @amaembo
    Кажется, понял, в чём дело
    Сообщение выдалось криво
    Должно быть соответственно Object.wait() и Object.notifyAll()
    Maxim Degtyarev
    @Maccimo
    Синхронайзед на синхронайзеде сидит и синхронайзедом погоняет. Брр.
    Tagir Valeev
    @amaembo
    Варнинг в целом верный. Ну надо очень внимательно смотреть, может ли там рейс произойти
    По-хорошему при notifyAll прямо внутри секции синхронизации надо менять стейт
    А при wait прямо внутри секции проверять стейт
    Если делать это снаружи, то может рейс произойти
    Ну а если всё-таки пользоваться, вот тут правильно, например https://docs.oracle.com/javase/tutorial/essential/concurrency/guardmeth.html
    Стейт меняется внутри синхронизованного блока (здесь - синхронизован весь метод)
    Tagir Valeev
    @amaembo
    В общем-то да, wait/notify легко сломать, лучше не использовать, если не умеешь
    Kirill Tolkachev
    @lavcraft
    там код жесть
    но юзается всегда один поток
    разгребатель и писатель
    ну я и проверил это добро потому что подозрительное
    так
    нада будет тебе пулреквестик кинуть. ЧТобы snapshot зависимости можно было делать
    тут даже специальное место для этого есть
    всем кто делает плагины сразу полегчает) Думаю @vlsi скажет тоже спасибо)
    Mihails Volkovs
    @volkovs

    Привет,

    Я пишу свои детекторы для HuntBugs. Столкнулся со следующей проблемой.
    Если тестируемый класс наследует класс библиотеки, в детекторе используется @AstVisitor(nodes = AstNodes.ROOT) анотация - то есть заходить во все методы, то приходят методы не только тестируемого класса, но и все методы наследуемого класса библиотеки (которые я не хочу проверять). Определить какой метод пришел тоже не получается - md.getDeclaringType() возвращает неправильный класс (тестируемый класс, хотя там ети методы даже не переписаны).

    Буг ли это (и где, в Хунтбугс или strobel.decompiler)?
    Я считал что может и нет. Но в AuxRepository комент "Repository for auxiliary classes which should not be visited normally but should be accessible". То есть разделение тестируемых и доступных классов всё таки "by design".

    Сталкивались ли вы с таким и может посоветуете куда копать (дебажил запуск мавен плугина, но пока не нашел причины)?

    Tagir Valeev
    @amaembo
    @volkovs должен заходить только в классы, которые в обычном репозитории, а в которые в AuxRepository, не должен
    Вообще звучит странно, я такого не наблюдал, чтобы md.getDeclaringType() не тот класс возвращал
    Ты уверен, что ничего не путаешь?
    Mihails Volkovs
    @volkovs
    Привет, да, видимо мой косяк.
    (Я долго искал, оказалось в родительском пом-е в maven-compiler-plugin использует groovy-eclipse-compiler. Видимо груви переопределяет все методы(?).)
    Mihails Volkovs
    @volkovs
    @amaembo я закинул amaembo/huntbugs#20 как демо для amaembo/huntbugs#16. Нас немного уже поджимают сроки (мы хотим продвигать HuntBugs в Ериксоне). Можно вас попросить ревью?
    Tagir Valeev
    @amaembo
    Постараюсь на днях поглядеть
    Tagir Valeev
    @amaembo
    @volkovs посмотрел про плагин, откаментил. Если что-то непонятно, спрашивай :-)
    В целом, конечно, судьба хантбагса неопределённая. Учитывая, что я сейчас колбашу статанализ в IntelliJ. Но я постараюсь хоть часть идей воплотить всё же
    Sasha Go
    @ptz

    В целом, конечно, судьба хантбагса неопределённая. Учитывая, что я сейчас колбашу статанализ в IntelliJ

    Вот это поворот. Не будет времени / запретят / потеряешь интерес или что?

    Tagir Valeev
    @amaembo
    Вряд ли запретят :) Сейчас интерес и время поглощает идея, факт
    Sasha Go
    @ptz
    Аминь, чо
    Ivan Sopov
    @isopov
    можно сюда уже скидывать реквесты по идеевскому анализу? его неудобно запускать из командной строки - для этого предоставляют .sh скрипт вместе с самой идеей, но у меня не получилось с ним разобраться и доки я по этому внятной не нашел