Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cancel callbacks for messaging #745

Merged
merged 5 commits into from
Nov 18, 2021
Merged

Cancel callbacks for messaging #745

merged 5 commits into from
Nov 18, 2021

Conversation

TBarendt
Copy link
Contributor

util::Terminate is referenced counted som when there ar more APIs than messaging active the callbacks will not be canceled until later and still cause a NULL ref due to the FutureData being destroyed now.

Description

util::Terminate is reference counted so the in flight tasks can still be completed after Messaging has been shut down if there are more modules active. It will probably happen in other APIs as well


Testing

Describe how you've tested these changes. Link any manually triggered Integration tests or CPP binary SDK Packaging Github Action workflows, if applicable.


Type of Change

Place an x the applicable box:

  • Bug fix. Add the issue # below if applicable.
  • New feature. A non-breaking change which adds functionality.
  • Other, such as a build process or documentation change.

Notes

  • Bug fixes and feature changes require an update to the Release Notes section of release_build_files/readme.md.
  • Read the contribution guidelines CONTRIBUTING.md.
  • Changes to the public API require an internal API review. If you'd like to help us make Firebase APIs better, please propose your change in a feature request so that we can discuss it together.
util::Terminate is referenced counted som when there ar more APIs than messaging active the callbacks will not be canceled until later and still cause a NULL ref due to the FutureData being destroyed now.
@google-cla google-cla bot added the cla: yes label Nov 11, 2021
@cynthiajoan cynthiajoan added tests-requested: full Trigger a FULL set of integration tests (uses expanded test matrix). tests-requested: quick Trigger a quick set of integration tests. and removed tests-requested: full Trigger a FULL set of integration tests (uses expanded test matrix). tests-requested: quick Trigger a quick set of integration tests. labels Nov 16, 2021
@a-maurice a-maurice merged commit 618a317 into firebase:main Nov 18, 2021
DellaBitta added a commit that referenced this pull request Dec 1, 2021
* Fix test on emulator workflow failures (#734)

* If simulator  install ios app failed, reset simulator and try again (#733)

* Trigger workflow move github api cod to github.py (#746)

* Fix a data race that could manifest as null pointer dereference in FutureBase::Release() (#747)

* Cancel callbacks for messaging (#745)

* Cancel callbacks for messaging

util::Terminate is referenced counted som when there ar more APIs than messaging active the callbacks will not be canceled until later and still cause a NULL ref due to the FutureData being destroyed now.

* Cancel callback earlier

* Update readme

* Remove "Android" tag from the release notes entry for #747 (#749)

* Remove calls to LogInfo, LogError, LogDebug during obj-c +load. (#706)

* Remove calls to LogInfo, LogError, LogDebug during obj-c +load.

This could be causing an issue in C++ as global class constructors have not yet been run.

* Add Objective-C/C++ and Java to code formatter script; format those files. (#755)

* Allow format_code to format .m/.mm files; clang-format already knows how.

* Run format_code.py on all objective-c/objective-c++ files.

* Add Java file extensions to format_code.py

* Format all Java source files.

* Remove check for objc header, as they are now supported.

* Format objective-c .h files.

* Don't let lint comment on line length any more; code formatting will report that.

* Messaging crash during initialization (#760)

* Messaging crash during initialization

* Update readme

* Don't redeclare inherited state in CredentialsProviderDesktop (#731)

* Reduce disk space usage when packaging the built SDK (#763)

Remove intermediate build files during desktop packaging step.

This should reduce the disk space usage, as those files (*.o and *.obj) are not required when merging libraries.

* Workaround for Linux x86 build:  downgrade libraries on GitHub runners (#764)

When installing 32-bit Linux dependencies on GitHub runners, downgrade libpcre2-8-0 to an earlier version to ensure compatibility with the i386 version of the package. This is something that should be fixed in a subsequent Ubuntu release and so is a temporary workaround.

This also adds checks to the various prerequisite commands run by build_desktop.py, which was previously just silently ignoring errors (making this much harder to track down). Now it will error out as soon as a command fails.

Co-authored-by: Mou Sun <69009538+sunmou99@users.noreply.github.com>
Co-authored-by: Denver Coneybeare <dconeybe@google.com>
Co-authored-by: Tobias Barendt <tobias@robotsquid.com>
Co-authored-by: Jon Simantov <jsimantov@google.com>
Co-authored-by: Sebastian Schmidt <mrschmidt@google.com>
@firebase firebase locked and limited conversation to collaborators Dec 19, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
3 participants