Opened 8 years ago

Closed 8 years ago

#12471 closed bug (fixed)

Web+ crash while uploading to dropbox (websockets)

Reported by: humdinger Owned by: pulkomandy
Priority: normal Milestone: Unscheduled
Component: Applications/WebPositive Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

This is hrev49842.

Had the attached crash after a few minutes of uploading an 8 MiB file.

The gist:

state: Exception (Segment violation)

Frame		IP			Function Name
-----------------------------------------------
0x71a72038	0x37124b4	WebCore::SocketStreamHandle::platformClose() + 0x24 
	Disassembly:
		WebCore::SocketStreamHandle::platformClose():
		0x03712490:               55  push %ebp
		0x03712491:             89e5  mov %esp, %ebp
		0x03712493:               56  push %esi
		0x03712494:               53  push %ebx
		0x03712495:           83ec10  sub $0x10, %esp
		0x03712498:           8b7508  mov 0x8(%ebp), %esi
		0x0371249b:       e8d79015ff  call 0x286b577
		0x037124a0:     81c3e4331700  add $0x1733e4, %ebx
		0x037124a6:           8b4664  mov 0x64(%esi), %eax
		0x037124a9:             8b10  mov (%eax), %edx
		0x037124ab:           890424  mov %eax, (%esp)
		0x037124ae:           ff5250  call 0x50(%edx)
		0x037124b1:           8b4634  mov 0x34(%esi), %eax
		0x037124b4:             8b10  mov (%eax), %edx <--

	Frame memory:
		[0x71a72020]  0M..hj6.........   30 4d 0b 1f 68 6a 36 1b 00 00 00 00 91 1a ad 02
		[0x71a72030]  .X..(=."           84 58 88 03 28 3d 11 22
0x71a72058	0x37094f3	WebCore::SocketStreamHandleBase::disconnect() + 0x13 
0x71a72088	0x3692a73	WebCore::WebSocketChannel::disconnect() + 0x83 
0x71a720b8	0x31cb3db	WebCore::WebSocket::stop() + 0x3b 
0x71a720f8	0x294e42b	WebCore::ScriptExecutionContext::stopActiveDOMObjects() + 0x1ab 
0x71a72118	0x290827c	WebCore::Document::stopActiveDOMObjects() + 0x1c 
0x71a72138	0x2908309	WebCore::Document::prepareForDestruction() + 0x69 
0x71a72168	0x2bbe22b	WebCore::Frame::setView(WTF::RefPtr<WebCore::FrameView>&&) + 0xab 
0x71a721c8	0x2bc0a86	WebCore::Frame::createView(WebCore::IntSize const&, WebCore::Color const&, bool, WebCore::IntSize const&, WebCore::IntRect const&, bool, WebCore::ScrollbarMode, bool, WebCore::ScrollbarMode, bool) + 0x66 
0x71a72268	0x28726d3	WebCore::FrameLoaderClientHaiku::transitionToCommittedForNewPage() + 0x123 
0x71a72298	0x2b1e813	WebCore::FrameLoader::transitionToCommitted(WebCore::CachedPage*) + 0xf3 
0x71a723f8	0x2b1ea9c	WebCore::FrameLoader::commitProvisionalLoad() + 0xfc 
0x71a72418	0x2b033c0	WebCore::DocumentLoader::commitIfReady() + 0x30 
0x71a72458	0x2b049d8	WebCore::DocumentLoader::commitLoad(char const*, int) + 0x38 
0x71a72498	0x2b04b1a	WebCore::DocumentLoader::dataReceived(WebCore::CachedResource*, char const*, int) + 0x7a 
0x71a724f8	0x2b60878	WebCore::CachedRawResource::notifyClientsDataWasReceived(char const*, unsigned int) + 0x168 
0x71a72548	0x2b60a3b	WebCore::CachedRawResource::addDataBuffer(WebCore::SharedBuffer&) + 0x9b 
0x71a725a8	0x2b48db1	WebCore::SubresourceLoader::didReceiveDataOrBuffer(char const*, int, WTF::PassRefPtr<WebCore::SharedBuffer>, long long, WebCore::DataPayloadType) + 0xf1 
0x71a725e8	0x2b48eea	WebCore::SubresourceLoader::didReceiveData(char const*, unsigned int, long long, WebCore::DataPayloadType) + 0x4a 
0x71a72618	0x2b41393	WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle*, char const*, unsigned int, int) + 0x33 
0x71a72648	0x34edfd8	WebCore::BUrlProtocolHandler::DataReceived(BUrlRequest*, char const*, long long, long) + 0x58 
0x71a72700	0xf808f3	BUrlProtocolAsynchronousListener::MessageReceived(BMessage*) + 0x2d3 
0x71a72720	0x3c8a95d	BLooper::DispatchMessage(BMessage*, BHandler*) + 0x2d 
0x71a72920	0x3c825c9	BApplication::DispatchMessage(BMessage*, BHandler*) + 0x29 
0x71a72970	0x3c8ac7d	BLooper::task_looper() + 0x10d 
0x71a72990	0x3c7f30c	BApplication::Run() + 0x4c 
0x71a729d0	0x1a48550	main + 0x40 
0x71a729f8	0x1a487dd	_start + 0x4d 
0x71a72a38	0x649d82	runtime_loader + 0x132 
00000000	0x61d4e250	commpage_thread_exit + 0 

Attachments (2)

WebPositive-935-debug-16-11-2015-17-08-22.report (35.8 KB ) - added by humdinger 8 years ago.
crash while uploading to dropbox
WebPositive-18675-debug-07-10-2016-17-42-08.report (144.0 KB ) - added by humdinger 8 years ago.
crash when trying to upload

Download all attachments as: .zip

Change History (9)

by humdinger, 8 years ago

crash while uploading to dropbox

comment:1 by pulkomandy, 8 years ago

Summary: Web+ crash while uploading to dropboxWeb+ crash while uploading to dropbox (websockets)

comment:2 by humdinger, 8 years ago

Just to add: I see this kind of crash very often, not just when trying to upload to dropbox. Very prone to this as well seems to be the github site.

comment:3 by pulkomandy, 8 years ago

If you have steps to reproduce it on other websites, it would be nice to list them here.

The WebSocket code was written by one of our GCI students and is known to be broken since then, but I never took the time to fix it. It did work with the simple tests I could find, but not so well for more complex operations.

comment:4 by humdinger, 8 years ago

100% reproducible: adding an issue to a project on github. Did that with "Filer" and every time I sned off the form, it crashes. Good thing that the issue is still saved by github...

Version 0, edited 8 years ago by humdinger (next)

comment:5 by humdinger, 8 years ago

With hrev50574 I can't even start uploading. Clicking on the "Upload" icon, Web+ crashes with attached report.

0x718693e8	0x3293530	WebCore::WebSocket::connect(WTF::String const&, WTF::Vector<WTF::String,
(unsigned long)0, WTF::CrashOnOverflow, (unsigned long)16> const&, int&) + 0x15b0 

by humdinger, 8 years ago

crash when trying to upload

comment:6 by pulkomandy, 8 years ago

Possibly fixed in https://github.com/haiku/webkit/commit/64c58bf1926f1897ebe1024cf61c6936db711d3c, but I got a different crash (still in WebSocket code). Upload to dropbox works ok. Will check github next.

comment:7 by pulkomandy, 8 years ago

Resolution: fixed
Status: newclosed

Confirmed, also fixes github.

Note: See TracTickets for help on using tickets.