Hi Jamey,
On 03.09.2015 05:31, Jamey Sharp wrote:
Thanks to your pointers, Norman, I've gotten as far as building Genode 14.11 for nova_x86_32 with the eglgears run script, with i915 added to SPECS.
I've booted the resulting .iso on a couple of Thinkpads from various eras, as well as in qemu of course. I don't actually get any gears rendering on any of them.
I don't expect it to work right under qemu since I don't think Intel integrated graphics is emulated there, but it's the only way I know to get debugging output so far. Under qemu, I see the following output:
[init -> launchpad -> init -> eglgears] native_probe* native_create_probe(EGLNativeDisplayType): not yet implemented dpy=0 [init -> launchpad -> init -> eglgears] native_probe_result native_get_probe_result(native_probe*): not yet implemented [init -> launchpad -> init -> eglgears] falling back to softpipe driver [init -> launchpad -> init -> eglgears] returned from init display->screen [init -> launchpad -> init -> eglgears] no plugin found for fcntl(2) [init -> launchpad -> init -> eglgears] no plugin found for write(2) [init -> launchpad -> init -> eglgears] called, return 1 connector no RM attachment (READ pf_addr=9 pf_ip=481c4 from a2bfefc6 eglgears) virtual void Genode::Signal_session_component::submit(Genode::Signal_context_capability, unsigned int): invalid signal-context capability static void Genode::Pager_object::_page_fault_handler(): unhandled page fault, 'pager:eglgears' address=0x9 ip=0x481c4
So under qemu I guess eglgears crashes by dereferencing a bogus pointer. How can I get this console output on real hardware, to see if it's crashing the same way?
thank you for the log. I can see two things: First, eglgears fails to probe for the Intel GMA PCI device, which is just expected as you are executing the run script on Qemu. If falls back to the softpipe driver. The second issue indeed looks like a de-referenced NULL pointer. I can reproduce it with the current master branch of Genode. It even occurs on Linux, where I was able to obtain a backtrace. I just created the following issue for it:
https://github.com/genodelabs/genode/issues/1670
While investigating, I tried various prior versions of Genode, including the versions 14.11 and 14.05. Interestingly, all the tested versions fail in the same way. However, once I installed the old tool chain (the one built by the tool/tool_chain script for the respective version), things started to look a bit brighter. E.g., with Genode 14.05 and the tool chain of the this version, the eglgears.run script works on Qemu (on NOVA, I had to increase the memory assignment in the launchpad a bit). I haven't tested it on real hardware though.
So the issue seems somehow to be related to the tool chain. Unfortunately, the backtrace does not point to an obvious problem. We'll need to investigate.
In the meanwhile, could you try to give Genode 14.05 (with the corresponding tool chain) a spin?
Regarding your question about obtaining the log output on real hardware, you have two options:
* Use a machine with Intel Active Management Technology (AMT), which allows you to transfer the serial output over the network.
* Install a serial ExpressCard (if your laptop has such a slot).
Our run tool supports both options.
Also, Norman, do you remember exactly which hardware you tested this code on in 2010? I grabbed an old Thinkpad to try to match your setup more closely, so my test box has Intel 945GM graphics (PCI ID 8086:27a2) and a 32-bit Core Duo CPU. I may have gone a little too far back as it's a 2006 model, perhaps?
The machine looks fine. I successfully tested the eglgears.run script on a 945GM device.
Cheers Norman