Development
malloc_debug: Implement alloc/free stack traces in guarded heap.
When configured to do so (using heap_debug_set_stack_trace_depth(depth)
or MALLOC_DEBUG=s) the guarded heap now captures stack traces on
alloc and free.
A crash due to hitting a guard page or an already freed page now dumps
these stack traces. In the case of use-after-free one can therefore see
both where the allocation was done and where it was freed.
Note that there is a hardcoded maximum stack trace depth of 50 and that
the alloc stack trace takes away space from the free stack trace which
uses up the rest of that maximum.
When configured to do so (using heap_debug_set_stack_trace_depth(depth)
or MALLOC_DEBUG=s) the guarded heap now captures stack traces on
alloc and free.
A crash due to hitting a guard page or an already freed page now dumps
these stack traces. In the case of use-after-free one can therefore see
both where the allocation was done and where it was freed.
Note that there is a hardcoded maximum stack trace depth of 50 and that
the alloc stack trace takes away space from the free stack trace which
uses up the rest of that maximum.
Categories: Development
Whitespace cleanup only.
Categories: Development
syscalls: Add get_stack_trace and lookup_symbol syscalls.
The get_stack_trace syscall generates a stack trace using the kernel
debugging facilities and copies the resulting return address array to
the preallocated buffer from userland. It is only possible to get a
stack trace of the current thread.
The lookup_symbol syscall can be used to look up the symbol and image
name corresponding to an address. It can be used to resolve symbols
from a stack trace generated by the get_stack_trace syscall. Only
symbols of the current team can be looked up. Note that this uses
the symbol lookup of the kernel debugger which does not support lookup
of all symbols (static functions are missing for example).
This is meant to be used in situations where more elaborate stack trace
generation, like done in the userland debugging helpers, is not possible
due to constraints.
The get_stack_trace syscall generates a stack trace using the kernel
debugging facilities and copies the resulting return address array to
the preallocated buffer from userland. It is only possible to get a
stack trace of the current thread.
The lookup_symbol syscall can be used to look up the symbol and image
name corresponding to an address. It can be used to resolve symbols
from a stack trace generated by the get_stack_trace syscall. Only
symbols of the current team can be looked up. Note that this uses
the symbol lookup of the kernel debugger which does not support lookup
of all symbols (static functions are missing for example).
This is meant to be used in situations where more elaborate stack trace
generation, like done in the userland debugging helpers, is not possible
due to constraints.
Categories: Development
Ticket #11960 (SDL: problem when reverting to previous resolution with Intel GMA driver) created
If a game using SDL changes the screen's resolution, then on exit the screen resolution is wrong: let's say the game requests a 640x480 full screen resolution, then on exit, on my laptop I get a screen of 640x480 (not scaled, since the Intel driver doesn't do scaling).
Could be something on SDL or a problem with the driver.
Categories: Development
<input>keyboard: Fix use-after-free on dead key completion.
When completing a dead key the already freed string was used to build
the input method changed notification. Use an ArrayDeleter to simplify
management of the two strings.
When completing a dead key the already freed string was used to build
the input method changed notification. Use an ArrayDeleter to simplify
management of the two strings.
Categories: Development
[haiku-development] Re: Reading the Mouse Cursor and Dirty Screen (Alexander G. M. Smith)
looncraz looncraz@xxxxxxxxxxx wrote on Sat, 28 Mar 2015 16:37:42 -0500:
Just 10MB, a quick video of it in action ;-)
Looks correct to me. I see you used your exclude region feature to cut out
the test window itself, otherwise you'd see the recursive out to infinity
view of the whole screen (which happens if you run the VNC client on the
same machine as the server).
You can set a frame rate limit, and it only captures when you Update().
...
Categories: Development
[haiku-development] Re: Bounty started for Jack (jimmy)
On 2015-03-26 08:22, Dane Scott - TuneTracker Systems wrote:
$200 so far, and we'll keep plugging it. If anybody's interested in working
on this (or IS working on it), let me know.
[1]
Dane
...
Categories: Development
Whitespace cleanup only.
Categories: Development
[haiku-development] Re: Reading the Mouse Cursor and Dirty Screen (looncraz)
On 3/28/2015 15:02, Alexander G. M. Smith wrote:
looncraz looncraz@xxxxxxxxxxx wrote on Fri, 27 Mar 2015 12:10:21 -0500:
Do you try to calculate the changes in the screen, or you just send the
whole thing as fast as you can?
There's a dirty rectangle algorithm in the VNC library code that compares
rectangular areas from the current bitmap with the previously transmitted
...
Categories: Development
