1 |
Fernando Boaglio posted on Mon, 24 Jan 2011 13:41:59 -0200 as excerpted: |
2 |
|
3 |
> I did, same thing: |
4 |
> |
5 |
> |
6 |
> fb@de09 ~/eclipse $ ./eclipse -vm /opt/icedtea6-bin-1.9.4/bin/java |
7 |
> -vmargs -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=256M |
8 |
> -XX:+UseSerialGC |
9 |
> |
10 |
> |
11 |
> *** glibc detected *** /opt/icedtea6-bin-1.9.4/bin/java: free(): invalid |
12 |
> pointer: 0x00000000033244c0 *** |
13 |
|
14 |
Two notes, here: |
15 |
|
16 |
1) I don't know about sunjdk as there's license issues such that I won't |
17 |
install it, but the iced-tea6-bin package, while free, is a pre-compiled |
18 |
binary install. As such, revdep-rebuild won't be able to do anything for |
19 |
it as it'll just reinstall the same binary, so the package installs a |
20 |
revdep-rebuild control file so revdep-rebuild skips checking it, to |
21 |
prevent reinstalls that wouldn't fix anything. |
22 |
|
23 |
FWIW there's the icedtea package for from-source building, but the build- |
24 |
process is said to be quite convoluted, many dependencies, etc., thus the |
25 |
binary package option. |
26 |
|
27 |
If the sunjdk package similarly has binary components, since that's what |
28 |
originally triggered the bug, that /might/ be your issue. However, I |
29 |
don't know that it does. |
30 |
|
31 |
2) What version of glibc do you have? Unless you're running ~arch or even |
32 |
masked/live, this probably doesn't apply, but... LWN article posted Nov |
33 |
10, 2010 about a glibc change to memcpy behavior when used in a context |
34 |
with specifically undefined behavior: |
35 |
|
36 |
http://lwn.net/Articles/414467/ |
37 |
|
38 |
Also see the Nov 24, 2010 longer LWN commentary article, which covers both |
39 |
the glibc change and a kernel behavior change, examining how they were |
40 |
handled when found to break things, etc. |
41 |
|
42 |
http://lwn.net/Articles/416821/ |
43 |
|
44 |
FWIW, I'm with the glibc folks here. The behavior is specifically said to |
45 |
be undefined when the memory regions overlap, and think about it, if your |
46 |
memory source and destination regions overlap, by definition it's not a |
47 |
simple copy anyway, as the data in the source region has changed at the |
48 |
end and with a simple copy, it should intuitively be the same as it was -- |
49 |
unless you overlap the copies, but then that's not a simple copy so |
50 |
shouldn't be using the copy function! Duh! |
51 |
|
52 |
The kernel thing is specifically different, in part because Linus has |
53 |
established clear rules about breaking the kernel/userspace interface (in |
54 |
a word, don't!) -- part of the reason that change was reverted. If it had |
55 |
instead been specifically documented as changeable, much like the kernel's |
56 |
internal interfaces are (much to the dismay of many closed-source kernel |
57 |
module devs)... the outcome there would likely have been similar to the |
58 |
glibc outcome. |
59 |
|
60 |
-- |
61 |
Duncan - List replies preferred. No HTML msgs. |
62 |
"Every nonfree program has a lord, a master -- |
63 |
and if you use the program, he is your master." Richard Stallman |