Bug 1762434

Summary: chromium cannot unzip files
Product: [Fedora] Fedora EPEL Reporter: Tom "spot" Callaway <tcallawa>
Component: minizipAssignee: Jakub Martisko <jamartis>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel8CC: Neustradamus, odubaj, panovotn
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tom "spot" Callaway 2019-10-16 17:44:41 UTC
When chromium attempts to unzip files, it SIGSEGVs. This only happens in the epel-8 build, not any of the Fedora builds, despite being built the same way, which is why I am very suspicious that this issue is in minizip on EPEL-8.

You can reproduce this by installing chromium, then going to:

https://chrome.google.com/webstore/search/https%20everywhere

Hit the "Add to Chrome" button on the HTTPS Everywhere extension (or any extension, they're all zip files), and watch it fail. If you want a proper core dump, launch chromium-browser like this:


  CHROME_HEADLESS=1 chromium-browser


Chromium doesn't make debugging easy because it doesn't have debuginfo symbols, but it seems pretty clear that the code is calling the compat functionality in minizip and somewhere in there on EPEL-8 (and only EPEL-8), we get a SIGSEGV.

gdb bt, for reference:

Core was generated by `/usr/lib64/chromium-browser/chromium-browser --type=utility --field-trial-handl'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f8d1ba4ad57 in mz_stream_create () from /lib64/libminizip.so.2.5
(gdb) bt
#0  0x00007f8d1ba4ad57 in mz_stream_create () from /lib64/libminizip.so.2.5
#1  0x00007f8d1ba5500b in unzOpen2_64 () from /lib64/libminizip.so.2.5
#2  0x00005630b9e84580 in zip::internal::OpenFdForUnzipping(int) ()
#3  0x00005630b9e82fe3 in zip::ZipReader::OpenFromPlatformFile(int) ()
#4  0x00005630b9e80c85 in zip::UnzipWithFilterAndWriters(int const&, base::RepeatingCallback<std::unique_ptr<zip::WriterDelegate, std::default_delete<zip::WriterDelegate> > (base::FilePath const&)> const&, base::RepeatingCallback<bool (base::FilePath const&)> const&, base::RepeatingCallback<bool (base::FilePath const&)> const&, bool) ()
#5  0x00005630b9467f2b in unzip::UnzipperImpl::UnzipWithFilter(base::File, mojo::InterfacePtr<filesystem::mojom::Directory>, mojo::InterfacePtr<unzip::mojom::UnzipFilter>, base::OnceCallback<void (bool)>) ()
#6  0x00005630b8f8cb41 in unzip::mojom::UnzipperStubDispatch::AcceptWithResponder(unzip::mojom::Unzipper*, mojo::Message*, std::unique_ptr<mojo::MessageReceiverWithStatus, std::default_delete<mojo::MessageReceiverWithStatus> >) ()
#7  0x00005630b946787b in unzip::mojom::UnzipperStub<mojo::RawPtrImplRefTraits<unzip::mojom::Unzipper> >::AcceptWithResponder(mojo::Message*, std::unique_ptr<mojo::MessageReceiverWithStatus, std::default_delete<mojo::MessageReceiverWithStatus> >) ()
#8  0x00007f8d3deffad9 in mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message*) ()
   from /usr/lib64/chromium-browser/libbindings.so
#9  0x00007f8d3df04350 in mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) () from /usr/lib64/chromium-browser/libbindings.so
#10 0x00007f8d3df07a8d in mojo::internal::MultiplexRouter::Accept(mojo::Message*) [clone .part.244] ()
   from /usr/lib64/chromium-browser/libbindings.so
#11 0x00007f8d3def96f7 in mojo::Connector::DispatchMessage(mojo::Message) () from /usr/lib64/chromium-browser/libbindings.so
#12 0x00007f8d3defb266 in mojo::Connector::ReadAllAvailableMessages() () from /usr/lib64/chromium-browser/libbindings.so
#13 0x00007f8d3dac4589 in mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) ()
   from /usr/lib64/chromium-browser/libmojo_public_system_cpp.so
#14 0x00007f8d3e5f67af in base::TaskAnnotator::RunTask(char const*, base::PendingTask*) ()
   from /usr/lib64/chromium-browser/libbase.so
#15 0x00007f8d3e608e4b in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow*, bool*) () from /usr/lib64/chromium-browser/libbase.so
#16 0x00007f8d3e6094b7 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoSomeWork() ()
   from /usr/lib64/chromium-browser/libbase.so
#17 0x00007f8d3e5ae46e in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) ()
   from /usr/lib64/chromium-browser/libbase.so
#18 0x00007f8d3e60508f in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ()
   from /usr/lib64/chromium-browser/libbase.so
#19 0x00007f8d3e5dc379 in base::RunLoop::RunWithTimeout(base::TimeDelta) () from /usr/lib64/chromium-browser/libbase.so
#20 0x00007f8d369249bb in content::UtilityMain(content::MainFunctionParams const&) ()
   from /usr/lib64/chromium-browser/libcontent.so
#21 0x00007f8d36934815 in content::RunZygote(content::ContentMainDelegate*) () from /usr/lib64/chromium-browser/libcontent.so
#22 0x00007f8d36935227 in content::ContentMainRunnerImpl::Run(bool) () from /usr/lib64/chromium-browser/libcontent.so
#23 0x00007f8d14d4b29a in service_manager::Main(service_manager::MainParams const&) ()
   from /usr/lib64/chromium-browser/libembedder.so
#24 0x00007f8d36933675 in content::ContentMain(content::ContentMainParams const&) () from /usr/lib64/chromium-browser/libcontent.so
#25 0x00005630b8d19105 in ChromeMain ()
#26 0x00007f8d1a78b813 in __libc_start_main () from /lib64/libc.so.6

Comment 1 Fedora Admin user for bugzilla script actions 2022-01-11 12:22:24 UTC
This package has changed maintainer in Fedora. Reassigning to the new maintainer of this component.

Comment 3 Fedora Admin user for bugzilla script actions 2024-07-10 12:08:29 UTC
This package has changed maintainer in Fedora. Reassigning to the new maintainer of this component.