OK investigated this a bit and found that android gralloc is failing to register the buffers received from the server on the client side in this test.
It seems also we are propagating exceptions across a loaded shared library and also through c code, so mcl::ClientBufferDepository::deposit_package never manages to put anything in its buffer list after the exception is thrown during actory->create_buffer(package, size, pf);
In addition, mcl::ClientBufferDepository::current_buffer_id() does not check if the list is empty so the id returned is garbage.
mir_demo_server_shell + mir_demo_client_egltriangle works ok so I suspect the test setup.
OK investigated this a bit and found that android gralloc is failing to register the buffers received from the server on the client side in this test.
It seems also we are propagating exceptions across a loaded shared library and also through c code, so mcl::ClientBuff erDepository: :deposit_ package never manages to put anything in its buffer list after the exception is thrown during actory- >create_ buffer( package, size, pf);
In addition, mcl::ClientBuff erDepository: :current_ buffer_ id() does not check if the list is empty so the id returned is garbage.
mir_demo_ server_ shell + mir_demo_ client_ egltriangle works ok so I suspect the test setup.