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

Fix c++ spawn failure by handling empty string properly #4349

Merged
merged 1 commit into from
Nov 28, 2023

Conversation

jleibs
Copy link
Member

@jleibs jleibs commented Nov 27, 2023

What

Empty is a more robust check than null since it also catches the empty string.

I'm torn on whether to also check for null here -- my inclination is not to since I'd rather raise the unexpected null error since if someone is passing an StringView with a nullptr but non-zero length, they are doing something wrong.

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I have tested app.rerun.io (if applicable)
  • The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG

@jleibs jleibs added 🪳 bug Something isn't working 🌊 C++ API C/C++ API specific exclude from changelog PRs with this won't show up in CHANGELOG.md labels Nov 27, 2023
@jleibs jleibs marked this pull request as ready for review November 27, 2023 18:21
Copy link
Member

@emilk emilk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Wumpf Wumpf mentioned this pull request Nov 27, 2023
34 tasks
@jleibs jleibs merged commit af384b2 into main Nov 28, 2023
42 of 43 checks passed
@jleibs jleibs deleted the jleibs/fix_cpp_spawn branch November 28, 2023 01:31
Wumpf pushed a commit that referenced this pull request Nov 28, 2023
### What
Empty is a more robust check than null since it also catches the empty
string.

I'm torn on whether to also check for null here -- my inclination is not
to since I'd rather raise the unexpected null error since if someone is
passing an StringView with a nullptr but non-zero length, they are doing
something wrong.

* closes #4348

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [app.rerun.io](https://app.rerun.io/pr/4349) (if
applicable)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG

- [PR Build Summary](https://build.rerun.io/pr/4349)
- [Docs
preview](https://rerun.io/preview/91d08d9950b844e4ac02c0214c7bfe3a54d3bee1/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/91d08d9950b844e4ac02c0214c7bfe3a54d3bee1/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
Wumpf added a commit that referenced this pull request Nov 28, 2023
### What

* Fixes #4267

TODO for final release:
* [x] Update links, fix all `?speculative-link`
* [x] cherry pick #4349
* [x] cherry pick #4350
* [x] cherry pick #4351
* [x] cherry pick #4354
* [x] Write changelog (and review thereof)
  * Known limitation of Visible History worth mentioning:
     * [x] #4270
     * [x] #723
* [x] testing:
   * special care this time about:
* Blueprint error messages (use outdated stuff you have on your machine
to stretch it!)
* UI changes (selection panel, visual history things - in particular on
the plot)
* C++ cmake install (follow public instructions - if they don't help the
instructions are bad!)
   * [x] Windows
      * [x] Native
           * blueprint ok 0.10.0-rc.1 -> 0.11-rc.1
* found spurious wgpu related crash, seems to be fixed on latest wgpu.
Details on Slack
           * C++ visual studio project for unziped sdk works
* Cmake install works. With path with spaces after applying
#4351
      * [x] Browser
   * [x] Linux
      * [x] Native
      * [x] Browser
   * [x] Mac
       * [x] Native
         * [x] blueprint ok 0.10.1 -> 0.11
         * [x] UI changes ok
       * [x] Browser
   * [x] python package (any platform)
       * [x] tested on mac, seems ok except:
       * [x] ~~couldn't load example rrds~~ fixed 
   * [x] C++ cmake install (any platform)
        * tested on linux 
   * [x] Rust crate (any platform)
* [x] finish opencv/eigen example update

TODO just after release:
* [x] Update webpage with blog
* [x] Merge opencv/eigen example update
* [x] github release update
* [x] post on social

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [app.rerun.io](https://app.rerun.io/pr/4347) (if
applicable)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG

- [PR Build Summary](https://build.rerun.io/pr/4347)
- [Docs
preview](https://rerun.io/preview/01b4186b37fc910491879dfd90433aeb940a5c89/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/01b4186b37fc910491879dfd90433aeb940a5c89/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

---------

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
Co-authored-by: rerun-bot <bot@rerun.io>
Co-authored-by: jprochazk <1665677+jprochazk@users.noreply.github.com>
Co-authored-by: Jeremy Leibs <jeremy@rerun.io>
teh-cmc pushed a commit that referenced this pull request Nov 30, 2023
### What
Empty is a more robust check than null since it also catches the empty
string.

I'm torn on whether to also check for null here -- my inclination is not
to since I'd rather raise the unexpected null error since if someone is
passing an StringView with a nullptr but non-zero length, they are doing
something wrong.

* closes #4348

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [app.rerun.io](https://app.rerun.io/pr/4349) (if
applicable)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG

- [PR Build Summary](https://build.rerun.io/pr/4349)
- [Docs
preview](https://rerun.io/preview/91d08d9950b844e4ac02c0214c7bfe3a54d3bee1/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/91d08d9950b844e4ac02c0214c7bfe3a54d3bee1/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
teh-cmc pushed a commit that referenced this pull request Nov 30, 2023
### What

* Fixes #4267

TODO for final release:
* [x] Update links, fix all `?speculative-link`
* [x] cherry pick #4349
* [x] cherry pick #4350
* [x] cherry pick #4351
* [x] cherry pick #4354
* [x] Write changelog (and review thereof)
  * Known limitation of Visible History worth mentioning:
     * [x] #4270
     * [x] #723
* [x] testing:
   * special care this time about:
* Blueprint error messages (use outdated stuff you have on your machine
to stretch it!)
* UI changes (selection panel, visual history things - in particular on
the plot)
* C++ cmake install (follow public instructions - if they don't help the
instructions are bad!)
   * [x] Windows
      * [x] Native
           * blueprint ok 0.10.0-rc.1 -> 0.11-rc.1
* found spurious wgpu related crash, seems to be fixed on latest wgpu.
Details on Slack
           * C++ visual studio project for unziped sdk works
* Cmake install works. With path with spaces after applying
#4351
      * [x] Browser
   * [x] Linux
      * [x] Native
      * [x] Browser
   * [x] Mac
       * [x] Native
         * [x] blueprint ok 0.10.1 -> 0.11
         * [x] UI changes ok
       * [x] Browser
   * [x] python package (any platform)
       * [x] tested on mac, seems ok except:
       * [x] ~~couldn't load example rrds~~ fixed 
   * [x] C++ cmake install (any platform)
        * tested on linux 
   * [x] Rust crate (any platform)
* [x] finish opencv/eigen example update

TODO just after release:
* [x] Update webpage with blog
* [x] Merge opencv/eigen example update
* [x] github release update
* [x] post on social

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [app.rerun.io](https://app.rerun.io/pr/4347) (if
applicable)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG

- [PR Build Summary](https://build.rerun.io/pr/4347)
- [Docs
preview](https://rerun.io/preview/01b4186b37fc910491879dfd90433aeb940a5c89/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/01b4186b37fc910491879dfd90433aeb940a5c89/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

---------

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
Co-authored-by: rerun-bot <bot@rerun.io>
Co-authored-by: jprochazk <1665677+jprochazk@users.noreply.github.com>
Co-authored-by: Jeremy Leibs <jeremy@rerun.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🪳 bug Something isn't working 🌊 C++ API C/C++ API specific exclude from changelog PRs with this won't show up in CHANGELOG.md
Projects
None yet
Development

Successfully merging this pull request may close these issues.

C++ spawn fails with odd error message
3 participants