Opened 2 years ago

Last modified 2 years ago

#13314 assigned bug

Crashing app_server

Reported by: humdinger Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Servers/app_server Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

This is hrev50953.

Happened a second after trying to build a package with haikuporter:

thread 813: w:798:/boot/home/Desktop 
state: Exception (Segment violation)

Frame		IP			Function Name
-----------------------------------------------
0x7258a110	0x19ee060	AccelerantHWInterface::IsDoubleBuffered(AccelerantHWInterface) + 0 
	Disassembly:
		AccelerantHWInterface::IsDoubleBuffered(AccelerantHWInterface):
		0x019ee060:               55  push %ebp <--

	Frame memory:
		[0x7258a10c]  o...   6f 8e a1 01
0x7258a160	0x1a18e6d	HWInterface::HideFloatingOverlays(BRect&) + 0x2d 
0x7258a1f0	0x1a1422d	DrawingEngine::StrokeLineArray(int32, ViewLineArrayInfo*) + 0x2b9 
0x7258b960	0x19bf73f	ServerWindow::_DispatchViewDrawingMessage(int32, BPrivate::LinkReceiver&) + 0x4237 
0x7258bc90	0x19bafed	ServerWindow::_DispatchViewMessage(int32, BPrivate::LinkReceiver&) + 0x38d9 
0x7258bdc0	0x19b761c	ServerWindow::_DispatchMessage(int32, BPrivate::LinkReceiver&) + 0x12b4 
0x7258be40	0x19c278a	ServerWindow::_MessageLooper() + 0x27a 
0x7258be70	0x1997202	MessageLooper::_message_thread(void*) + 0x26 
0x7258be98	0x21bc4a1	thread_entry + 0x21 
00000000	0x60b2d250	commpage_thread_exit + 0 

Using VESA graphics. Full report attached.

Attachments (1)

app_server-673-debug-18-02-2017-16-13-58.report (157.1 KB) - added by humdinger 2 years ago.
crash report

Download all attachments as: .zip

Change History (6)

Changed 2 years ago by humdinger

crash report

comment:1 Changed 2 years ago by jua

Did anything additional get written to the syslog when it crashed?

comment:2 Changed 2 years ago by humdinger

As a matter of fact, yes:

KERN: write access attempted on write-protected area 0xe73 at 0x019ee000
KERN: vm_page_fault: vm_soft_fault returned error 'Permission denied' on fault at 0x19ee060, ip 0x19ee060, write 1, user 1, thread 0x32d
KERN: vm_page_fault: thread "w:798:/boot/home/Desktop" (813) in team "app_server" (673) tried to write address 0x19ee060, ip 0x19ee060 ("app_server_seg0ro" +0xea060)

The rest seems to be the same as in the debug report:

KERN: debug_server: Thread 813 entered the debugger: Segment violation
KERN: stack trace, current PC 0x19ee060  IsDoubleBuffered__C21AccelerantHWInterface + 0:
KERN:   (0x7258a158)  0x1a14232  StrokeLineArray__13DrawingEnginelPC17ViewLineArrayInfo + 0x2be
KERN:   (0x7258a1e8)  0x19bf741  _DispatchViewDrawingMessage__12ServerWindowlRQ28BPrivate12LinkReceiver + 0x4239
KERN:   (0x7258b958)  0x19baff2  _DispatchViewMessage__12ServerWindowlRQ28BPrivate12LinkReceiver + 0x38de
KERN:   (0x7258bc88)  0x19b7621  _DispatchMessage__12ServerWindowlRQ28BPrivate12LinkReceiver + 0x12b9
KERN:   (0x7258bdb8)  0x19c278c  _MessageLooper__12ServerWindow + 0x27c
KERN:   (0x7258be38)  0x1997204  _message_thread__13MessageLooperPv + 0x28
KERN:   (0x7258be68)  0x21bc4a3  thread_entry + 0x23

comment:3 Changed 2 years ago by jua

I feel a bit lost... According to the syslog output, the application attempted a store to 0x19ee060. Curiously, that is also the value of the instruction pointer at the time of the crash. That it's a code address explains the segment violation exception. But the instruction in question, which supposedly caused the exception, is simply push %ebp, and esp from the debug report looks completely fine with value 0x7258a10c. Anyone with an idea what might have happened here?

Last edited 2 years ago by jua (previous) (diff)

comment:4 Changed 2 years ago by jua

I'm reluctant to say this, but I suspect this might have been a hardware hiccup. Another option would be that our debug crash reporting has a bug and doesn't show the correct program state here. However, the shown state seems consistent, so that's unlikely.

comment:5 Changed 2 years ago by axeld

Owner: changed from axeld to nobody
Status: newassigned
Note: See TracTickets for help on using tickets.