Page 3 of 3

Re: Linux kernel is now 3.12

Posted: Tue Jul 22, 2014 1:05 pm
by dom
birdman wrote:It looks like the issue is "caused" by this change:

http://lists.infradead.org/pipermail/li ... 82402.html
Why do you believe it is that commit? Have you built a kernel with that commit reverted?

Re: Linux kernel is now 3.12

Posted: Tue Jul 22, 2014 1:17 pm
by birdman
dom wrote:Why do you believe it is that commit?
Only that this added the text that is now being reported in the error. Hence the "caused" being put in quotes.

And I can confirm the the problem goes away on reverting to the 3.10.38+ kernel.

EDIT: And the code was not in 3.10.x, but is in 3.12.x kernels.
But then there is always the question of why the kernel would be running an FP instruction anyway - particularly one that needs to be executed in virtualized emulator (software)

Re: Linux kernel is now 3.12

Posted: Tue Jul 22, 2014 5:31 pm
by birdman
hartacus wrote:Noticed this in the 3.11 changelog:
RCU: Remove TINY_PREEMPT_RCU (commit)
Could this have something to do with it?
Seems unlikely. The 3.10.38+ kernel (which is not showing the problem) wasn't using this, so its removal would have made no difference.
[raspi]: zcat /proc/config.gz | grep PREEMPT
CONFIG_TREE_PREEMPT_RCU=y
# CONFIG_TINY_PREEMPT_RCU is not set
CONFIG_PREEMPT_RCU=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_PREEMPT_TRACER is not set
[raspi]: uname -a
Linux raspi 3.10.38+ #675 PREEMPT Sun Apr 27 18:15:12 BST 2014 armv6l GNU/Linux

Re: Linux kernel is now 3.12

Posted: Thu Jul 24, 2014 7:38 pm
by LiudvikasLTU
How to get headers for 3.12? :(
I need to compile my TP-link WDN3200 drivers. I tried downloading older kernel (3.10-3) and I tried getting the headers from the apt get install linux-headers, but the file is messed up (all other files download except the 3.10-3 one).
I am a linux newbie still, and I don't know what to do :(

Re: Linux kernel is now 3.12

Posted: Sat Jul 26, 2014 11:24 pm
by birdman
birdman wrote:And I can confirm the the problem goes away on reverting to the 3.10.38+ kernel.
And I've now seen the BOINC manager put a process into the "preempted" state without it causing any problem with the 3.10.38+ kernel.
1) -----------
name: p2030.20130202.G176.31+00.88.C.b5s0g0.00000_3214_1
WU name: p2030.20130202.G176.31+00.88.C.b5s0g0.00000_3214
project URL: http://albert.phys.uwm.edu/
report deadline: Thu Aug 7 19:10:28 2014
ready to report: no
got server ack: no
final CPU time: 121531.900000
state: downloaded
scheduler state: preempted
exit_status: 0
signal: 0
suspended via GUI: no
active_task_state: UNINITIALIZED
app version num: 106
checkpoint CPU time: 121531.600000
current CPU time: 121531.900000
fraction done: 0.988592
swap size: 98172928.000000
working set size: 92274688.000000
estimated CPU time remaining: 1508.122022

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 2:08 am
by birdman
An update of the system has updated raspberrypi-bootloader (as well as libraspberrypi-bin, libraspberrypi-dev, libraspberrypi-doc and libraspberrypi0) from version 1.20140618-1 to 1.20140908-1 whch puts me onto a 3.12.28+ kernel. This continues ot show the "BUG: unsupported FP instruction in kernel mode" error.

The command

Code: Select all

    rpi-update f6eef32dd6388c3b04dbf462bd324d93281bf397
just reports "Your firmware is already up to date" and no longer takes me back to the 3.10.38+ kernle, so I now have one which doesn't work.

Any ideas on how to revert to a working kernel now?

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 2:12 am
by birdman
NOTE also that
apt-get install raspberrypi-bootloader=1.20140618-1 libraspberrypi-bin=1.20140618-1 libraspberrypi-dev=1.20140618-1 libraspberrypi-doc=1.20140618-1 libraspberrypi0=1.20140618-1
fails with the message:
E: Version '1.20140618-1' for 'raspberrypi-bootloader' was not found
E: Version '1.20140618-1' for 'libraspberrypi-bin' was not found
E: Version '1.20140618-1' for 'libraspberrypi-dev' was not found
E: Version '1.20140618-1' for 'libraspberrypi-doc' was not found
E: Version '1.20140618-1' for 'libraspberrypi0' was not found

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 3:02 am
by AndyD
birdman wrote:An update of the system has updated raspberrypi-bootloader (as well as libraspberrypi-bin, libraspberrypi-dev, libraspberrypi-doc and libraspberrypi0) from version 1.20140618-1 to 1.20140908-1 whch puts me onto a 3.12.28+ kernel. This continues ot show the "BUG: unsupported FP instruction in kernel mode" error.

The command

Code: Select all

    rpi-update f6eef32dd6388c3b04dbf462bd324d93281bf397
just reports "Your firmware is already up to date" and no longer takes me back to the 3.10.38+ kernle, so I now have one which doesn't work.

Any ideas on how to revert to a working kernel now?
When you update the firmware kernel with rpi-update it uses a file /boot/.firmware_revision to work out if you have the version you are requesting. When the firmware/kernel is updated using apt-get this file isn't part of the update. The easiest way I have found to force an update is

Code: Select all

sudo nano /boot/.firmware_revision
change one of the characters in the revision e.g.

Code: Select all

f6eef32dd6388c3b04dbf462bd324d93281bf397
to

Code: Select all

e6eef32dd6388c3b04dbf462bd324d93281bf397
save the file and then run

Code: Select all

sudo rpi-update f6eef32dd6388c3b04dbf462bd324d93281bf397

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 10:37 am
by DougieLawson
sudo mv /boot/.firmware_revision /boot/.firmware_revision~ is easier.

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 12:19 pm
by AndyD
DougieLawson wrote:sudo mv /boot/.firmware_revision /boot/.firmware_revision~ is easier.
Easier yes, but with an added undesirable (for me at least) backup.

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 12:22 pm
by DougieLawson
AndyD wrote: Easier yes, but with an added undesirable (for me at least) backup.
Just rm it then rpi-update will assume it has never run before.

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 12:23 pm
by AndyD
DougieLawson wrote:
AndyD wrote: Easier yes, but with an added undesirable (for me at least) backup.
Just rm it then rpi-update will assume it has never run before.
Which causes the backup.

Code: Select all

if [[ ! -f "${FW_REVFILE}" ]]; then
        echo " *** We're running for the first time"
        do_backup
else
        if [[ $(cat "${FW_REVFILE}") == "$FW_REV" ]]; then
                echo " *** Your firmware is already up to date"
                exit 0
        fi
fi

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 12:24 pm
by DougieLawson
One line & one # character fixes that.

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 12:26 pm
by AndyD
DougieLawson wrote:One line & one # character fixes that.
Except that the first thing that rpi-update does is updates itself.

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 12:56 pm
by DougieLawson
AndyD wrote:
DougieLawson wrote:One line & one # character fixes that.
Except that the first thing that rpi-update does is updates itself.
Not if you do that piece manually first.

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 1:30 pm
by AndyD
DougieLawson wrote:
AndyD wrote:
DougieLawson wrote:One line & one # character fixes that.
Except that the first thing that rpi-update does is updates itself.
Not if you do that piece manually first.
Perhaps! However, this is getting a long way from your proposal that renaming /boot/.firmware_revision is a simpler solution to the issue of having the wrong git hash in .firmware_revision if you routinely use rpi-update and aptitude.

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 1:39 pm
by DougieLawson
I like to keep a copy of the .firmware_revision then I can use it to go back if things foul up.

Re: Linux kernel is now 3.12

Posted: Wed Sep 17, 2014 4:18 pm
by Claggy
birdman wrote:An update of the system has updated raspberrypi-bootloader (as well as libraspberrypi-bin, libraspberrypi-dev, libraspberrypi-doc and libraspberrypi0) from version 1.20140618-1 to 1.20140908-1 whch puts me onto a 3.12.28+ kernel. This continues ot show the "BUG: unsupported FP instruction in kernel mode" error.
One thing to note about Boinc and the 3.12.x kernel, If you compile Boinc from the Berkeley source and run it from your Home/BOINC directory, then it works perfectly with 3.12.x kernels:

http://einstein.phys.uwm.edu/show_host_ ... d=11635026

http://albertathome.org/host/11801

This is as opposed to Boinc from the Debian source, cross compiled on Debian wheezy armhf/raspbian for Raspbian wheezy/Jessie,
I'm rather tempted to believe that something isn't quite right in the cross compile,
I did notice a change in behaviour when the repository Boinc was updated, from 7.2.4x to 7.4.x that the Seti Wu's immediately errored rather than crunching for a while before causing the 'BUG: unsupported FP instruction in kernel mode' problem.

I'll try the repository Boinc again within the next couple of days, first on wheezy, then Jessie.

Claggy

Re: Linux kernel is now 3.12

Posted: Tue Dec 30, 2014 2:49 am
by birdman
One thing to note about Boinc and the 3.12.x kernel, If you compile Boinc from the Berkeley source and run it from your Home/BOINC directory, then it works perfectly with 3.12.x kernels:
I do compile from Berkeley source code (although I run it in a dedicated /extra/BOINC location).
I'm rather tempted to believe that something isn't quite right in the cross compile,
I compile mine in a qemu chroot jail of a copy of the Raspbian files on a Debian VirtualBox machine. So there is no cross compiling - it's the Raspbian compiler and the Raspbian header files (and GBs of memory and multiple cores...). I compile both the BOINC manager and the client application that way.

And I've just updated to the 3.12.35+ kernel and it still has exactly the same problem (so I reverted the /boot files to the 3.10.38+ set).

Re: Linux kernel is now 3.12

Posted: Tue Jan 20, 2015 4:11 pm
by Claggy
birdman wrote:
One thing to note about Boinc and the 3.12.x kernel, If you compile Boinc from the Berkeley source and run it from your Home/BOINC directory, then it works perfectly with 3.12.x kernels:
I do compile from Berkeley source code (although I run it in a dedicated /extra/BOINC location).
I'm rather tempted to believe that something isn't quite right in the cross compile,
I compile mine in a qemu chroot jail of a copy of the Raspbian files on a Debian VirtualBox machine. So there is no cross compiling - it's the Raspbian compiler and the Raspbian header files (and GBs of memory and multiple cores...). I compile both the BOINC manager and the client application that way.

And I've just updated to the 3.12.35+ kernel and it still has exactly the same problem (so I reverted the /boot files to the 3.10.38+ set).
I compiled a Seti app at rev1924 (which is before the Arm for Android changes, because of separate issue where app doesn't produce correct results), Armv7l app runs O.K on Parallella on the four PG_v7 test Wu's,
But Armv6l version on the Pi, while it ran O.K on the first PG_v7 test Wu, it exits before completion on the 2nd PG_v7 test (three attempts so far),
setiathome_v7 7.00 Revision: 1924 g++ (Debian 4.6.3-14+rpi1) 4.6.3
libboinc: BOINC 7.5.0
exiting out of the Desktop reveals:

Message from [email protected] at Jan 20 05:58:56 ...
kernel:[28058.537242] Internal error: Oops - undefined instruction: 0 [#1] PREEMPT ARM

One other thing to Note, I've run the repository Boinc 7.0.27 O.K with Einstein and Albert at home apps O.K,
and have been running the repository 6.97 app (with fixed app_info.xml) O.K too.

Claggy

Re: Linux kernel is now 3.12

Posted: Mon Feb 16, 2015 12:33 pm
by birdman
I've just updated my RasPi from an early Model B to a (new) Model Bv2.

I've carried over the same BOINC set-up (same file-system...) and this runs fine on the new system with kernel 3.18.7-v7+.

One thing I do notice is that the old system was an ARMv6 whereas the new one is ARMv7? So perhaps the problem is in an compatibility here?

The Debian gcc used to compile things was configured with "--with-arch=armv6" (see gcc -v) but it is noticeable that the architecture tag used by the BOINC code in sched_request_* files is "armv7l-unknown-linux-gnueabihf".

Re: Linux kernel is now 3.12

Posted: Mon Feb 16, 2015 12:36 pm
by DirkS
birdman wrote:I've just updated my RasPi from an early Model B to a (new) Model Bv2.

I've carried over the same BOINC set-up (same file-system...) and this runs fine on the new system with kernel 3.18.7-v7+.

One thing I do notice is that the old system was an ARMv6 whereas the new one is ARMv7? So perhaps the problem is in an compatibility here?

The Debian gcc used to compile things was configured with "--with-arch=armv6" (see gcc -v) but it is noticeable that the architecture tag used by the BOINC code in sched_request_* files is "armv7l-unknown-linux-gnueabihf".
Can't see how this is related to this topic. Please start a new topic for this
You'll have a much better chance of getting your question answered

Re: Linux kernel is now 3.12

Posted: Wed Feb 18, 2015 10:14 pm
by birdman
DirkS wrote:Can't see how this is related to this topic.
Because the topic is about the 3.12.x kernels causing "BUG: unsupported FP instruction in kernel mode" and I'm noting that switching the entire BOINC setup to a RasPi v2 makes it go away.
Or at least it appears to do so.
So it might be related to ARMv6 vs. ARMv7 differences, as BOINC seems to think it is on ARMv7 when it is on ARMv6 - at leats that it was it sends in requests.

Although it has since occurred to me that another difference is that on the original RasPi the jobs suffered the problem when they were pre-empted to run another one, and that doesn't seem to be happening on my RasPiv2 at the moment (as it has 4 cores, each job seems to be running through unperturbed while the manager is still able to divide time across projects).