Re: Zero Divide in Kernel 3.12-rc4

2013-10-22 Thread Michael Schmitz

Geert,



To pinpoint where in sd_completed_bytes this happens, I'd need the 
sd_mod

module and the module symbol map.


/* be careful ... don't want any overflows */
u64 factor = scmd->device->sector_size / 512;
do_div(start_lba, factor);
do_div(end_lba, factor);

scmd->device->sector_size should be 512, so factor should be 1.

Let's try a bit harder with a fresher mind and a cup of coffee and
a mini-twix:


[77568.32] PC: [<0484c33a>] sd_completed_bytes+0x90/0xe8 [sd_mod]
[77568.33] SR: 2000  SP: 00277e58  a2: 0027e2e4
[77568.34] d0: d1: 007735a0d2: d3: 
0001
[77568.35] d4: d5: 007735a8a0: 024dd000a1: 
024a0ea0


[77569.19] Code: 4a80 6704 4c42 0001 2c01 2207 4c42 1406 <2c00> 
2e01

2004 2204 6704 4c42 0001 2801 2205 4c42 1404 2800 2a01 202e fff8 222e


"4c42" is a division. It's the second one of the four divisions:

   0: 4a80   tstl %d0

d0 is zero, so the first division is skipped.

   2: 6704   beqs 0x8
   4: 4c42 0001   divull %d2,%d1,%d0
   8: 2c01   movel %d1,%d6
   a: 2207   movel %d7,%d1
   c: 4c42 1406   divul %d2,%d6,%d1

It's dividing by d2, which is zero. So scmd->device->sector_size must 
be

smaller than 512 (probably zero).



Thanks for parsing the dump - now I'll have to find out how on earth 
sector_size got overwritten in the first place ... and whether anyrhing 
in scmd-> device still makes any sense at all.


Cheers,

Michael


--
To UNSUBSCRIBE, email to debian-68k-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/335d2ba0b0b19e56b2880882a1c4c...@biophys.uni-duesseldorf.de



Re: Bits from the Release Team (Jessie freeze info)

2013-10-22 Thread Steven Chamberlain
Hi Niels,

This was quite interesting as it seems to tie in with some other
projects that are already being pursued...

On 21/10/13 16:42, Niels Thykier wrote:
> I would love for us to have an automated system to give us a
> "weather-report" on the toolchain for each architecture.  It would be
> nice both for us to see how ports are doing and for porters to spot and
> fix problems early.

That sounds a lot like the purpose of Jenkins[0], but I'm not sure if
it's exactly suitable.  It seems a little heavy, that someone could more
easily be able to script some cron jobs for a task than learn how to use it.

And Jenkins isn't available yet on all arches;  some ports may not have
hardware powerful enough to run it.  Maybe that doesn't matter - a
single Jenkins instance might be able to launch jobs via remote shells
to other boxes, running the actual test suite there, or maybe just to
fetch, analyse and report on the resulting log files.

Ideally I'd like to see a set of command-line scripts runnable either
from cron, or maybe someday by Jenkins jobs if someone wants to set that
up.  And packaged up for people to use at home!

[0]: http://jenkins.debian.net/

> Which implies "a set of packages" being "the current version of the
> overwhelming part of the archive" plus all of d-i.  However, that is not
> something you "just build", so having a smaller set as a basic test
> would probably be way more useful.  I am not aware of such a "basic test
> set", so feel free to propose one.

Some people have been trying to identify small sets of essential
packages already, in the context of bootstrapping an architecture[1].  I
wonder if that's likely to overlap with this?  It encompasses toolchain
and essential arch-specific packages.

I imagine a healthy port should be able to bootstrap itself with only
current package versions.  If this was being tested regularly it could
let porters know if circular dependencies are introduced, for example.

[1]: https://wiki.debian.org/DebianBootstrap#Toolchain

I would maybe take that a little further and say that a system is only
stable if it can bootstrap itself, install and boot into the resulting
system, and repeat the whole process again...

> I like the "toolchain nightly" thing as well. I don't think it is
> "required", but it sounds like the kind of thing that would help people
> spot issues sooner rather than later!

And this also ties in with the reproducible-builds project[2] (not sure
if you were hinting at that before).  The 'toolchain' is of particular
concern because the security of the whole system depends on it.
Differences in the output of builds needs to be avoided, or otherwise
explained.  It would help greatly if there were frequent builds
happening so we could see unexpected changes occurring.

[2]: https://wiki.debian.org/ReproducibleBuilds

So if something can make something that fulfills all the above goals it
would certainly be beneficial :)

Regards,
-- 
Steven Chamberlain
ste...@pyro.eu.org


-- 
To UNSUBSCRIBE, email to debian-68k-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/5266df9d.9040...@pyro.eu.org



Re: Zero Divide in Kernel 3.12-rc4

2013-10-22 Thread Michael Schmitz

Hi Geert,

To pinpoint where in sd_completed_bytes this happens, I'd need the 
sd_mod

module and the module symbol map.


/* be careful ... don't want any overflows */
u64 factor = scmd->device->sector_size / 512;
do_div(start_lba, factor);
do_div(end_lba, factor);

scmd->device->sector_size should be 512, so factor should be 1.


Looking at a bit of context right above what you quote here, we can be 
reasonably certain that scmd->device->sector_size is greater or equal 
512.


Ingo - could you add

if (scmd->device->sector_size > 2048)
	sdev_printk(KERN_ERR, scmd->device, "Whoa - large secor size %d\n", 
scmd->device->sector_size);


before the do_div calls, and see what that reports?

Cheers,

Michael



Let's try a bit harder with a fresher mind and a cup of coffee and
a mini-twix:

[77568.32] PC: [<0484c33a>] sd_completed_bytes+0x90/0xe8 
[sd_mod]

[77568.33] SR: 2000  SP: 00277e58  a2: 0027e2e4
[77568.34] d0: d1: 007735a0d2: d3: 
0001
[77568.35] d4: d5: 007735a8a0: 024dd000a1: 
024a0ea0


[77569.19] Code: 4a80 6704 4c42 0001 2c01 2207 4c42 1406 <2c00> 
2e01
2004 2204 6704 4c42 0001 2801 2205 4c42 1404 2800 2a01 202e fff8 
222e


"4c42" is a division. It's the second one of the four divisions:

   0: 4a80   tstl %d0

d0 is zero, so the first division is skipped.

   2: 6704   beqs 0x8
   4: 4c42 0001   divull %d2,%d1,%d0
   8: 2c01   movel %d1,%d6
   a: 2207   movel %d7,%d1
   c: 4c42 1406   divul %d2,%d6,%d1

It's dividing by d2, which is zero. So scmd->device->sector_size must 
be

smaller than 512 (probably zero).



Thanks for parsing the dump - now I'll have to find out how on earth 
sector_size got overwritten in the first place ... and whether 
anyrhing in scmd-> device still makes any sense at all.


Cheers,

Michael

--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" 
in

the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



--
To UNSUBSCRIBE, email to debian-68k-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/9f57bf0fdf7329055ee5f7d2b2fe9...@biophys.uni-duesseldorf.de



Re: Bits from the Release Team (Jessie freeze info)

2013-10-22 Thread Stewart Smith
Steven Chamberlain  writes:
> On 21/10/13 16:42, Niels Thykier wrote:
>> I would love for us to have an automated system to give us a
>> "weather-report" on the toolchain for each architecture.  It would be
>> nice both for us to see how ports are doing and for porters to spot and
>> fix problems early.
>
> That sounds a lot like the purpose of Jenkins[0], but I'm not sure if
> it's exactly suitable.  It seems a little heavy, that someone could more
> easily be able to script some cron jobs for a task than learn how to
> use it.

It's actually a pretty low barrier to entry, if you know what commands
you need to run, it's pretty easy to get started with jenkins (create
job, have it execute shell commands, write shell in box, hit build).

I'd say that it's about 10 times more likely you'll get it right in
Jenkins before you get it right in cron.

> And Jenkins isn't available yet on all arches;  some ports may not have
> hardware powerful enough to run it.  Maybe that doesn't matter - a
> single Jenkins instance might be able to launch jobs via remote shells
> to other boxes, running the actual test suite there, or maybe just to
> fetch, analyse and report on the resulting log files.

Jenkins can have slaves on remote hosts, via SSH. It runs a small java
app there, so as long as the arch has a JVM then you're pretty right.

-- 
Stewart Smith


pgpbBHKODKgwm.pgp
Description: PGP signature


Re: Bits from the Release Team (Jessie freeze info)

2013-10-22 Thread Geert Uytterhoeven
On Wed, Oct 23, 2013 at 12:36 AM, Stewart Smith
 wrote:
> Jenkins can have slaves on remote hosts, via SSH. It runs a small java
> app there, so as long as the arch has a JVM then you're pretty right.

For whatever definition of small. I've seen it consuming 1 GiB of memory...

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


-- 
To UNSUBSCRIBE, email to debian-68k-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/camuhmdvz3jwmdujds762z-cnhv4z5c9wuuf5rkanarqbsdx...@mail.gmail.com