Joshua Haberman
1ed9a8b521
Merge pull request #8461 from haberman/ruby-arena-memory-leak
...
Fixed memory leak of Ruby arena objects.
4 years ago
Joshua Haberman
67fee915e0
Fixed memory leak of Ruby arena objects.
...
In our free() method, we were freeing the memory from the
upb arena but we were failing to free the memory for the
Ruby arena object. This was causing every Ruby arena object
to leak: even though the objects were getting GC'd, the
underlying memory was not getting released.
4 years ago
Adam Cozzette
878be3569e
Update protobuf version
4 years ago
Adam Cozzette
c00c2d43bb
Updated CHANGES.txt and package.xml with changes for 3.15.7
4 years ago
David L. Jones
240e54efe5
Remove references to stale benchmark data sources.
4 years ago
Joshua Haberman
f3f8707ba5
Merge pull request #8434 from haberman/ruby-message-eq
...
Fixed message equality in cases where the message type is different.
4 years ago
Joshua Haberman
38e1b59258
Elided the TYPE() and msgdef checks by using CLASS_OF.
4 years ago
Joshua Haberman
d69f482883
Fixed message equality in cases where the message type is different.
...
If the message types are different, equality comparison must return
false.
4 years ago
Joshua Haberman
a38319b5c4
Merge pull request #8429 from haberman/ruby-gc-secondarymap
...
Fix unbounded memory growth for Ruby <2.7.
4 years ago
Joshua Haberman
2fe27d8764
Addressed PR comments and fixed a bug.
...
We now hold the mutex for both map insertions, to protect
against a concurrent GC that removes from the seconary map
before we can insert into the weak map.
4 years ago
Joshua Haberman
e1ac393725
Added some more comments and refactored slightly.
4 years ago
Joshua Haberman
f0d6fcb2da
Wrap secondary map mutations in a mutex, to avoid mutation races.
4 years ago
Joshua Haberman
b75a49f9e0
GC secondary map periodically.
4 years ago
David L. Jones
25968de87a
Remove the ::pb namespace (alias). ( #8423 )
...
This closes #8349 , although we will probably still pursue some other name in the future.
4 years ago
Adam Cozzette
6aa539bf01
Update protobuf version
4 years ago
Adam Cozzette
971a5935ed
Updated CHANGES.txt and PHP changelog for 3.15.6
4 years ago
Joshua Haberman
b2991b8419
Merge pull request #8386 from haberman/ruby-string-compare
...
[Ruby] Fixed bug in string comparison logic.
4 years ago
Joshua Haberman
bb322c2b39
[Ruby] Fixed bug in string comparison logic.
4 years ago
Adam Cozzette
4fff47a418
Update protobuf version
4 years ago
Adam Cozzette
5702d51ec0
Updated CHANGES.txt and PHP release notes for 3.15.5
4 years ago
Florian Simon
b9a036b444
Do not disable RTTI by default in the CMake build
4 years ago
Joshua Haberman
72b02b56ea
Merge pull request #8379 from haberman/quadratic-mem-fix
...
Fixed quadratic memory use in array append for PHP and Ruby.
4 years ago
Joshua Haberman
9b5e357df5
Fixed quadratic memory use in array append for PHP and Ruby.
4 years ago
Adam Cozzette
fd8aabf32d
Update protobuf version
4 years ago
Adam Cozzette
e5c067f81b
Updated CHANGES.txt and PHP changelog for 3.15.4 release
4 years ago
Antony Dovgal
aa41d9005b
read_property() handler is not supposed to return NULL
...
NULL is never expected as a result of read_property() handler,
it should return &EG(uninitialized_zval) if there is no such property in
the object
4 years ago
Joshua Haberman
cf7d81f88c
Merge pull request #8363 from haberman/ruby-nil-fix
...
Fixed SEGV when users pass nil messages. This also disallows `nil` in RepeatedField or Map.
4 years ago
Joshua Haberman
7d63b996e1
Removed compatibility test that tries to append "nil" to repeated field.
4 years ago
Florian Simon
1add7a7bd6
Create a CMake option to control whether or not RTTI is enabled
...
This is useful for Conan recipes that build Protobuf, in which
whatever we want to enable has to be enabled in the initial command line.
Without this, the people maintaining the recipe have to patch the CMake
setup of Protobuf before building the binaries.
Closes #5541
4 years ago
Joshua Haberman
dfa54577d6
[Ruby] Fixed SEGV when users pass nil messages.
4 years ago
Adam Cozzette
983d115bd9
Update protobuf version
4 years ago
Adam Cozzette
eb542e606b
Updated CHANGES.txt for 3.15.3 release
4 years ago
Joshua Haberman
80ec787928
Merge pull request #8341 from haberman/ruby-2.5-gc
...
Ruby <2.7now uses WeakMap too, which prevents memory leaks.
4 years ago
Joshua Haberman
9879f423ff
Ruby <2.7now uses WeakMap too, which prevents memory leaks.
...
Ruby <2.7 does not allow non-finalizable objects to be WeakMap
keys: https://bugs.ruby-lang.org/issues/16035
We work around this by using a secondary map for Ruby <2.7 which
maps the non-finalizable integer to a distinct object.
For now we accept that the entries in the secondary map wil never
be collected. If this becomes a problem we can perform a GC pass
every so often that looks at the contents of the object cache to
decide what can be deleted from the secondary map.
4 years ago
Adam Cozzette
d7e943b8d2
Update protobuf version
4 years ago
Adam Cozzette
1af4657b80
Updated CHANGES.txt
4 years ago
Yuriy Chernyshov
09f94e7311
Fix PROTOBUF_CONSTINIT macro redifinition
...
The #ifdef block is duplicated with the above (which was fixed in 3.15.1).
It would be great to have this fix backported to 3.15.1 (and released as 3.15.2).
4 years ago
Joshua Haberman
2ff31d34aa
Merge pull request #8330 from haberman/rubyfix
...
[Ruby] Fix for FieldDescriptor.get(msg).
4 years ago
Joshua Haberman
4e3ea74e42
[Ruby] Fix for FieldDescriptor.get(msg).
...
This fix is similar to the previous bug found in
Message.[]. The fix is the same: we need to handle
arrays and maps properly.
Fixes: https://github.com/protocolbuffers/protobuf/issues/8325
4 years ago
Adam Cozzette
052dc799d2
Update protobuf version
4 years ago
Adam Cozzette
24d8a554ea
Updated CHANGES.txt
4 years ago
Adam Cozzette
d721e36ecc
Made some small fixes for MinGW and for C++20 with GCC
...
Our use of constinit does not seem to work with GCC yet (see
https://github.com/protocolbuffers/protobuf/issues/8310 ), so this
commit disables it on GCC for now.
This commit also updates mutex.h to work around the fact that MinGW's
std::mutex apparently does not have a constexpr constructor. We already
have this kind of workaround for MSVC, so we can just use the same
workaround.
4 years ago
Joshua Haberman
b12ab0cf53
Merge pull request #8320 from haberman/ruby-duration-fix
...
[Ruby] Fix for truncating behavior when converting Float to Duration.
4 years ago
Joshua Haberman
3b3aac95a6
[Ruby] Fix for truncating behavior when converting Float to Duration.
4 years ago
Joshua Haberman
4f961c8a70
Merge pull request #8313 from haberman/ruby-crash-fix
...
[Ruby] Bugfix for Message.[] for repeated or map fields.
4 years ago
Joshua Haberman
256f1327ea
[Ruby] Bugfix for Message.[] for repeated or map fields.
4 years ago
Adam Cozzette
ae50d9b990
Update protobuf version
4 years ago
Adam Cozzette
8260126500
Update protobuf version
4 years ago
Yuhanun Citgez
c741c46604
Resovled issue in the .pb.cc files
4 years ago
Yuhanun Citgez
eef276412e
Resolved an issue where NO_DESTROY and CONSTINIT were in incorrect order
4 years ago