Closed Bug 1331297 Opened 8 years ago Closed 8 years ago

Update libevent to version 2.0.22-stable

Categories

(Core :: IPC, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla54
Tracking Status
firefox53 --- wontfix
firefox54 --- fixed

People

(Reporter: RyanVM, Assigned: RyanVM)

References

Details

Attachments

(1 file, 1 obsolete file)

Changelog is below. Additionally, I did some other cleanups for things I ran into along the way. I removed some in-tree patches that were no longer needed and added a couple for changes which were made to the in-tree copy without including a patch (such as bug 1304266). I did an audit of the hg log to ensure that I didn't miss any other changes to the libevent import since the 2.0.21 update. Relatedly, I also switched the fix for bug 1304266 to the version which landed upstream (a simple one-liner vs. removing the entire code block) for easier maintainability in the future. Chris said he'd try out the Try build and confirm that the kqueue issue in question is still gone. I was also able to cleanup the OSX event-config.h a bit now that we've dropped 32-bit support on Mac, so that's nice. Try run: https://treeherder.mozilla.org/#/jobs?repo=try&revision=b32669c0fe6eb733bb263afba0c785b61c0a11ce --------------------------------------------------- Changes in version 2.0.22-stable (5 Jan 2015) SECURITY FIXES (evbuffers) o Avoid integer overflow bugs in evbuffer_add() and related functions. See CVE-2014-6272 advisory for more information. (20d6d4458bee5d88bda1511c225c25b2d3198d6c) BUGFIXES (evhttp) o fix #73 and fix http_connection_fail_test to catch it (crash fix) (b618204 Greg Hazel) o Avoid racy bufferevent activation (5eb1788 Nate Rosenblum) BUGFIXES (compilation and portability) o Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled (7e45739) o Fix missing AC_PROG_SED on older Autoconfs (9ab2b3f Tay Ray Chuan) o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5) (74d4c44 Kevin Bowling) o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 compat (817ea36) o Rename configure.in to configure.ac to appease newer autoconfs (0c79787) o Avoid using top_srcdir in TESTS: new automakes do not like this (a55514e) o Use windows vsnprintf fixup logic on all windows environments (e826f19) o Fix a compiler warning when checking for arc4random_buf linker breakage. (5cb3865) o Fix another arc4random_buf-related warning (e64a2b0) o Add -Qunused-arguments for clang on macos (b56611d Trond Norbye) BUGFIXES (resource leaks/lock errors on error) o Avoid leaking fds on evconnlistener with no callback set (69db261) o Avoid double-close on getsockname error in evutil_ersatz_socketpair (0a822a6) o Fix a locking error in bufferevent_socket_get_dns_error. (0a5eb2e) o libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer) (b8f5980 Frank Denis) BUGFIXES: (other stability) o bufferevent_pair: don't call downcast(NULL) (f2428a2) o Consistently check for failure from evbuffer_pullup() (60f8f72) o Fix race caused by event_active (3c7d6fc vjpai) BUGFIXES (miscellaneous) o Avoid redundant invocations of init_extension_functions for IOCP (3b77d62) o Typo fixes from Linus Nordberg (cec62cb, 8cd695b) o Add a few files created by "make verify" to .gitignore. (1a8295a Pierre Phaneuf) o regress_buffer: fix 'memcmp' compare size (79800df Maks Naumov) o Fix bufferevent setwatermark suspend_read (b34e4ac ufo2243) o Fix evbuffer_peek() with len==-1 and start_at non-NULL. (fb7e76a) BUFGIXES (evdns) o Checking request nameserver for NULL, before using it. (5c710c0 Belobrov Andrey) o Fix SEGFAULT after evdns_base_resume if no nameservers installed. (f8d7df8 Azat Khuzhin) o Fix a crash in evdns related to shutting down evdns (9f39c88,e8fe749) BUGFIXES (epoll) o Check does arch have the epoll_create and __NR_epoll_wait syscalls. (dfe1e52 Marcin Juszkiewicz) BUGFIXES (evutil_secure_random) o Avoid other RNG initialization FS reads when urandom file is specified (9695e9c, bb52471) o When we seed from /proc/sys/kernel/random/uuid, count it as success (e35b540) o Document that arc4random is not a great cryptographic PRNG. (6e49696) o Add evutil_secure_rng_set_urandom_device_file (2bbb5d7) o Really remove RNG seeds from the stack (f5ced88) DOCUMENTATION FIXES o Fix a mistake in evbuffer_remove() arguments in example http server code (c322c20 Gyepi Sam) o Fix a typo in a comment in buffer.h. Spotted by Alt_F4 (773b0a5) o Clarify event_base_loop exit conditions (031a803) o Use FindClose for handle from FindFirstFile in http-server.c (6466e88) o Fix a typo in a doxygen comment. Reported by 亦得. (be1aeff)
Attachment #8827016 - Flags: review?(wmccloskey)
Comment on attachment 8827016 [details] [diff] [review] update libevent to version 2.0.22-stable Can you add CHECK_EVENT_SIZEOF(OFF_T, off_t); to ipc/chromium/src/base/message_pump_libevent.cc to avoid regressing bug 1181026?
Good call, thanks. I added a note to README.mozilla for future reference as well. https://treeherder.mozilla.org/#/jobs?repo=try&revision=3c30db8fec5fa24c37db62a9456aa0343b1d698e
Attachment #8827016 - Attachment is obsolete: true
Attachment #8827016 - Flags: review?(wmccloskey)
Attachment #8827025 - Flags: review?(wmccloskey)
Comment on attachment 8827025 [details] [diff] [review] update libevent to version 2.0.22-stable Bill's a bit low on review cycles and suggested you might be able to take a look sooner, Jed?
Attachment #8827025 - Flags: review?(wmccloskey) → review?(jld)
Comment on attachment 8827025 [details] [diff] [review] update libevent to version 2.0.22-stable Review of attachment 8827025 [details] [diff] [review]: ----------------------------------------------------------------- Sorry for the delay — I wanted to at least read through the whole patch before giving r+.
Attachment #8827025 - Flags: review?(jld) → review+
Pushed by ryanvm@gmail.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/2385580947f9 Update libevent to version 2.0.22-stable. r=jld
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
Any idea why that would cause compile error in Thunderbird, like here: https://treeherder.mozilla.org/#/jobs?repo=comm-central&revision=c59a7076fb4f9427516ad8b55469f9e8f0d51f79&selectedJob=71954845 /builds/slave/tb-c-cen-m64-00000000000000000/build/mozilla/ipc/chromium/src/base/message_pump_libevent.cc:37:1: error: static_assert failed "bad _EVENT_SIZEOF_LONG" /builds/slave/tb-c-cen-m64-00000000000000000/build/mozilla/ipc/chromium/src/base/message_pump_libevent.cc:40:1: error: static_assert failed "bad _EVENT_SIZEOF_PTHREAD_T" /builds/slave/tb-c-cen-m64-00000000000000000/build/mozilla/ipc/chromium/src/base/message_pump_libevent.cc:42:1: error: static_assert failed "bad _EVENT_SIZEOF_SIZE_T" /builds/slave/tb-c-cen-m64-00000000000000000/build/mozilla/ipc/chromium/src/base/message_pump_libevent.cc:43:1: error: static_assert failed "bad _EVENT_SIZEOF_VOID_P" No changes to this code to be seen: https://hg.mozilla.org/mozilla-central/rev/2385580947f9#l1.12 I did a clobber. It hasn't only failed once but seven times in a row.
Flags: needinfo?(jld)
Flags: needinfo?(aleth)
https://hg.mozilla.org/mozilla-central/diff/2385580947f9/ipc/chromium/src/third_party/libevent/mac/event2/event-config.h explains why. We dropped some 32-bit hunks since we dropped support for unified builds anyway. Apparently c-c is still creating them?
Thanks for the quick reply. Apparently so: Bug 1322402. Aleth needs to look into that. Clearing NI for Jed. I can see the dropped bits here: https://hg.mozilla.org/mozilla-central/diff/2385580947f9/ipc/chromium/src/third_party/libevent/mac/event2/event-config.h#l1.50 So obviously that won't work any more on a 32bit build since the sizes don't match.
Blocks: 1322402
Flags: needinfo?(jld)
Flags: needinfo?(aleth)
Blocks: 1360264
Depends on: 1388981
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: