Commit Graph

5127 Commits

Author SHA1 Message Date
Tianjie Xu ff7c186f66 Merge "Fix the size mismatch in imgdiff"
am: dec77a454e

Change-Id: Ibd75a70220a20d38eb561c4ed84ac42225f1add9
2017-11-01 19:04:43 +00:00
Tianjie Xu dec77a454e Merge "Fix the size mismatch in imgdiff" 2017-11-01 18:56:46 +00:00
Tianjie Xu 113fe05ee0 Fix the size mismatch in imgdiff
As we construct the deflate entries of the target zip file with
random data, the total size of the zip file may vary from case
to case. This leads to occasional failures in the split test for
deflate large apk files. This CL fixes the issue by adding two static
zip files in the testdata instead of generating them dynamically.

Bug: 67849209
Test: run the deflate_large_test repeatedly
Change-Id: Iaeffad9205adefa10c9f62f9f088c33c4360a650
2017-10-31 23:31:02 -07:00
Tao Bao 78fa902920 Merge "update_verifier: Fix the wrong computation with group_range_count."
am: 011af6e1a9

Change-Id: Id9829bc924741a57fc4e175677f235d2221482f2
2017-10-30 17:47:14 +00:00
Treehugger Robot 011af6e1a9 Merge "update_verifier: Fix the wrong computation with group_range_count." 2017-10-30 17:29:35 +00:00
Tao Bao 6ec94c023e update_verifier: Fix the wrong computation with group_range_count.
'group_range_count' doesn't properly consider the pair-wise range
structure. It may split the ranges into wrong pairs if it evaluates to
an odd number.

For example, for an input range string of "6,0,2,10,12,20,22" with 4
threads, group_range_count becomes 1. It would then try to verify (0,2),
(2,10), (10,12) and (12,20). Note that (2,10) and (12,20) are not valid
ranges to be verified, and with (20,22) uncovered.

Bug: 68343761
Test: Trigger update_verifier verification. Check the number of verified
      blocks against the one in care_map.txt.
Change-Id: I7c5769325d9866be06c45e7dbcc0c8ea266de714
2017-10-29 14:51:25 -07:00
Tao Bao 450918158d Merge "tests: Take the ownership of the FD when calling fdopen."
am: 166479b259

Change-Id: I1d92a0da6048893c034d1d419b1729abc1968511
2017-10-27 00:11:08 +00:00
Treehugger Robot 166479b259 Merge "tests: Take the ownership of the FD when calling fdopen." 2017-10-26 20:47:43 +00:00
Tao Bao f29ed3e843 tests: Take the ownership of the FD when calling fdopen.
To avoid closing the same FD twice.

Test: recovery_component_test && recovery_host_test
Change-Id: I95195be8109101081410e9224efda535b2560e72
2017-10-26 12:05:57 -07:00
Tao Bao dcc1fa1ce8 Merge "applypatch: Fix a memory leak in ApplyImagePatch()."
am: 1bc0117755

Change-Id: Ifb081da2cbc7175454bb4059e41bb9c94d9b6512
2017-10-24 22:06:47 +00:00
Treehugger Robot 1bc0117755 Merge "applypatch: Fix a memory leak in ApplyImagePatch()." 2017-10-24 21:59:26 +00:00
Tao Bao fdec103335 applypatch: Fix a memory leak in ApplyImagePatch().
$ valgrind --leak-check=full out/host/linux-x86/nativetest64/recovery_host_test/recovery_host_test

==36755== 112 bytes in 1 blocks are definitely lost in loss record 4 of 16
==36755==    at 0x40307C4: malloc (valgrind/coregrind/m_replacemalloc/vg_replace_malloc.c:270)
==36755==    by 0x40C1669: operator new(unsigned long) (external/libcxxabi/src/cxa_new_delete.cpp:46)
==36755==    by 0x18D6A8: ApplyImagePatch(unsigned char const*, unsigned long, Value const*, std::__1::function<unsigned long (unsigned char const*, unsigned long)>, sha_state_st*, Value const*) (bootable/recovery/applypatch/imgpatch.cpp:62)
==36755==    by 0x18D02B: ApplyImagePatch(unsigned char const*, unsigned long, unsigned char const*, unsigned long, std::__1::function<unsigned long (unsigned char const*, unsigned long)>) (bootable/recovery/applypatch/imgpatch.cpp:134)
==36755==    by 0x160D15: GenerateTarget(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) (bootable/recovery/tests/component/imgdiff_test.cpp:85)
==36755==    by 0x11FA7D: verify_patched_image(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (bootable/recovery/tests/component/imgdiff_test.cpp:96)
==36755==    by 0x12966C: ImgdiffTest_zip_mode_smoke_trailer_zeros_Test::TestBody() (bootable/recovery/tests/component/imgdiff_test.cpp:295)
==36755==    by 0x235EF9: testing::Test::Run() (external/googletest/googletest/src/gtest.cc:2455)
==36755==    by 0x236CBF: testing::TestInfo::Run() (external/googletest/googletest/src/gtest.cc:2653)
==36755==    by 0x2372D6: testing::TestCase::Run() (external/googletest/googletest/src/gtest.cc:2771)
==36755==    by 0x23EEE6: testing::internal::UnitTestImpl::RunAllTests() (external/googletest/googletest/src/gtest.cc:4648)
==36755==    by 0x23EB45: testing::UnitTest::Run() (external/googletest/googletest/src/gtest.cc:2455)

std::unique_ptr<z_stream, decltype(&deflateEnd)> strm(new z_stream(), deflateEnd);

Only the internally allocated buffers inside 'strm' would be free'd by
deflateEnd(), but not 'strm' itself.

This CL fixes the issue by moving 'strm' to stack variable. Note that we
only need to call deflateEnd() on successful return of deflateInit2().

Test: recovery_host_test && recovery_component_test
Change-Id: I39b9bdf62376b8029f95cab82c8542bfcb874009
2017-10-24 12:48:36 -07:00
Alex Deymo d8ecad7896 Merge "Use SuffixArrayIndexInterface opaque type instead of the underlying data pointer."
am: 3d24b7bca6

Change-Id: I18b7e9ca9ae299b8a028da63fc7d3e9e9eaef221
2017-10-24 17:29:30 +00:00
Treehugger Robot 3d24b7bca6 Merge "Use SuffixArrayIndexInterface opaque type instead of the underlying data pointer." 2017-10-24 17:20:14 +00:00
Alex Deymo fa188268e4 Use SuffixArrayIndexInterface opaque type instead of the underlying data pointer.
bsdiff interface is changing such that it hides the suffix array
pointer from the public interface. This allows to use a different
suffix array data size depending on the input size, running much faster
in the normal case.

Bug: 34220646
Test: `make checkbuild`; Ran an incremental update generation on a non-A/B device.
Change-Id: I78e766da56cf28bc7774b8c8e58527bc11d919fb
2017-10-24 14:00:31 +02:00
Dan Willemsen 3b4e2ebf2c Merge "libdrm_platform is now libdrm"
am: d830858952

Change-Id: I9614430880626ca25b9eced39ed83eb69073b3b5
2017-10-23 21:36:58 +00:00
Treehugger Robot d830858952 Merge "libdrm_platform is now libdrm" 2017-10-23 21:25:17 +00:00
Dan Willemsen 0bda7a02c2 Merge "Build libminui with BOARD_VNDK_VERSION"
am: ec9ac55949

Change-Id: I18d3e50975bbff077cb435b798a71cf2384d5ba6
2017-10-21 00:16:05 +00:00
Dan Willemsen ec9ac55949 Merge "Build libminui with BOARD_VNDK_VERSION" 2017-10-21 00:08:23 +00:00
Tianjie Xu 85fca1fc57 Merge "Finish the new data receiver when update fails"
am: 9831ef389b

Change-Id: I62be2406eede1f9e02ee4ca45ffca6fd2283ef0a
2017-10-20 21:11:20 +00:00
Tianjie Xu 9831ef389b Merge "Finish the new data receiver when update fails" 2017-10-20 21:01:48 +00:00
Tianjie Xu 5450c84ba4 Finish the new data receiver when update fails
The thread to receive new data may still be alive after we exit
PerformBlockImageUpdate() upon failures. This caused memory corruption
when we run the unittest repeatedly. Set the receiver_available flag
to false and make sure the receiver exits when the update fails.

Bug: 65430057
Test: unittests passed with tsan
Change-Id: Icb232d13fb96c78262249ffbd29cdbe5b77f1fce
2017-10-20 11:14:56 -07:00
Bill Yi 9bc56553dd Import translations. DO NOT MERGE
Auto-generated-cl: translation import
Exempt-From-Owner-Approval: translation import

Bug: 68003463
Change-Id: Iae8fc3afc1453b6b609dae2bbff08231d00735e7
2017-10-20 01:50:04 -07:00
Dan Willemsen 2ee9266827 libdrm_platform is now libdrm
Since it's converted to Soong and is using vendor_available.

Test: mmma bootable/recovery
Change-Id: I57b40c26abc2f6031241de893b3184ed1283e1fe
2017-10-19 22:30:57 -07:00
Jiyong Park 647e396445 Build libminui with BOARD_VNDK_VERSION
Use libdrm_platform which is a platform variant of libdrm.

Bug: 63741047
Bug: 37342627
Test: BOARD_VNDK_VERSION=current m -j libminui
Test: ryu recovery graphics test shows various graphics
Change-Id: Ifd2c1432781a96538585cdf818aa728d628a2f5a
Merged-In: Ifd2c1432781a96538585cdf818aa728d628a2f5a
2017-10-19 16:45:23 -07:00
Tao Bao c8eba4a036 Merge "rotate_logs: Clean up the header includes."
am: 30ec005104

Change-Id: Icc10e4b6715a78deb6aab73829efa336821f849d
2017-10-18 20:27:57 +00:00
Tao Bao 30ec005104 Merge "rotate_logs: Clean up the header includes." 2017-10-18 20:21:36 +00:00
Tao Bao 245c522588 rotate_logs: Clean up the header includes.
Also clang-format rotate_logs.cpp to get consistent style.

Test: mmma bootable/recovery
Test: recovery_manual_test works on marlin.
Change-Id: I1210a346b97bbf0e1a8c3f8e3e73a7c114858ca8
2017-10-18 11:08:37 -07:00
Tao Bao f63dbde3ef Merge "otautil: Move RangeSet implementation into rangeset.cpp."
am: bab1e8efc8

Change-Id: I5d41bdfe514e09c49bf2279ee6ca1b56ff5aab1f
2017-10-17 16:04:13 +00:00
Tao Bao bab1e8efc8 Merge "otautil: Move RangeSet implementation into rangeset.cpp." 2017-10-17 16:01:50 +00:00
Tao Bao 4568582002 otautil: Move RangeSet implementation into rangeset.cpp.
Since it has grown much larger, users of the header shouldn't compile
and carry their full copies.

Also add missing header includes in imgdiff.cpp and imgdiff_test.cpp.

Test: mmma bootable/recovery
Test: recovery_unit_test; recovery_component_test; recovery_host_test
Change-Id: I88ca54171765e5606ab0d61580fbc1ada578fd7d
2017-10-16 11:28:18 -07:00
Chih-hung Hsieh 97d9ae086a Merge "Fix owner email address."
am: b4a8c6abd9

Change-Id: Ia637ddf881edb5db4b172d1ab2f75f321aee4c2a
2017-10-12 18:22:56 +00:00
Chih-hung Hsieh b4a8c6abd9 Merge "Fix owner email address." 2017-10-12 18:10:12 +00:00
Chih-Hung Hsieh 4945407f5b Fix owner email address.
Test: normal build.
Bug: 67718313
Change-Id: Ia3144c634647f7a457810370a9f7275c19a8aa76
2017-10-12 10:45:04 -07:00
Tao Bao 7722d8255c Merge "applypatch: Move to Soong."
am: b058c5c481

Change-Id: Ibdee21116b15742ff8688352c6d49195a516132d
2017-10-12 16:20:51 +00:00
Tao Bao b058c5c481 Merge "applypatch: Move to Soong." 2017-10-12 16:12:48 +00:00
Tao Bao 92964b3b94 Merge "applypatch: Remove the Makefile for building imgdiff in Chrome OS."
am: 2ebc7dabff

Change-Id: I215fe78600a7799ca8be5ac479e50d1f00d70238
2017-10-12 03:27:23 +00:00
Tao Bao 6cadc73dea Merge "Drop -Wno-unused-parameter."
am: a0e9742796

Change-Id: Iabe3bf5471a02d3d3af64f6d249fd761bc7ac512
2017-10-12 03:26:41 +00:00
Tao Bao 2ebc7dabff Merge "applypatch: Remove the Makefile for building imgdiff in Chrome OS." 2017-10-12 03:22:41 +00:00
Tao Bao a0e9742796 Merge "Drop -Wno-unused-parameter." 2017-10-12 03:22:17 +00:00
Dan Albert b23cfd43da Merge "Add missing includes."
am: 3c4e270123

Change-Id: I137b0abf7f9b72e458ff62b203dfb92bca58c97e
2017-10-12 00:21:26 +00:00
Treehugger Robot 3c4e270123 Merge "Add missing includes." 2017-10-12 00:11:56 +00:00
Tao Bao 99f0d9e52b Drop -Wno-unused-parameter.
The only one left is libedify. Will handle that in a separate CL.

Test: mmma bootable/recovery
Change-Id: I732a5f85229da90fd767bee2e46c5c95f529c396
2017-10-11 16:56:12 -07:00
Tao Bao 582b67850f applypatch: Move to Soong.
Test: mmma bootable/recovery
Change-Id: Ie163aff1c4c2b3b15bb705825779ada6bc38ad67
2017-10-11 16:26:06 -07:00
Tao Bao 526699fc67 applypatch: Remove the Makefile for building imgdiff in Chrome OS.
The former user system/update_engine has dropped the support for
imgdiff (https://android-review.googlesource.com/c/platform/system/update_engine/+/400427/).

Test: N/A
Change-Id: Ia8f770dc51800b45064c4affc3514cf513877edc
2017-10-11 15:59:28 -07:00
Tao Bao 9e232f9f2a Merge "otafault: Add the missing #include <string>."
am: 489155c44b

Change-Id: Ieee8b0305e2f42146cb11977dfde01658bd0d16f
2017-10-11 21:30:21 +00:00
Tao Bao 7861ec16a0 Merge "otautil: #include <errno.h> for TEMP_FAILURE_RETRY."
am: 1bf842471c

Change-Id: I9a05bd96e5d213e97f0c9aed3bd6aa973bc51327
2017-10-11 21:30:02 +00:00
Tao Bao 489155c44b Merge "otafault: Add the missing #include <string>." 2017-10-11 21:15:24 +00:00
Tao Bao 1bf842471c Merge "otautil: #include <errno.h> for TEMP_FAILURE_RETRY." 2017-10-11 21:04:39 +00:00
Tao Bao 491880ed2f Merge "applypatch: Use shared lib for libbz."
am: 6d7e4acf7e

Change-Id: I9a2303ae5c9ae0002954bcaae399986f7dd20d6b
2017-10-11 21:00:26 +00:00