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

Update qlog requirement from 0.9.0 to 0.10.0 #3

Closed
wants to merge 3 commits into from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Nov 17, 2023

Updates the requirements on qlog to permit the latest version.

Release notes

Sourced from qlog's releases.

🚤 0.10.0

Breaking Changes:

  • The new StreamReset value has been added to the Error enum. This can be returned by Connecttion::stream_recv() to notify the application when the peer has reset a particular stream.
  • The new Reset value has been added to the h3::Event enum. This is returned by h3::Connection::poll() to notify the application when the peer has reset a particular stream.
  • The h3::Config::set_max_header_list_size() method was renamed to h3::Config::set_max_field_section_size() to align to the renaming of the corresponding HTTP/3 setting in the spec.
  • Support for building with Android NDK < 19 was dropped.

Highlights:

  • Support for Proportional Rate Reduction (RFC6937) for the CUBIC congestion control algorithm.
  • Support for Hystart++ draft-03 for both CUBIC and Reno.
  • Support for loss recovery adaptive packet reordering thresholds.
  • New APIs added to send and receive DATAGRAM frames as Vec<u8> to avoid copying data (see Connection::dgram_send_vec() and Connection::dgram_recv_vec()).
  • Support for qlog draft-02.
  • New APIs added to: expose the server name requested by the client (Connection::server_name()), expose the locally-generated connection error (Connection::local_error()), expose whether the connection timed-out (Connection::is_timed_out()).
  • Many bug fixes and performance improvements.

Full changelog at cloudflare/quiche@0.9.0...0.10.0

Commits
  • 92dcc50 0.10.0
  • a96c981 qlog: update docs and bump to 0.5.0
  • b63c3e5 recovery: introduce pacing rate multiplier
  • cc1f8a2 recovery: name time conversion constant
  • 4091d3c frame: parse ACKs with ECN counts
  • af1bbc0 Revert "zero-copy emit scatter API"
  • 0e9501f avoid counting reset streams' unsent data towards flow control limit
  • 35ec145 add method to check if stream can hold more data
  • 1297a0d http3_test: silence unused field warnings
  • e05719a nginx: link to libm to fix build failure
  • Additional commits viewable in compare view

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

larseggert and others added 3 commits November 17, 2023 12:14
Updates the requirements on [qlog](https://github.com/cloudflare/quiche) to permit the latest version.
- [Release notes](https://github.com/cloudflare/quiche/releases)
- [Commits](cloudflare/quiche@0.9.0...0.10.0)

---
updated-dependencies:
- dependency-name: qlog
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Nov 17, 2023
Copy link
Author

dependabot bot commented on behalf of github Feb 5, 2024

Superseded by #12.

@dependabot dependabot bot closed this Feb 5, 2024
@dependabot dependabot bot deleted the dependabot/cargo/qlog-0.10.0 branch February 5, 2024 15:07
larseggert added a commit that referenced this pull request Jun 19, 2024
They seem to have a race condition that makes them crash.

I wasn't able to figure out why they crash, this seems to happen
inside NSS:
```
Process 47677 stopped
* thread #2, name = 'init_twice_withdb', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x000000019b4994f8 libsystem_pthread.dylib`pthread_mutex_lock + 12
libsystem_pthread.dylib`pthread_mutex_lock:
->  0x19b4994f8 <+12>: ldr    x8, [x0]
    0x19b4994fc <+16>: mov    w9, #0x545a ; =21594
    0x19b499500 <+20>: movk   w9, #0x4d55, lsl #16
    0x19b499504 <+24>: cmp    x8, x9
(lldb) up
frame #1: 0x0000000100802f58 libnspr4.dylib`PR_Lock + 20
libnspr4.dylib`PR_Lock:
->  0x100802f58 <+20>: bl     0x10080c0c0    ; symbol stub for: pthread_self
    0x100802f5c <+24>: str    x0, [x19, #0xb8]
    0x100802f60 <+28>: mov    w8, #0x1 ; =1
    0x100802f64 <+32>: str    w8, [x19, #0xb0]
(lldb) up
frame #2: 0x00000001007fc188 libnspr4.dylib`PR_CallOnce + 56
libnspr4.dylib`PR_CallOnce:
->  0x1007fc188 <+56>: ldr    w23, [x19]
    0x1007fc18c <+60>: ldr    w20, [x19, #0x8]
    0x1007fc190 <+64>: ldr    x0, [x22, #0x430]
    0x1007fc194 <+68>: bl     0x100802f74    ; PR_Unlock
(lldb) up
frame #3: 0x000000010066f634 libnss3.dylib`nss_Init + 112
libnss3.dylib`nss_Init:
->  0x10066f634 <+112>: cbz    w0, 0x10066f640 ; <+124>
    0x10066f638 <+116>: mov    w19, #-0x1 ; =-1
    0x10066f63c <+120>: b      0x10066f968    ; <+932>
    0x10066f640 <+124>: stp    x21, x22, [x29, #-0x80]
(lldb) up
frame #4: 0x000000010066ff44 libnss3.dylib`NSS_Initialize + 100
libnss3.dylib`NSS_Initialize:
->  0x10066ff44 <+100>: ldp    x29, x30, [sp, #0x40]
    0x10066ff48 <+104>: add    sp, sp, #0x50
    0x10066ff4c <+108>: ret

libnss3.dylib`NSS_InitContext:
    0x10066ff50 <+0>:   sub    sp, sp, #0x60
(lldb) up
frame #5: 0x00000001000035fc init-d4e9f02b33e50e46`init::init_twice_withdb::h34013f715e9b4f6e at init.rs:65:9
   62  	    let pathstr = path.to_str().unwrap();
   63  	    let dircstr = CString::new(pathstr).unwrap();
   64  	    unsafe {
-> 65  	        nss::NSS_Initialize(
   66  	            dircstr.as_ptr(),
   67  	            empty.as_ptr(),
   68  	            empty.as_ptr(),
```
larseggert added a commit that referenced this pull request Jul 1, 2024
They seem to have a race condition that makes them crash.

I wasn't able to figure out why they crash, this seems to happen
inside NSS:
```
Process 47677 stopped
* thread #2, name = 'init_twice_withdb', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x000000019b4994f8 libsystem_pthread.dylib`pthread_mutex_lock + 12
libsystem_pthread.dylib`pthread_mutex_lock:
->  0x19b4994f8 <+12>: ldr    x8, [x0]
    0x19b4994fc <+16>: mov    w9, #0x545a ; =21594
    0x19b499500 <+20>: movk   w9, #0x4d55, lsl #16
    0x19b499504 <+24>: cmp    x8, x9
(lldb) up
frame #1: 0x0000000100802f58 libnspr4.dylib`PR_Lock + 20
libnspr4.dylib`PR_Lock:
->  0x100802f58 <+20>: bl     0x10080c0c0    ; symbol stub for: pthread_self
    0x100802f5c <+24>: str    x0, [x19, #0xb8]
    0x100802f60 <+28>: mov    w8, #0x1 ; =1
    0x100802f64 <+32>: str    w8, [x19, #0xb0]
(lldb) up
frame #2: 0x00000001007fc188 libnspr4.dylib`PR_CallOnce + 56
libnspr4.dylib`PR_CallOnce:
->  0x1007fc188 <+56>: ldr    w23, [x19]
    0x1007fc18c <+60>: ldr    w20, [x19, #0x8]
    0x1007fc190 <+64>: ldr    x0, [x22, #0x430]
    0x1007fc194 <+68>: bl     0x100802f74    ; PR_Unlock
(lldb) up
frame #3: 0x000000010066f634 libnss3.dylib`nss_Init + 112
libnss3.dylib`nss_Init:
->  0x10066f634 <+112>: cbz    w0, 0x10066f640 ; <+124>
    0x10066f638 <+116>: mov    w19, #-0x1 ; =-1
    0x10066f63c <+120>: b      0x10066f968    ; <+932>
    0x10066f640 <+124>: stp    x21, x22, [x29, #-0x80]
(lldb) up
frame #4: 0x000000010066ff44 libnss3.dylib`NSS_Initialize + 100
libnss3.dylib`NSS_Initialize:
->  0x10066ff44 <+100>: ldp    x29, x30, [sp, #0x40]
    0x10066ff48 <+104>: add    sp, sp, #0x50
    0x10066ff4c <+108>: ret

libnss3.dylib`NSS_InitContext:
    0x10066ff50 <+0>:   sub    sp, sp, #0x60
(lldb) up
frame #5: 0x00000001000035fc init-d4e9f02b33e50e46`init::init_twice_withdb::h34013f715e9b4f6e at init.rs:65:9
   62  	    let pathstr = path.to_str().unwrap();
   63  	    let dircstr = CString::new(pathstr).unwrap();
   64  	    unsafe {
-> 65  	        nss::NSS_Initialize(
   66  	            dircstr.as_ptr(),
   67  	            empty.as_ptr(),
   68  	            empty.as_ptr(),
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant