nested synchronized 
 
nested synchronized
Zobacz wiadomo¶ci
 
Cytat
A gdyby tak siê wedrzeæ na umys³ów górê, / Gdyby stan±æ na ludzkich my¶li piramidzie, / I przebiæ czo³em przes±dów chmurê, / I byæ najwy¿sz± my¶l± wcielon±. . . Juliusz S³owacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

nested synchronized



Marcin Biegan - 17-06-2007 00:54
nested synchronized
  Witam

Jak to dok?adnie jest z zagnie?d?onymi blokami synchronized?

np.
synchronized(x){
synchronized(y){
y.wait();
}
}

Czy monitor x jest 'zaj?ty' po wywo?aniu y.wait()? Z moich testów wynika, ?e
jest zwalniany, ale szuka?em w lang. reference i nie znalazlem opisu tego
zachowania. Mo?e kto? poda? gdzie dok?adnie jest napisane jak to si? zachowuje?
(na googlach trudno cokolwiek na ten temat znale??)

--
pozdrawiam
Marcin Biegan





Zbyszek Malec - 17-06-2007 00:54

  Dnia Fri, 15 Jun 2007 19:37:20 +0200, Marcin Biegan napisa?(a):

> Czy monitor x jest 'zaj?ty' po wywo?aniu y.wait()? Z moich testów wynika, ?e
> jest zwalniany, ale szuka?em w lang. reference i nie znalazlem opisu tego
> zachowania. Mo?e kto? poda? gdzie dok?adnie jest napisane jak to si? zachowuje?
> (na googlach trudno cokolwiek na ten temat znale??)

Z dokumentacji do Object.wait(long):

Note that the wait method, as it places the current thread into the wait
set for this object, unlocks only this object; any other objects on which
the current thread may be synchronized remain locked while the thread
waits.

Wi?c nie powinien zwalnia? blokady.

--
Zbyszek Malec Ustronie 104
jid: zbyszanna@jid.pl




Marcin Biegan - 17-06-2007 00:54

  Zbyszek Malec napisa?(a):
> Dnia Fri, 15 Jun 2007 19:37:20 +0200, Marcin Biegan napisa?(a):
>
>> Czy monitor x jest 'zaj?ty' po wywo?aniu y.wait()? Z moich testów wynika, ?e
>> jest zwalniany, ale szuka?em w lang. reference i nie znalazlem opisu tego
>> zachowania. Mo?e kto? poda? gdzie dok?adnie jest napisane jak to si? zachowuje?
>> (na googlach trudno cokolwiek na ten temat znale??)
>
> Z dokumentacji do Object.wait(long):
>
> Note that the wait method, as it places the current thread into the wait
> set for this object, unlocks only this object; any other objects on which
> the current thread may be synchronized remain locked while the thread
> waits.
>
> Wi?c nie powinien zwalnia? blokady.

Widzia?em ten tekst, ale co? mi nie pasuje.

Konkretniej - dlaczego ten kod wy?wietla 'blah' zamiast sie zatrzyma?:

public class Test {
public static void main(String []args){
final Test test = new Test();
new Thread(){
public void run(){
test.a();
}
}.start();
new Thread(){
public void run(){
test.b();
}
}.start();
}

Integer x = 0, y = 0;
public void a(){
try {
synchronized(x){
synchronized(y){
y.wait();
System.out.println("y notified");
}
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void b(){
try {
Thread.sleep(1000);
synchronized(x){
System.out.println("blah");
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

--
pozdrawiam
Marcin Biegan




Piotr Kobzda - 17-06-2007 00:54

  Marcin Biegan wrote:

> Konkretniej - dlaczego ten kod wy?wietla 'blah' zamiast sie zatrzyma?:

Dziwne... Wygl?da mi to na powa?ny bug JVMy. U mnie (WinXP) jedynie
JRockit zachowuje si? z tym kodem zgodnie z oczekiwaniami. JVMa
Sun'owska, jak i IBMa, niestety nie. Mo?e to jakie? dzikie
optymalizacje, albo co? z ich pogranicza?... Nie wiem jeszcze...

Dopóki nie dojdziemy powodów proponuj? na atomow? synchronizacj? przej??
(poni?ej doko?czony ekwiwalent Twojego kodu). To dzia?a jak nale?y.

piotr

import java.util.concurrent.locks.*;

public class Test2 {
public static void main(String []args) {
final Test2 test = new Test2();
new Thread(){
public void run(){
test.a();
}
}.start();
new Thread(){
public void run(){
test.b();
}
}.start();
new Thread(){
public void run(){
test.c();
}
}.start();
}

Lock x = new ReentrantLock(), y = new ReentrantLock();
Condition yWait = y.newCondition();

public void a(){
try {
x.lock();
try {
y.lock();
try {
yWait.await();
System.out.println("y notified");
} finally {
y.unlock();
}
} finally {
x.unlock();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void b(){
try {
Thread.sleep(1000);
x.lock();
try {
System.out.println("blah");
} finally {
x.unlock();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void c(){
try {
Thread.sleep(5000);
y.lock();
try {
yWait.signal();
} finally {
y.unlock();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}





0x28and0x4 - 17-06-2007 00:54

  Piotr Kobzda napisa?(a):
> Marcin Biegan wrote:
>
>> Konkretniej - dlaczego ten kod wy?wietla 'blah' zamiast sie zatrzyma?:
>
> Dziwne... Wygl?da mi to na powa?ny bug JVMy. U mnie (WinXP) jedynie
> JRockit zachowuje si? z tym kodem zgodnie z oczekiwaniami. JVMa
> Sun'owska, jak i IBMa, niestety nie. [..]

Pu?ci?em to pod Sunowsk? JVM 5 (WinXP) i te? mam wynik taki jak Ty i Marcin.

btw:
(do Marcina)
Na wszelki wypadek wspomn?, ?e do synchronizacji w?tków mo?na te? u?y?
java.util.concurrent. U?ywam tego pakietu cz?sto i ... z przyjemno?ci :>

Nie dywaguj?c teraz, czego potrzebuje Marcin, osobi?cie do
synchronizacji wybra?bym java.util.concurrent. Mam wra?enie, ?e jako?
lepiej nad tym panuj? (w porównaniu do synchronized).

Pozdrawiam,
Adam




0x28and0x4 - 17-06-2007 00:54

  Piotr Kobzda napisa?(a):
> import java.util.concurrent.locks.*;

Damn! Przecie? w?a?nie u?y?e? w swoim kodzie pakietu concurrent :) Sorry :>

pozdrowienia,
Adam




jolz - 17-06-2007 00:54

  > Dziwne... Wygl?da mi to na powa?ny bug JVMy. U mnie (WinXP) jedynie
> JRockit zachowuje si? z tym kodem zgodnie z oczekiwaniami. JVMa
> Sun'owska, jak i IBMa, niestety nie. Mo?e to jakie? dzikie
> optymalizacje, albo co? z ich pogranicza?

Owszem optymalizacje, wyjasnione w opisie valueOf() Integera.
Wyglada na to ze JRockit tworzy za kazdym razem nowy obiekt co nie
jest zbyt mile. No ale przynajmniej dzieki temu zachowuje sie
przewidywalnie.




Piotr Kobzda - 17-06-2007 00:54

  Marcin Biegan wrote:

[...]

Mam! Tu masz problem:

> Integer x = 0, y = 0;

Synchronizujesz wszystko na tym samym obiekcie. Zast?p np. tym:

Integer x = 0, y = new Integer(0);

Przy okazji wysz?o, ?e to JRockit (build 1.6.0-b105) ma buga.
W jego otoczeniu x == y daje false, co oczywi?cie niezgodne ze
specyfikacj? j?zyka jest:

"If the value p being boxed is true, false, a byte, a char in the range
\u0000 to \u007f, or an int or short number between -128 and 127, then
let r1 and r2 be the results of any two boxing conversions of p. It is
always the case that r1 == r2."
[JLS3 5.1.7 Boxing Conversion]

piotr




Artur Zabronski - 17-06-2007 00:54

  On Fri, 2007-06-15 at 21:49 +0000, jolz wrote:
>
> Owszem optymalizacje, wyjasnione w opisie valueOf() Integera.
> Wyglada na to ze JRockit tworzy za kazdym razem nowy obiekt co nie
> jest zbyt mile. No ale przynajmniej dzieki temu zachowuje sie
> przewidywalnie.
>
Fakt to by??o problemem. Wystarczy nadaÄ? x, y inne warto??ci albo utworzyÄ?
nowe instancje u??ywajÄ?c konstruktora.

Tak na marginesie dodam podobnÄ? ciekawostkÄ? - trochÄ? temu natknÄ???em siÄ?
na podobne problemy z instancjami ale przy
serializowanych/deserializowanych Enum-ach. Deserializacja tworzy nowÄ?
zawsze instancjÄ? wiÄ?c jak ??atwo siÄ? domy??liÄ? wiÄ???e siÄ? to tylko z
problemami i to ca??kiem niemi??ymi. switch zachowuje siÄ? normalnie bo
operuje na ordinal-ach ale ju?? por??wnania przez ==/equals nie.. Trzeba
uwa??aÄ? na takie kruczki ;-)

Gdyby czasem kto?? szuka?? rozwiÄ?zania z Enum-ami to moje rozwiÄ?zanie
wyglÄ?da tak:
public enum Foo implements java.io.Serializable {
FOO, BAR;

private Object readResolve() throws ObjectStreamException {
return values()[ordinal()];
}
}

--
Pozdrawiam,
Artur




Piotr Kobzda - 17-06-2007 00:54

  jolz wrote:

> Owszem optymalizacje, wyjasnione w opisie valueOf() Integera.

Zgadza si?, te? ju? doszed?em. :)

> Wyglada na to ze JRockit tworzy za kazdym razem nowy obiekt co nie
> jest zbyt mile.

Tak, zawsze niestety nowy.

> No ale przynajmniej dzieki temu zachowuje sie
> przewidywalnie.

Ja tam wol? jednak zgodno?? ze specyfikacj? (nawet je?li nie wszystko
tam zapisane jest idealne...). Inaczej to o przeno?no?ci Javy mo?emy
zupe?nie zapomnie?...

piotr




Piotr Kobzda - 17-06-2007 00:54

  Artur Zabronski wrote:

> Tak na marginesie dodam podobnÄ? ciekawostkÄ? - trochÄ? temu natknÄ???em siÄ?
> na podobne problemy z instancjami ale przy
> serializowanych/deserializowanych Enum-ach. Deserializacja tworzy nowÄ?
> zawsze instancjÄ? wiÄ?c jak ??atwo siÄ? domy??liÄ? wiÄ???e siÄ? to tylko z
> problemami i to ca??kiem niemi??ymi. switch zachowuje siÄ? normalnie bo
> operuje na ordinal-ach ale ju?? por??wnania przez ==/equals nie.

Hmm.. M??g??by?? pokazaÄ? kod, kt??rym uda??o Ci siÄ? to osiÄ?gnÄ?Ä??

Wg mnie, je??li tak mia??e??, to albo jakiego?? bug'a implementacji enum??w,
albo w??asnego do??wiadczy??e??. Specyfikacja gwarantuje tylko jednÄ?
instancjÄ? dla tej samej sta??ej, nie trzeba nic kombinowaÄ?.

piotr




Artur Zabronski - 17-06-2007 00:54

  On Sat, 2007-06-16 at 00:36 +0200, Piotr Kobzda wrote:
> Hmm.. M??g??by?? pokazaÄ? kod, kt??rym uda??o CisiÄ? to osiÄ?gnÄ?Ä??
>
TrochÄ? du??o by pisaÄ? ;-)
> Wg mnie, je??li tak mia??e??, to albo jakiego?? bug'a implementacji enum??w,
> albo w??asnego do??wiadczy??e??. Specyfikacja gwarantujetylko jednÄ?
> instancjÄ? dla tej samej sta??ej, nie trzeba nic kombinowaÄ?.
>
Z tego co pamiÄ?tam i z tego co wyszuka??em problem dotyczy tylko Enum-??w
przekazywanych przez RMI/IIOP i sÄ? zg??oszenia tego problemu. Niestety w
tym wypadku trzeba kombinowaÄ? tak jak poda??em, bo Enum kt??ryprzyszed??
ze zdalnego wywo??ania jest nowÄ? instancjÄ? - owszem ordinal iname sÄ? te
same ale hashCode inny stÄ?d equals() zawodzi tym bardziej operator ==.

Taka ciekawostka - patrzy??em w SVN OpenJDK7 i tam deserializacja Enum-??w
w og??le jest wy??Ä?czona...

--
Pozdrawiam,
Artur




Artur Zabronski - 17-06-2007 00:54

  On Sat, 2007-06-16 at 00:36 +0200, Piotr Kobzda wrote:
>
> Hmm.. M??g??by?? pokazaÄ? kod, kt??rym uda??o CisiÄ? to osiÄ?gnÄ?Ä??
>
> Wg mnie, je??li tak mia??e??, to albo jakiego?? bug'a implementacji enum??w,
> albo w??asnego do??wiadczy??e??. Specyfikacja gwarantujetylko jednÄ?
> instancjÄ? dla tej samej sta??ej, nie trzeba nic kombinowaÄ?.
>
Sprawdzi??em na szybko:
- do pliku: ok,
- po RMI: ok,
- po IIOP: z problemami, przyk??adowy kod:
http://arturz.net/~artur/enum-iiop-test.zip

Wynik wywo??ania zdalnego EJB (metoda zwraca TestEnum.ONE):
// System.out.println("==: " + (en == TestEnum.ONE));
==: false
// System.out.println("hashCode: " + en.hashCode() + " " +
// TestEnum.ONE.hashCode());
hashCode: 14633156 19032695

--
Pozdrawiam,
Artur




Piotr Kobzda - 17-06-2007 00:54

  Artur Zabronski wrote:

> Sprawdzi??em na szybko:
> - do pliku: ok,
> - po RMI: ok,
> - po IIOP: z problemami,

A ja znalaz??em jeszcze:
http://bugs.sun.com/bugdatabase/view...bug_id=6277781

Z komentarzy wynika, ??e to problem bardziej ze specyfikÄ? IDL'a ni?? z
enumami, a dok??adniej z implementacjÄ? RMI/IIOP.

Czyli po prostu kolejny bug (na dodatek w obszarze, z kt??rego
szczÄ???liwie nie korzystam... :) ). Ale dziÄ?ki za informacjÄ?, dobrze
wiedzieÄ?, ??e jednak nie muszÄ? kombinowaÄ?. :)

piotr




Artur Zabronski - 17-06-2007 00:54

  On Sat, 2007-06-16 at 02:36 +0200, Piotr Kobzda wrote:
>
> A ja znalaz??em jeszcze:
> http://bugs.sun.com/bugdatabase/view...bug_id=6277781
>
> Z komentarzy wynika, ??e to problem bardziej ze specyfikÄ? IDL'a ni?? z
> enumami, a dok??adniej z implementacjÄ? RMI/IIOP.
>
Tak pamiÄ?tam ??e w??a??nie czyta??em to zg??oszenie i o to chodzi??o, no ale
rozwiÄ?zaÄ? to mo??na tak jak poda??em wcze??niej :-)
> Czyli po prostu kolejny bug (na dodatek w obszarze, z kt??rego
> szczÄ???liwie nie korzystam... :) ). Ale dziÄ?ki za informacjÄ?, dobrze
> wiedzieÄ?, ??e jednak nie muszÄ? kombinowaÄ?. :)
>
A kto zg??asza ten bug w JRockit? ;-)

--
Pozdrawiam,
Artur




Marcin Biegan - 17-06-2007 00:54

  0x28and0x4 napisa?(a):
> Piotr Kobzda napisa?(a):
>> Marcin Biegan wrote:
>>
>>> Konkretniej - dlaczego ten kod wy?wietla 'blah' zamiast sie zatrzyma?:
>>
>> Dziwne... Wygl?da mi to na powa?ny bug JVMy. U mnie (WinXP) jedynie
>> JRockit zachowuje si? z tym kodem zgodnie z oczekiwaniami. JVMa
>> Sun'owska, jak i IBMa, niestety nie. [..]
>
> Pu?ci?em to pod Sunowsk? JVM 5 (WinXP) i te? mam wynik taki jak Ty i Marcin.
>
> btw:
> (do Marcina)
> Na wszelki wypadek wspomn?, ?e do synchronizacji w?tków mo?na te? u?y?
> java.util.concurrent. U?ywam tego pakietu cz?sto i ... z przyjemno?ci :>
>
> Nie dywaguj?c teraz, czego potrzebuje Marcin, osobi?cie do
> synchronizacji wybra?bym java.util.concurrent. Mam wra?enie, ?e jako?
> lepiej nad tym panuj? (w porównaniu do synchronized).

No i sie wyja?ni?o - mój b??d ;)
Dzi?ki wszystkim za pomoc.

A co do tego, do czego mi to potrzebne - w?a?ciwie to do niczego. Prowadz?ca
zaj?cia ze wspó?bie?no?ci powiedzia?a, ?e tylko jeden lock jest zwalniany, ale
przyk?adowy kod który machn??em, ?eby to sprawdzi? (przytoczony w pierwszym
po?cie) dzia?a? zupe?nie inaczej - st?d pytanie.
Zwalnianie ca?ej 'listy' locków by?o by bardzo fajne w ma?ych programach, ale w
wi?kszych powodowa?o by pewnie wi?ksze problemy, ni? s? teraz, wi?c wszystko
jest ok ;)

--
pozdrawiam
Marcin Biegan




Piotr Kobzda - 17-06-2007 00:55
Bug boksowania =?UTF-8?B?aW50w7N3IHcgSlJvY2tpdCBbYnnFgm86IG5lc3Rl?==?UT F-8?B?ZCBzeW5jaHJvbml6ZWRd?=
  Artur Zabronski wrote:

> A kto zg??asza ten bug w JRockit? ;-)

Ja siÄ? podda??em. Straci??em na stronach BEA trochÄ? czasu w poszukiwaniu
jak zg??osiÄ? buga i niestety nie znalaz??em. :/ Chcia??em te?? wys??aÄ?
choÄ?by posta na forum JRockit
(http://forums.bea.com/bea/forum.jspa?forumID=2009), ale do tego trzeba
byÄ? zarejestrowanym u??ytkownikiem, wiÄ?c sobie odpu??ci??em. Mo??e kto??
bÄ?dzie wytrwalszy?... ;-)

Sprawdzi??em jeszcze, ??e problem dotyczy tylko boksowania inta, pozosta??e
prymitywy boksowane sÄ? poprawnie. Tak siÄ? sk??ada, ??e klasa Integer jest
w JRockit obs??ugiwana specjalnie (z pominiÄ?ciem bajtkodu z rt.jar, w
kt??rym, nawiasem m??wiÄ?c, valueOf() jest zaimplementowana poprawnie), i
najwyra??niej nie wszystko siÄ? przy tym uda??o...

piotr




Artur Zabronski - 17-06-2007 00:55

  Piotr Kobzda wrote:
> Ja siÄ? podda??em. Straci??em na stronach BEA trochÄ? czasu w poszukiwaniu
> jak zg??osiÄ? buga i niestety nie znalaz??em. :/ Chcia??em te?? wys??aÄ?
> choÄ?by posta na forum JRockit
> (http://forums.bea.com/bea/forum.jspa?forumID=2009), ale do tego trzeba
> byÄ? zarejestrowanym u??ytkownikiem, wiÄ?c sobie odpu??ci??em. Mo??e kto??
> bÄ?dzie wytrwalszy?... ;-)
>
Ja dzisiaj r??wnie?? szuka??em i nie znalaz??em tam bug trackera. Ale zdaje
mi siÄ? ??e jest tu kto?? z BEA to mo??e bÄ?dzie pomocny? ;-)
> Sprawdzi??em jeszcze, ??e problem dotyczy tylko boksowania inta, pozosta??e
> prymitywy boksowane sÄ? poprawnie. Tak siÄ? sk??ada, ??e klasa Integer jest
> w JRockit obs??ugiwana specjalnie (z pominiÄ?ciem bajtkodu z rt.jar, w
> kt??rym, nawiasem m??wiÄ?c, valueOf() jest zaimplementowana poprawnie), i
> najwyra??niej nie wszystko siÄ? przy tym uda??o...
>
Te?? sprawdza??em i dotyczy w??a??nie tylko Integer-a.

(artur@ubuntu)(115/pts/0)(11:50pm:06/16/07)-
(%:/tmp)- cat Test.java
public class Test {
public static void main(String[] args) {
Byte b1 = 0, b2 = 0;
System.out.println(b1 == b2);

Character c1 = 1, c2 = 1;
System.out.println(c1 == c2);

Short s1 = 2, s2 = 2;
System.out.println(s1 == s2);

Integer i1 = 4, i2 = 4;
System.out.println(i1 == i2);

Long l1 = 8L, l2 = 8L;
System.out.println(l1 == l2);
}
}
(artur@ubuntu)(116/pts/0)(11:50pm:06/16/07)-
(%:/tmp)/usr/local/jdk1.6.0_01/bin/java Test
true
true
true
true
true
(artur@ubuntu)(117/pts/0)(11:51pm:06/16/07)-
(%:/tmp)- /usr/local/jrockit-R27.2.0-jdk1.6.0/bin/java Test
true
true
true
false
true

--
Pozdrawiam,
Artur




Waldemar Kot - 18-06-2007 00:02
=?ISO-8859-2?Q?Re:_Bug_boksowania_int=F3w_w_JRoc?= =?ISO-8859-2?Q?kit_[by=B3o:_nested_synchronized]?=
  Cze??,

Wbrew pozorom, sprawa jest troch? bardziej skomplikowana ni? to, jak j?
przedstawiacie. Sprawdz? to jeszcze dok?adniej u ?ród?a (tj. deweloperów
JRockit), ale okazuje si?, ?e ró?nica w implementacji Integer'a w JRockit
zosta?a spowodowana przez jaki? dziwny kod, który Sun wprowadzi? od JDK 1.5
Update 10 pod has?em "optymalizacja", a który nasi deweloperzy wy??czyli z 2
powodów - b??dów w implementacji Suna i zak?ócania optymalizacji JRockit. Ten
kod zachowuje si? dziwacznie - polecam wykona? test Artura, ze zmienion?
nast?puj?c? lini?:
zamiast: Integer i1 = 4, i2 = 4;
wstawi?: Integer i1 = 4000, i2 = 4000;

O ile pierwszy da wynik:
true
true
true
true
true

O tyle drugi da wynik:
true
true
true
false
true

B??d ten wychodzi zarówno na JVM Suna, jak i BEA JRockit.
To co wygl?da na faktycznie "dodatkowy" b??d JRockit, to to, ?e w JRockit
dostajemy false nawet, je?li warto?ci tych Integer'ów s? ma?e (poni?ej 128). W
sumie oba s? bug'ami, ale (he he) przynajmniej JRockit robi ten bug
deterministycznie, tj. dla wszystkich warto?ci Integer.

Inn? ciekawostk? jest to, ?e ten "dodatkowy" b??d JRockit-a objawia si? tylko
w najnowszych JRockit (27.2). Wersje poprzednie (w??cznie z wersjami zawartymi
w WebLogic Server 9.x i 10.x), nie maj? tego "dodatkowego" b??du (troch? mi to
zabra?o czasu, ale sprawdzi?em, ?e tak jest - w sumie te testy zrobi?em na 13
wersjach JVM - 5 Suna i 8 JRockit). Czyli (he he) ju? nie mamy tego
jednakowego zachowania dla wszystkich Integer'ów.

Tak jak napisa?em - popytam jeszcze tych co wiedz? najlepiej (ludzi od
JRockit) i je?li potwierdzi si?, ?e to jest b??d to otworz? taki case. Popytam
te?, czy kto? ju? zg?osi? tego buga w Sun'ie.

Pozdrawiam,
Waldek Kot
BEA

--
Wys?ano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/




Waldemar Kot - 18-06-2007 00:02
=?ISO-8859-2?Q?Re:_Bug_boksowania_int=F3w_w_JRoc?= =?ISO-8859-2?Q?kit_[by=B3o:_nested_synchronized]?=
  Zg?aszanie problemów z softem BEA jest dosy? proste. Ze strony g?ównej BEA
(www.bea.com), z opcji Support wybiera si? eSupport (szybsza opcja to wpisanie
adresu: support.bea.com).
Aby zg?osi? problem, trzeba by? zarejestrowanym u?ytkownikiem na bea.com
(m.in. dlatego, ?e eSupport to jest normalny kana? kontaktowy z klientami, a
nie lista dyskusyjna). Rejestracja niczym nie grozi - jak kto? nie chce, to
nie dostaje news'ów z BEA.
Rejestruje si? raz - po to aby ?ci?ga? software, te? trzeba si? zalogowa?.
Po zarejestrowaniu i zalogowaniu si? do eSupport, w menu po prawej stronie
pojawia si? opcja Case Management. Dalej wype?nia si? formularz z opisem problemu.
Klienci maj? jeszcze mo?liwo?? skojarzenia problemu z ich licencjami. Takie
case'y maj? wy?szy priorytet obs?ugi.

W opcji "About BEA eSupport" mo?na znale?? dodatkowe opisy, dokumenty i tutoriale.

Pozdrawiam,
Waldek Kot
BEA

--
Wys?ano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/




Aleksander Galicki - 19-06-2007 00:06
=?ISO-8859-2?Q?Re:_Bug_boksowania_int=F3w_w_JRoc?= =?ISO-8859-2?Q?kit_[by=B3o:_nested_synchronized]?=
  Waldemar Kot <waldemar_kot.WYTNIJ@gazeta.pl> napisa³(a):

> Cze¶æ,
>
> Wbrew pozorom, sprawa jest trochê bardziej skomplikowana ni¿ to, jak j±
> przedstawiacie. Sprawdzê to jeszcze dok³adniej u ¼ród³a (tj. deweloperów
> JRockit),

Zrodlem jest specyfikacja Javy, a nie developerzy WebLogic. Specyfikacja w
tym watku byla juz cytowana, co oznacza, ze nie przeczytales nie tylko
specyfikacji ale nawet watku w ktorym odpowiadasz. Once again: " If the value
p being boxed is true, false, a byte, a char in the range \u0000 to \u007f,
or an int or short number between -128 and 127, then let r1 and r2 be the
results of any two boxing conversions of p. It is always the case that r1 ==
r2."
Zatem implementacja Suna jest zgodna ze specyfikacja.
Odpowiadanie na znaleziony bug we wlasnej implementacji "ale u konkurencji
tez jest bug i to znacznie gorszy" jest samo w sobie kiepskim posunieciem
PRowym. Ale gdy ow "bug u konkurencji" nie jest wcale bugiem lecz poprawnym
zachowaniem, to juz jest malym disasterem PRowym.

A.

--
Wys³ano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/




Waldemar Kot - 19-06-2007 00:06
=?ISO-8859-2?Q?Re:_Bug_boksowania_int=F3w_w_JRoc?= =?ISO-8859-2?Q?kit_[by=B3o:_nested_synchronized]?=
  Pewnie gdybym napisa³, ¿e dzisiaj w San Jose jest s³oneczny poniedzia³ek, a w
Santa Clara albo Armonk pada, to te¿ uzna³by¶ to za posuniêcie PR. Trudno,
skoro takie przyj±³e¶ za³o¿enie....

Mi³ego dnia.
Waldek Kot

--
Wys³ano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/




Aleksander Galicki - 19-06-2007 00:06
=?ISO-8859-2?Q?Re:_Bug_boksowania_int=F3w_w_JRoc?= =?ISO-8859-2?Q?kit_[by=B3o:_nested_synchronized]?=
  Waldemar Kot <waldemar_kot.WYTNIJ@gazeta.pl> napisa³(a):

> Pewnie gdybym napisa³, ¿e dzisiaj w San Jose jest s³oneczny poniedzia³ek, a
w
> Santa Clara albo Armonk pada, to te¿ uzna³by¶ to za posuniêcie PR. Trudno,
> skoro takie przyj±³e¶ za³o¿enie....

San Jose i Santa Clara to nie sa konkurujace ze soba firmy, jak rowniez nie
jestes ich przedstawicielem.
Tak sie sklada, ze na prawdziwe stwierdzenie ze "w JRockit jest bug"
odpowiedziales nieprawdziwym (doczytales juz java spec?) "a w Sun JDK tez
jest bug, gorszy!". I owszem - jest to mishandling z zakresu PR.

A.

--
Wys³ano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/




Waldemar Kot - 19-06-2007 00:06
=?ISO-8859-2?Q?Re:_Bug_boksowania_int=F3w_w_JRoc?= =?ISO-8859-2?Q?kit_[by=B3o:_nested_synchronized]?=
  OK - pope³ni³em b³±d - uciek³ mi int podczas czytania fragmentu specyfikacji,
któr± Piotr przytoczy³. To co s±dzi³em, ¿e jest b³êdem warto¶ci Integer > 127
jest zachowaniem zgodnym ze specyfikacj± (nie by³em ¶wiadomy, ¿e takie
"ograniczenie" istnieje).
Tak jak obieca³em wcze¶niej - b³±d w JRockit 27.2 zosta³ zg³oszony i
potwierdzony. Dam znaæ, jak bêdzie wiadomo co dalej. Ci, którzy maj± kontrakt
supportowy na JRockit (lub inne produkty BEA), mog± w supporcie BEA odwo³aæ
siê do podanego numeru sprawy - CR327690 - i za¿±daæ patch'a.

Pozdrawiam,
Waldek Kot

PS
Przy okazji wysz³o, ¿e JCK nie robi na podan± funkcjonalno¶æ testu. Ma to byæ
zg³oszone do Sun'a, wiêc jest nadzieja, ¿e takie regresje nie bêd± pojawiaæ
siê w przysz³o¶ci i bêd± szybciej wy³apane.

--
Wys³ano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    =?ISO-8859-2?Q?=5Bmysql=5D_synchronizacja_struktury_bazy_?==? ISO-8859-2?Q?lokalnej_ze_zdaln=B1?= =?iso-8859-2?Q?=5BPostgreSQL=5D_synchronizacja_danych_mi=EAdz y_bazami?= Uzywa ktos jakiejkolwiek replikacji/synchronizacji danych ? timing petli synchronicznie 100kHz synchronizacja danych wielu klientow? MySql i PostgreSQL - synchronizacja danych [PostgreSQL] Synchronizacja struktury bazy [oracle] problem z nested table Oracle, nested table, jdbc. Nested Set
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • marcelq.xlx.pl
  • Cytat

    Decede mihi sole - nie zas³aniaj mi s³onca.
    Gdy kogo¶ kochasz, jeste¶ jak stworzyciel ¶wiata - na cokolwiek spojrzysz, nabiera to kszta³tu, wype³nia siê barw±, ¶wiat³em. Powietrze przytula siê do ciebie, choæby by³ mróz, a ty masz w sobie tyle rado¶ci, ¿e musisz j± rozdawaæ woko³o, bo siê w tobie nie mie¶ci
    Hoc fac - tak czyñ.
    A tergo - od ty³u; z ty³u.
    I czarne w³osy posiwiej±. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com