Hi all.
I am trying to port genode 14.05 on iMX6 board. As Aditya done this successfully for Genode 13.05. But Genode 14.05 is having so many changes from version 13.05. I am successfully able to build for iMx6 and it's creating uImage for "printf" script. But when i am running this uImage on the Board and its giving following messages :
starting Kernel... Genode 14.05
Kernel Initialized int main( ) : --- create local services--- failed to communicate with thread event
Any idea How will I start kernel ? where should i look ??
Regards
Chirag Garg IIT Madras , Rise Lab
Hi Chirag,
On 07/22/2014 10:54 AM, chirag garg wrote:
Hi all.
I am trying to port genode 14.05 on iMX6 board. As Aditya done this successfully for Genode 13.05. But Genode 14.05 is having so many changes from version 13.05. I am successfully able to build for iMx6 and it's creating uImage for "printf" script. But when i am running this uImage on the Board and its giving following messages :
starting Kernel... Genode 14.05
Kernel Initialized int main( ) : --- create local services--- failed to communicate with thread event
That's looking good, at least you've already some initialization code passed. The message "failed to communicate with thread event" might imply that core triggered a pagefault, something which should never happen normally, because virtual memory of core is translated eagerly, and there is no pager resolving page-faults from core.
Please try to apply this patch to your branch:
https://github.com/skalk/genode/commit/89e296e3687b27a98d4cb1fa2787bf956feb5...
In case that core provokes a pagefault, you'll get additional information about the faulting address and instruction pointer of core, so that you can find out the root cause of the problem.
I think, it would be best to get this debugging helper into the mainline repository.
Any idea How will I start kernel ? where should i look ??
The kernel is already started, even core, the first, and primary user-land process, is already running. Now, you've to bumble through arising problems.
Regards Stefan
Regards
Chirag Garg IIT Madras , Rise Lab
Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hi Stefan,
I am getting this error message: starting Kernel... Genode 14.05
Kernel Initialized int main( ) : --- create local services--- PF in core thread ( core ) : ip=1003cc38 fault=1008 failed to communicate with thread event
??
Regards
Chirag Garg IIT Madras , Rise Lab
On Tue, Jul 22, 2014 at 2:52 PM, Stefan Kalkowski < stefan.kalkowski@...1...> wrote:
Hi Chirag,
On 07/22/2014 10:54 AM, chirag garg wrote:
Hi all.
I am trying to port genode 14.05 on iMX6 board. As Aditya done this successfully for Genode 13.05. But Genode 14.05 is having so many changes from version 13.05. I am successfully able to build for iMx6 and it's creating uImage for "printf" script. But when i am running this uImage on the Board and its giving following messages :
starting Kernel... Genode 14.05
Kernel Initialized int main( ) : --- create local services--- failed to communicate with thread event
That's looking good, at least you've already some initialization code passed. The message "failed to communicate with thread event" might imply that core triggered a pagefault, something which should never happen normally, because virtual memory of core is translated eagerly, and there is no pager resolving page-faults from core.
Please try to apply this patch to your branch:
https://github.com/skalk/genode/commit/89e296e3687b27a98d4cb1fa2787bf956feb5...
In case that core provokes a pagefault, you'll get additional information about the faulting address and instruction pointer of core, so that you can find out the root cause of the problem.
I think, it would be best to get this debugging helper into the mainline repository.
Any idea How will I start kernel ? where should i look ??
The kernel is already started, even core, the first, and primary user-land process, is already running. Now, you've to bumble through arising problems.
Regards Stefan
Regards
Chirag Garg IIT Madras , Rise Lab
Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
-- Stefan Kalkowski Genode Labs
http://www.genode-labs.com/ · http://genode.org/
Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hi Chirag,
On 07/22/2014 02:51 PM, chirag garg wrote:
Hi Stefan,
I am getting this error message: starting Kernel... Genode 14.05
Kernel Initialized int main( ) : --- create local services--- PF in core thread ( core ) : ip=1003cc38 fault=1008 failed to communicate with thread event
??
The message means, it is a pagefault raised in core, at instruction address 0x1003cc38, the address for which no translation could be found is 0x1008. You'll have to inspect your resulting core-binary e.g. via tools like 'objdump' to getting to know what is going wrong. Find out at which point in the high-level code core is faulting by inspecting the disassembled binary. You then might incorporate additional debug printings at appropriated points around the faulting instruction to get a deeper understanding about the root of the failure.
Regards Stefan
Regards
Chirag Garg IIT Madras , Rise Lab
On Tue, Jul 22, 2014 at 2:52 PM, Stefan Kalkowski < stefan.kalkowski@...1...> wrote:
Hi Chirag,
On 07/22/2014 10:54 AM, chirag garg wrote:
Hi all.
I am trying to port genode 14.05 on iMX6 board. As Aditya done this successfully for Genode 13.05. But Genode 14.05 is having so many changes from version 13.05. I am successfully able to build for iMx6 and it's creating uImage for "printf" script. But when i am running this uImage on the Board and its giving following messages :
starting Kernel... Genode 14.05
Kernel Initialized int main( ) : --- create local services--- failed to communicate with thread event
That's looking good, at least you've already some initialization code passed. The message "failed to communicate with thread event" might imply that core triggered a pagefault, something which should never happen normally, because virtual memory of core is translated eagerly, and there is no pager resolving page-faults from core.
Please try to apply this patch to your branch:
https://github.com/skalk/genode/commit/89e296e3687b27a98d4cb1fa2787bf956feb5...
In case that core provokes a pagefault, you'll get additional information about the faulting address and instruction pointer of core, so that you can find out the root cause of the problem.
I think, it would be best to get this debugging helper into the mainline repository.
Any idea How will I start kernel ? where should i look ??
The kernel is already started, even core, the first, and primary user-land process, is already running. Now, you've to bumble through arising problems.
Regards Stefan
Regards
Chirag Garg IIT Madras , Rise Lab
Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
-- Stefan Kalkowski Genode Labs
http://www.genode-labs.com/ · http://genode.org/
Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hello Stefan,
Three months ago, when I received a page fault (RM error), Norman suggested using objdump and I did it as follows with Genode toolchain: In var/run/printf: $ /usr/local/genode-gcc/arm-elf-eabi/bin/objdump -lSd image.elf | less
While we were able to find the conflicting address and IP, it was of no help because we couldn't trace it to the faulty line (primarily because we don't speak hexa). Is there a way of doing this, that is, Finding which line of code the IP is a part of?
Thanks Aditya.
Hi, Aditya + Chirag
You have to make sure that everything is compiled and linked with debug option set (“-g” for GNU toolchains) and then apply “objdump” on an unstripped image, where the debug symbols are removed. The final boot image is usually stripped to keep it small. The unstripped image should also exist at the build location, and “objdump” output should look like this: … 80e804d8 <wait_on_value>: wait_on_value(): /home/.../syslib.c:60 80e804d8: e3a0c000 mov ip, #0 /home/.../syslib.c:59 80e804dc: e92d4010 push {r4, lr} …
Frank From: Aditya Kousik [mailto:adit267.kousik@...9...] Sent: Wednesday, July 23, 2014 1:28 PM To: Genode OS Framework Mailing List Subject: Re: Kernel Initialized in iMX6
Hello Stefan,
Three months ago, when I received a page fault (RM error), Norman suggested using objdump and I did it as follows with Genode toolchain: In var/run/printf: $ /usr/local/genode-gcc/arm-elf-eabi/bin/objdump -lSd image.elf | less
While we were able to find the conflicting address and IP, it was of no help because we couldn't trace it to the faulty line (primarily because we don't speak hexa). Is there a way of doing this, that is, Finding which line of code the IP is a part of?
Thanks Aditya.
Hi Aditya,
On 07/23/2014 01:27 PM, Aditya Kousik wrote:
Hello Stefan,
Three months ago, when I received a page fault (RM error), Norman suggested using objdump and I did it as follows with Genode toolchain: In var/run/printf: $ /usr/local/genode-gcc/arm-elf-eabi/bin/objdump -lSd image.elf | less
The problem is that you used the stripped (all debugging symbols deleted) overall image with objdump, thereby you don't gain any line information resp. correlation to the higher level language. Try the following instead:
/usr/local/genode-gcc/arm-elf-eabi/bin/objdump -lSd bin/core | less
If you've "c++filt" installed, you might imply it into your pipe chain to demangle C++ symbols:
/usr/local/genode-gcc/arm-elf-eabi/bin/objdump -lSd bin/core | c++filt | less
Regards Stefan
While we were able to find the conflicting address and IP, it was of no help because we couldn't trace it to the faulty line (primarily because we don't speak hexa). Is there a way of doing this, that is, Finding which line of code the IP is a part of?
Thanks Aditya.
Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main