#8068: A crash bring up the app_server in gdb when changing the screen resolution ----------------------------------+---------------------------- Reporter: oco | Owner: axeld Type: bug | Status: new Priority: normal | Milestone: R1 Component: Servers/app_server | Version: R1/Development Resolution: | Keywords: Blocked By: | Blocking: Has a Patch: 0 | Platform: All ----------------------------------+---------------------------- Comment (by mmlr): Replying to [comment:4 bonefish]: > Replying to [comment:3 mmlr]: > > So I'd suspect that the vm86 stuff needs to run on the same CPU that it was set up on and causes side effects leading to the crash otherwise. > > That's probably easy to verify. There's a kernel API to pin a thread to its CPU (`thread_pin_to_current_cpu()`/`thread_unpin_from_current_cpu()`). Yes, I realize, and it does work as a workaround as well. I'd like to figure out what actually happens though. The virtual 8086 mode should be task specific and switching between threads should just store/restore the state as with any other thread (the CPU isn't specifically set up, just an appropriate iframe is constructed). It obviously works on the same CPU when being rescheduled (forcing that by inserting some pauses into the code path) without any side effects, so I don't yet really see why it'd fail running on a different CPU. -- Ticket URL: <http://dev.haiku-os.org/ticket/8068#comment:5> Haiku <http://dev.haiku-os.org> Haiku - the operating system.