{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":761236586,"defaultBranch":"master","name":"ts-spect-compiler","ownerLogin":"crocs-muni","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2024-02-21T13:51:30.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/9287104?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715015720.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"36d81ef1968403b8aa3f0c4c0bec6a4e944d0410","ref":"refs/heads/fix/memory-fixes","pushedAt":"2024-05-06T17:15:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"J08nY","name":"Ján Jančár","path":"/J08nY","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1296726?s=80&v=4"},"commit":{"message":"Fix memory leak and double-free in multi-threaded use of InstructionFactory.\n\nThe two std::map arrays (encoding_maps and mnemonic_maps) have a static\nlifetime in InstructionFactory. Thus, they should be responsible for destroying\ntheir contents as their lifetime is not bound to a particular InstructionFactory\ninstance (the desctructor newer gets called). This was causing memory leaks in\ntests:\n\n==156499== 104 bytes in 1 blocks are definitely lost in loss record 4 of 106\n==156499== at 0x4844ED1: operator new(unsigned long) (in /libexec/valgrind/vgpreload_memcheck-amd64-linux.so)\n==156499== by 0x4951F8D: spect::InstructionFactory::Initialize() (InstructionFactory.cpp:53)\n==156499== by 0x495493B: __static_initialization_and_destruction_0() (InstructionFactory.cpp:113)\n==156499== by 0x4954953: _GLOBAL__sub_I_InstructionFactory.cpp (InstructionFactory.cpp:115)\n==156499== by 0x400508D: call_init (in /lib/ld-linux-x86-64.so.2)\n==156499== by 0x400517B: _dl_init (in /lib/ld-linux-x86-64.so.2)\n==156499== by 0x401BC2F: ??? (in /lib/ld-linux-x86-64.so.2)\n\nThis is fixed by using shared_ptrs and by getting rid of the destructor trying to\ndelete the individual instructions.\n\nFurthermore, the static lifetime was causing havoc in multi-threaded use,\nthis was fixed by making the arrays to be thread_local.","shortMessageHtmlLink":"Fix memory leak and double-free in multi-threaded use of InstructionF…"}},{"before":"dcbe8fb991387d0e40f845d1dd92d6a24a50c669","after":"76dd3881711565b2e235e60d117a0690c5dc4b6e","ref":"refs/heads/nix-flakes","pushedAt":"2024-04-20T13:48:09.000Z","pushType":"push","commitsCount":15,"pusher":{"login":"quapka","name":null,"path":"/quapka","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4338671?s=80&v=4"},"commit":{"message":"Allow building cosimulation library without VCS","shortMessageHtmlLink":"Allow building cosimulation library without VCS"}},{"before":"fe20f182578e7ea0cfeeb219cd1af95ad634fdfb","after":"570628001fd0e1bc26656333ca3255077e68bbd8","ref":"refs/heads/cosim-without-vcs","pushedAt":"2024-04-20T13:47:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"quapka","name":null,"path":"/quapka","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4338671?s=80&v=4"},"commit":{"message":"Allow building cosimulation library without VCS","shortMessageHtmlLink":"Allow building cosimulation library without VCS"}},{"before":null,"after":"fe20f182578e7ea0cfeeb219cd1af95ad634fdfb","ref":"refs/heads/cosim-without-vcs","pushedAt":"2024-04-20T12:50:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quapka","name":null,"path":"/quapka","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4338671?s=80&v=4"},"commit":{"message":"Build cosim shared library without VCS access","shortMessageHtmlLink":"Build cosim shared library without VCS access"}},{"before":"f061a056b820a08ee2001f78a8e59894df98af85","after":"dcbe8fb991387d0e40f845d1dd92d6a24a50c669","ref":"refs/heads/nix-flakes","pushedAt":"2024-04-03T11:54:08.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"quapka","name":null,"path":"/quapka","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4338671?s=80&v=4"},"commit":{"message":"Merge branch 'master' into nix-flakes","shortMessageHtmlLink":"Merge branch 'master' into nix-flakes"}},{"before":"11bdd979926e672cdf3f09863be5179bb622c125","after":"f061a056b820a08ee2001f78a8e59894df98af85","ref":"refs/heads/nix-flakes","pushedAt":"2024-02-21T14:46:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"quapka","name":null,"path":"/quapka","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4338671?s=80&v=4"},"commit":{"message":"Don't use deprecated defaultPackage","shortMessageHtmlLink":"Don't use deprecated defaultPackage"}},{"before":null,"after":"6efbcfbd91e67b162f5fa346452da3441bacdb28","ref":"refs/heads/fix-build","pushedAt":"2024-02-21T14:01:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quapka","name":null,"path":"/quapka","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4338671?s=80&v=4"},"commit":{"message":"Provide explicit literal string to fix build","shortMessageHtmlLink":"Provide explicit literal string to fix build"}},{"before":null,"after":"11bdd979926e672cdf3f09863be5179bb622c125","ref":"refs/heads/nix-flakes","pushedAt":"2024-02-21T13:56:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"quapka","name":null,"path":"/quapka","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4338671?s=80&v=4"},"commit":{"message":"Add option to build/run with Nix","shortMessageHtmlLink":"Add option to build/run with Nix"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQsOvqwA","startCursor":null,"endCursor":null}},"title":"Activity · crocs-muni/ts-spect-compiler"}