I noticed a few odd issue with thumbnail generation in FileBrowser and e.g. open/save dialogs.
Go to http://www.lunarpup.com/animations/animations.html and download 3-4 (or more) large GIFs, and place them into /home/anon
Open FileBrowser. Notice that sometimes you get a progress bar loading the images, but most of the time any interaction with the window while it generates causes it to hang.
Another odd issue: Open TextEditor (reboot if thumbnails already were generated), click the "Open" button. While the thumbnails are being generated, it is unresponsive. Now while it is not responsive, double click on README.md. Notice how TextEditor crashes:
TextEditor(25): FilePicker{0x020f0ff8}: Quit event loop with result 0
TextEditor(25): FilePicker{0x020f0ff8}: Event loop returned with result 0
USERSPACE(25) ASSERTION FAILED: false
../Libraries/LibIPC/Connection.h:221
[TextEditor(25:25)]: Terminating TextEditor(25) due to signal 6
[FinalizerTask(4:4)]: CPU[0] NP(error) fault at invalid address V0x00000004
[FinalizerTask(4:4)]: copy_from_user(0xc096e9ac, 0x00000004, 4) failed at V0x00000004
[FinalizerTask(4:4)]: 0xdeadc0de Kernel::Processor::switch_context(Kernel::Thread*&, Kernel::Thread*&) +181
0xdeadc0de Kernel::Scheduler::context_switch(Kernel::Thread*) +183
0xdeadc0de Kernel::Scheduler::pick_next() +1683
0xdeadc0de Kernel::Processor::check_invoke_scheduler() +125
0xdeadc0de Kernel::Thread::die_if_needed() +157
0xdeadc0de syscall_handler +1414
0xdeadc0de syscall_asm_entry +49
0x081bf7f7 raise +22
0x080480bd abort +13
0x081bac6c tolower +0
0x08186e8f IPC::ServerConnection<ProtocolClientEndpoint, ProtocolServerEndpoint>::ServerConnection(ProtocolClientEndpoint&, AK::StringView const&) +271
0x08184dfe Protocol::Client::Client() +46
0x0805d3bf Web::ResourceLoader::ResourceLoader() +61
0x0805d413 Web::ResourceLoader::the() +33
0x0805b1de Web::ImageLoader::load(AK::URL const&) +176
0x080765bc Web::HTML::HTMLImageElement::parse_attribute(AK::FlyString const&, AK::String const&) +66
0x08079f18 Web::HTML::HTMLDocumentParser::create_element_for(Web::HTML::HTMLToken const&) +210
0x0807be8c Web::HTML::HTMLDocumentParser::insert_html_element(Web::HTML::HTMLToken const&) +38
0x08082d9f Web::HTML::HTMLDocumentParser::handle_in_body(Web::HTML::HTMLToken&) +16041
0x0807dccc Web::HTML::HTMLDocumentParser::run(AK::URL const&) +214
0x08054a10 Web::InProcessWebView::load_html(AK::StringView const&, AK::URL const&) +68
0x0804e9c3 TextEditorWidget::update_markdown_preview() +191
0x0804f727 TextEditorWidget::set_path(AK::LexicalPath const&) +353
0x0805355f TextEditorWidget::open_sesame(AK::String const&) +357
0x0805379f AK::Function<void (GUI::Action&)>::CallableWrapper<TextEditorWidget::TextEditorWidget()::{lambda(auto:1&)#16}>::call(GUI::Action&) const +231
0x080e4168 GUI::Action::activate(Core::Object*) +172
0x0812203f GUI::AbstractButton::mouseup_event(GUI::MouseEvent&) +107
0x081b8ca8 Core::Object::dispatch_event(Core::Event&, Core::Object*) +74
0x0811aacc GUI::Window::handle_mouse_event(GUI::MouseEvent&) +236
0x081b8ca8 Core::Object::dispatch_event(Core::Event&, Core::Object*) +74
0x081b107e Core::EventLoop::pump(Core::EventLoop::WaitMode) +308
0x081b11fd Core::EventLoop::exec() +43
0x0804878d main +898
0x0804e23e _start +94
[FinalizerTask(4:4)]: CPU[0] NP(error) fault at invalid address V0x00000004
[FinalizerTask(4:4)]: copy_from_user(0xc096e9ac, 0x00000004, 4) failed at V0x00000004
[FinalizerTask(4:4)]: 0xdeadc0de Kernel::Processor::switch_context(Kernel::Thread*&, Kernel::Thread*&) +181
0xdeadc0de Kernel::Scheduler::context_switch(Kernel::Thread*) +183
0xdeadc0de Kernel::Scheduler::pick_next() +1683
0xdeadc0de Kernel::Processor::check_invoke_scheduler() +125
0xdeadc0de Kernel::ScopedSpinLock<Kernel::RecursiveSpinLock>::~ScopedSpinLock() +198
0xdeadc0de Kernel::MemoryManager::handle_page_fault(Kernel::PageFault const&) +453
0xdeadc0de page_fault_handler +254
0xdeadc0de page_fault_asm_entry +38
0x081903cb Gfx::load_gif_frame_descriptors(Gfx::GIFLoadingContext&) +1993
0x08190e3b Gfx::GIFImageDecoderPlugin::frame(unsigned long) +51
0x08190f14 Gfx::GIFImageDecoderPlugin::bitmap() +44
0x08190fa7 Gfx::load_gif(AK::StringView const&) +73
0x0818ac5e Gfx::Bitmap::load_from_file(AK::StringView const&) +272
0x080f7f24 AK::Function<AK::RefPtr<Gfx::Bitmap> ()>::CallableWrapper<GUI::FileSystemModel::fetch_thumbnail_for(GUI::FileSystemModel::Node const&)::{lambda()#1}>::call() const +46
0x080fa0c9 LibThread::BackgroundAction<AK::RefPtr<Gfx::Bitmap> >::BackgroundAction(AK::Function<AK::RefPtr<Gfx::Bitmap> ()>, AK::Function<void (AK::RefPtr<Gfx::Bitmap>)>)::{lambda()#1}::operator()() const +49
0x081337e0 background_thread_func() +378
0x08133a15 LibThread::Thread::start()::{lambda(void*)#1}::_FUN(void*) +37
0x08133c4f pthread_create_helper +12
[FinalizerTask(4:4)]: Scheduler[0]: Reaped unparented process TextEditor(25), exit status: 6
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too