It turned out that DRL
implementation of hythread_monitor_init /
hythread_monitor_init_with_name initializes and acquires a monitor.
Eugeni,
Both drlvm and classlib hythread work this way.
This original hythread design that for compatibility reason was
implemented in drlvm.
Thanks
Artem
\port\linux\hysignal.c you will find
that it initializes new monitors with hyhtread_monitor_init_with_name
and never frees these monitors. That turned out to be the reason of a
deadlock in HARMONY-2006.
Thanks
Evgueni
On 11/13/06, Artem Aliev [EMAIL PROTECTED] wrote:
It turned out that DRL
Commiters,
AWT does not work at all, because of HARMONY-1823.
The patch is ready for a week. there are a lot of messages on this
list and duplicate
issues on it.
There are a lot of verification done.
Could you please apply nterrupt_fix.patch and states.patch.
The patch does not fix ALL problems
Mikhail,
Right now the TM uses vm helper approach for the fast TLS access.
See vm/thread/src/thread_helpers.cpp:
fast_tls_func* get_tls_helper(hythread_tls_key_t key);
It looks reasonable for performance, to divide it in two part,
get_tls_pointer_accesor() and get_tls_storage_offset().
First
Weldon,
If the current scheme is the same that we had 1 or 2 years ago, the answer
is no
This is just the same scheme!
I am really hoping that all of this is simply an implementation
bug.
There are no open issues on this scheme, there is no examples that
fail right now because of the
Eugeny,
The problem can be easily fixed by changing int16 to unit16 in
atomic16_dec. Do you think this is accaptable way to fix the problem.
BTW, could somebody explain why 16-bit atomic operation is used for
32-bit value?
The suspend_request could be 16bit value some time ago.
Could you
include internal thread state
tracking, which is needed to support inspecting the thread state.
Using layer (1) directly would bypass the thread state tracking.
Angela
On 10/16/06, Artem Aliev [EMAIL PROTECTED] wrote:
Tim,
Reading through discussion, I find two option for the second step.
Let's
Geir,
I create HARMONY-1904 issue for this case.
Thanks
Artem
On 10/17/06, Geir Magnusson Jr. [EMAIL PROTECTED] wrote:
Artem Aliev wrote:
Gier,
I'd like to resurrect this topic.
Oh goody!
We try to run JBoss on Harmony and meet the same problem.
Here is an except from the stack
Gier,
I do some experiments on this issue.
It is funny, but it is reproduced only by ubuntu user that logged to console.
It does not reproduce on SuSe at all.
Following sequence is more funny : ))
[EMAIL PROTECTED] java Test
fail ... on 370
[EMAIL PROTECTED] su - kna
[EMAIL PROTECTED] java Test
-Dvm.finalize=off also help :)
On 10/17/06, Weldon Washburn [EMAIL PROTECTED] wrote:
Geir,
I am running Test.java on windows with an svn revision from late last week.
Right now, it is at Iteration: 140 and still going. Because of MMTk
porting, GCV4.0 is configured in. Perhaps you can
Magnusson Jr. [EMAIL PROTECTED] wrote:
Artem Aliev wrote:
The hyport and hy* are a porting layer that provides os independent
interface.
hysock_select() does not return EINTR on windows why it should do it
under linux?
either user presses Ctrl-c or ctrl-\ or VM uses other signals for its
.
I'd like some more discussion around the second step (picking up drlvm
version) before you do a wholesale replacement.
Yes please. Lets do small, reversible steps.
geir
Regards,
Tim
Weldon Washburn wrote:
Artem,
Thanks. I will take a look.
On 10/12/06, Artem Aliev [EMAIL PROTECTED
. And that these issues are settled. Then commit a mod
to svn that will cause the system to do an assert(0); in debug mode and exit
w/ stack trace in release mode.
Artem,
Does it make sense for you to create a patch that does the above??
On 10/13/06, Artem Aliev [EMAIL PROTECTED] wrote
A classloader and some other components assume that semaphores and
latches does not reset suspend disable count and some time ago latches
and semaphores work this way.
A java monitor ,in reverse, resets the suspend disable status in
monitorEnter and monitor_wait command, and DRLVM takes care
files from luni to portlib (by svn move).
A portlib_files.patch update build to works with new structure.
Thanks
Artem
On 9/29/06, Artem Aliev [EMAIL PROTECTED] wrote:
Guys,
Let me try to make this changes.
Here is my understanding of the steps I need to do.
1. Make classlib/modules/portlib
Weldon, All
Here is the updated vm/vmcore/sync_bit.h header file.
That, I think, describes current state of the object header.
I olso try define rules: How to update the header correctly.
Welcome to discussion on them.
#ifndef _sync_bits_H
#define _sync_bits_H
/**
* These defines describe
Evgueni,
1) Which of the patches is a final?
2) It looks like you do not find a way to remove hythread_library_t
from parameters
and JavaVM from thread manager code. Well, leave it as is, I will try
to fix this later.
2)
Is the following global variable is necessary?
extern
Evgueni,
I got most of your changes, but still disagree with all
hythread/jthread interface changes. Could leave interface unchanged.
See following possible solutions, that could solve the same problems
without interface changes.
1) daemon attribute is a java specific. (Andrey mentioned this
:
On 9/20/06, Tim Ellison [EMAIL PROTECTED] wrote:
Artem Aliev wrote:
Gier,
The hythread is just most visible example. There are also
signal
handling problem. classlib hysig lib setup signal handlers
and
then
drlvm overrides them by its owns. There are code
Committers,
Could you please integrate fix from:
HARMONY -1340 Fix invalid assertion in thread_native_fat_monitor.c
The patch is trivial.
The assertion in the current code is incorrect, it check that monitor
is entered not more then once (recursion_count 1)
It was left in the code by mistake.
Alexey,
Could you please put the patch again.
I got following error when try to access it.
HTTP Status 404 - Could not find specified attachment:
/usr/local/tomcat/tomcat-jira/attachments/HARMONY/HARMONY-1376/12341371_H-1376.diff
(No such file or directory)
Thanks
Artem
On 9/22/06, Geir
Ivan,
We do a lot for this cyclic suspend problem,
I hope we does it right. I think the problem is in typo that was done
in last patch.
Fix attached. Could you please verify it.
I will also attach it to the HARMONY-1421
we already try to has global lock for
Geir,
The current DRLVM build is still failed.
I attach patch for the current state of VM.
Could you please apply it or commit new version of natives_support.cpp
Thanks
Artem
On 9/18/06, Alexey Varlamov [EMAIL PROTECTED] wrote:
Geir,
The DRLVM build is broken now on gcc3.3.3 (SUSE9):
Hello, guys.
Do not forgot about portability
Hysock lib is a porting layer and it should work the same way on all platforms.
The windows does not support signals at all
So the porting layer should hide all OS depended signal processing
including this select() problem.
+1 to my patch.
The patch
Guys,
The problem looks much broader then just a hash code placing.
There is no common place that describe object header format and object
header sharing protocol.
There are 3 components that use object header together.
VMcore -- store VT pointer and hashcode
ThreadManager -- update lockword
GC
. [EMAIL PROTECTED] wrote:
Geir Magnusson Jr. wrote:
Artem Aliev wrote:
Hello, guys.
Do not forgot about portability
Hysock lib is a porting layer and it should work the same way on all
platforms.
The windows does not support signals at all
So the porting layer should hide all OS depended
On 8/24/06, Ivan Volosyuk [EMAIL PROTECTED] wrote:
Weldon, I have some information for this case.
There bit layout was the following before new thread manager integration:
object info word contains:
0 bit - available for GC
1-6 bits - object hashcode
7 bit - contention bit unused by TM, but
Weldon,
There bit layout was the following before new thread manager integration:
object info word contains:
0 bit - available for GC
1-6 bits - object hashcode
7 bit - contention bit unused by TM, but used by GC_V4
8-31 bits - other thread manager's data
The new Thread Manager use only
.
Following patch to hysock.c fixes the problem in hysock.
Probably classlib experts could provide better way to fix this problem.
--
Artem Aliev, Intel Middleware Products Division
--- modules/luni/src/main/native/port/linux/hysock.c
+++ modules/luni/src/main/native/port/linux/hysock.c
@@ -2570,11
implementation could be done base on java monitors, but
it kills the idea of the util.concurrent.
Thanks
Artem Aliev
Intel Middleware Product Division
On 6/14/06, Nathan Beyer [EMAIL PROTECTED] wrote:
I stubbed out the method in luni-kernel (as well as two other methods that
were missing). I looked
,
apr_allocator_t *allocator
apr_size_t
SUGGGESTED_SIZE
Thank you,
Artem Aliev
Intel Middleware Products Division
functions into APR.
Thank you,
Artem Aliev
Intel Middleware Products Division
,
apr_pool_t *cntxt);
APR_DECLARE(apr_status_t) apr_thread_mutex_create(apr_thread_mutex_t **mutex,
unsigned int flags,
apr_pool_t *pool);
Thank you,
Artem Aliev
Intel
33 matches
Mail list logo