| Summary: | [modules] [panic] large modules fail to load on amd64 | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Kenneth D. Merry <ken> |
| Component: | amd64 | Assignee: | freebsd-amd64 (Nobody) <amd64> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | Unspecified | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
Kenneth D. Merry
2009-02-02 22:10:01 UTC
Ken, this is an interesting problem. Are you able to reproduce it still? I think that something like that should be easily debuggable. -- Andriy Gapon On Sun, Dec 05, 2010 at 14:19:07 +0200, Andriy Gapon wrote: > > Ken, > > this is an interesting problem. Are you able to reproduce it still? > I think that something like that should be easily debuggable. Unfortunately, no. I no longer have access to the codebase that was generating the problem. (It was at my previous job.) But, you may be able to reproduce the problem by putting a very large global variable/table in the kernel and see what happens. As I mentioned in the bug report, I made the problem go away by taking out that table. Ken -- Kenneth Merry ken@FreeBSD.ORG on 06/12/2010 18:11 Kenneth D. Merry said the following:
> But, you may be able to reproduce the problem by putting a very large
> global variable/table in the kernel and see what happens. As I
> mentioned in the bug report, I made the problem go away by taking out that
> table.
I will try.
BTW, do you remember if it was initialized or not, and how it was used?
I.e., did the structure end up in .data, .rodata or .bss?
--
Andriy Gapon
on 06/12/2010 19:11 Andriy Gapon said the following:
> BTW, do you remember if it was initialized or not, and how it was used?
> I.e., did the structure end up in .data, .rodata or .bss?
I couldn't reproduce the problem with an array of about 800KB in size in any of
the three sections.
I think that gives a ground for closing the PR.
If the problem resurfaces then we could re-open it or open a new one.
Do you agree?
--
Andriy Gapon
On Mon, Dec 06, 2010 at 19:11:52 +0200, Andriy Gapon wrote: > on 06/12/2010 18:11 Kenneth D. Merry said the following: > > But, you may be able to reproduce the problem by putting a very large > > global variable/table in the kernel and see what happens. As I > > mentioned in the bug report, I made the problem go away by taking out that > > table. > > I will try. > BTW, do you remember if it was initialized or not, and how it was used? > I.e., did the structure end up in .data, .rodata or .bss? Yes, it was initialized. It had text and various numeric values in it I think. e.g. something like this: struct foo { int bar; char *baz; } teststruct[] = { {1, "blah"}, {2, "blahblah"}, {0, NULL} } Ken -- Kenneth Merry ken@FreeBSD.ORG On Mon, Dec 06, 2010 at 19:49:26 +0200, Andriy Gapon wrote: > on 06/12/2010 19:11 Andriy Gapon said the following: > > BTW, do you remember if it was initialized or not, and how it was used? > > I.e., did the structure end up in .data, .rodata or .bss? > > I couldn't reproduce the problem with an array of about 800KB in size in any of > the three sections. > I think that gives a ground for closing the PR. > If the problem resurfaces then we could re-open it or open a new one. > Do you agree? I would do one more test, but this time try bumping the size up to say 5MB or so. The reason is, the module in question was already very large to start with, and the table put it over the edge. So the total amount of static data in the module was probably a good bit larger than 800KB. Ken -- Kenneth Merry ken@FreeBSD.ORG on 06/12/2010 19:58 Kenneth D. Merry said the following:
> The reason is, the module in question was already very large to start with,
> and the table put it over the edge. So the total amount of static data in
> the module was probably a good bit larger than 800KB.
OK, bumped the array size to ~7MB:
0000000000000000 l O .rodata 00000000006d6000 large3
0000000000000020 l O .data 00000000006d6000 large2
0000000000000000 l O .bss 00000000006d6000 large1
Total module file size is ~14MB.
Everything is OK still.
--
Andriy Gapon
On Mon, Dec 06, 2010 at 20:08:18 +0200, Andriy Gapon wrote: > on 06/12/2010 19:58 Kenneth D. Merry said the following: > > The reason is, the module in question was already very large to start with, > > and the table put it over the edge. So the total amount of static data in > > the module was probably a good bit larger than 800KB. > > OK, bumped the array size to ~7MB: > 0000000000000000 l O .rodata 00000000006d6000 large3 > 0000000000000020 l O .data 00000000006d6000 large2 > 0000000000000000 l O .bss 00000000006d6000 large1 > Total module file size is ~14MB. > > Everything is OK still. Fair enough, I'd say close the bug. If anyone runs into it again they can reopen it. Thanks! Ken -- Kenneth Merry ken@FreeBSD.ORG State Changed From-To: open->closed The problem doesn't seem to be reproducible with the recent code in head. |