Skip to content

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

Merged
jleibs merged 1 commit intomainfrom
jleibs/fix_cpp_spawn
Nov 28, 2023
Merged

Fix c++ spawn failure by handling empty string properly#4349
jleibs merged 1 commit intomainfrom
jleibs/fix_cpp_spawn

Conversation

@jleibs
Copy link
Copy Markdown
Contributor

@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 sdk-cpp 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
Copy Markdown
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 force-pushed the jleibs/fix_cpp_spawn branch from 1e0afa4 to 91d08d9 Compare November 27, 2023 23:33
@jleibs jleibs merged commit af384b2 into main Nov 28, 2023
@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 exclude from changelog PRs with this won't show up in CHANGELOG.md sdk-cpp C/C++ API specific

Projects

None yet

Development

Successfully merging this pull request may close these issues.

C++ spawn fails with odd error message

3 participants