[Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Jan Kiszka
On 2011-03-09 12:20, Paolo Bonzini wrote: > On 03/09/2011 08:37 AM, Jan Kiszka wrote: >> It's probably worth validating that the iothread lock is >> always held when qemu_set_fd_handler2 is invoked to confirm this race >> theory, adding something like >> >> assert(pthread_mutex_trylock(&qemu_mutex)

[Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Paolo Bonzini
On 03/09/2011 08:37 AM, Jan Kiszka wrote: It's probably worth validating that the iothread lock is always held when qemu_set_fd_handler2 is invoked to confirm this race theory, adding something like assert(pthread_mutex_trylock(&qemu_mutex) != 0); (that's for qemu-kvm only) Alternatively, ioha

[Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Peter Lieven
Am 09.03.2011 um 11:20 schrieb Jan Kiszka: > On 2011-03-09 11:16, Peter Lieven wrote: >> >> Am 09.03.2011 um 08:37 schrieb Jan Kiszka: >> >>> On 2011-03-08 23:53, Peter Lieven wrote: Hi, during testing of qemu-kvm-0.14.0 i can reproduce the following segfault. i have seen

[Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Peter Lieven
Am 09.03.2011 um 08:37 schrieb Jan Kiszka: > On 2011-03-08 23:53, Peter Lieven wrote: >> Hi, >> >> during testing of qemu-kvm-0.14.0 i can reproduce the following segfault. i >> have seen similar crash already in 0.13.0, but had no time to debug. >> my guess is that this segfault is related to

[Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Jan Kiszka
On 2011-03-09 11:16, Peter Lieven wrote: > > Am 09.03.2011 um 08:37 schrieb Jan Kiszka: > >> On 2011-03-08 23:53, Peter Lieven wrote: >>> Hi, >>> >>> during testing of qemu-kvm-0.14.0 i can reproduce the following segfault. i >>> have seen similar crash already in 0.13.0, but had no time to debu

Re: [Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Jan Kiszka
On 2011-03-09 11:14, Corentin Chary wrote: >>> Cheap stuff is done by the main thread (cursor, etc...). The thread >>> only do framebuffer updates. >> >> And both are synchronized with a vnc-private lock only? > > Yes > >> The problem with this model is the non-threaded qemu execution model. >> E

Re: [Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Corentin Chary
>> Cheap stuff is done by the main thread (cursor, etc...). The thread >> only do framebuffer updates. > > And both are synchronized with a vnc-private lock only? Yes > The problem with this model is the non-threaded qemu execution model. > Even if we acquire the global mutex to protect handler u

Re: [Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Jan Kiszka
On 2011-03-09 11:06, Corentin Chary wrote: >> Probably the best way is to make vnc stop fiddling with >> qemu_set_fd_handler2, specifically in threaded mode. >> Why does it need to set/reset the write handler all the time? > > I didn't write the original code, but it's probably to avoid calling a

Re: [Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Corentin Chary
> Probably the best way is to make vnc stop fiddling with > qemu_set_fd_handler2, specifically in threaded mode. > Why does it need to set/reset the write handler all the time? I didn't write the original code, but it's probably to avoid calling a write handler when there is no data to write. That

[Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Peter Lieven
Am 09.03.2011 um 08:37 schrieb Jan Kiszka: > On 2011-03-08 23:53, Peter Lieven wrote: >> Hi, >> >> during testing of qemu-kvm-0.14.0 i can reproduce the following segfault. i >> have seen similar crash already in 0.13.0, but had no time to debug. >> my guess is that this segfault is related to

Re: [Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Jan Kiszka
On 2011-03-09 10:58, Jan Kiszka wrote: > On 2011-03-09 10:54, Corentin Chary wrote: >> Re-reading: >> So we are calling a IOHandlerRecord::fd_write handler that is NULL. Looking at qemu_set_fd_handler2, this may happen if that function is called for an existing io-handler entry with

Re: [Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Jan Kiszka
On 2011-03-09 10:54, Corentin Chary wrote: > Re-reading: > >>> So we are calling a IOHandlerRecord::fd_write handler that is NULL. >>> Looking at qemu_set_fd_handler2, this may happen if that function is >>> called for an existing io-handler entry with non-NULL write handler, >>> passing a NULL wr

Re: [Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Corentin Chary
Re-reading: >> So we are calling a IOHandlerRecord::fd_write handler that is NULL. >> Looking at qemu_set_fd_handler2, this may happen if that function is >> called for an existing io-handler entry with non-NULL write handler, >> passing a NULL write and a non-NULL read handler. And all this witho

Re: [Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Jan Kiszka
On 2011-03-09 09:50, Corentin Chary wrote: > On Wed, Mar 9, 2011 at 7:37 AM, Jan Kiszka wrote: >> On 2011-03-08 23:53, Peter Lieven wrote: >>> Hi, >>> >>> during testing of qemu-kvm-0.14.0 i can reproduce the following segfault. i >>> have seen similar crash already in 0.13.0, but had no time to

Re: [Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-09 Thread Corentin Chary
On Wed, Mar 9, 2011 at 7:37 AM, Jan Kiszka wrote: > On 2011-03-08 23:53, Peter Lieven wrote: >> Hi, >> >> during testing of qemu-kvm-0.14.0 i can reproduce the following segfault. i >> have seen similar crash already in 0.13.0, but had no time to debug. >> my guess is that this segfault is relate

[Qemu-devel] Re: segmentation fault in qemu-kvm-0.14.0

2011-03-08 Thread Jan Kiszka
On 2011-03-08 23:53, Peter Lieven wrote: > Hi, > > during testing of qemu-kvm-0.14.0 i can reproduce the following segfault. i > have seen similar crash already in 0.13.0, but had no time to debug. > my guess is that this segfault is related to the threaded vnc server which > was introduced in q