Thread: [Sablevm-developer] debbuggtk improvements and synchronization w/ gnu classpath
Brought to you by:
egagnon
From: Grzegorz B. P. <ga...@de...> - 2004-01-19 10:40:59
|
Hi! I've just tried to run things from debbuggtk and there's important improvement - it almost starts now. After a while I get: $ bugviewer (java-gnome:6261): Gtk-CRITICAL **: file gtkwidget.c: line 3690 (gtk_widget_grab_default): assertion `GTK_WIDGET_CAN_DEFAULT (widget)' failed [jni: fatal error (Local reference capacity exceeded)] Aborted $ bugwatcher [jni: fatal error (Local reference capacity exceeded)] Aborted (btw: shouldn't we give a stack backtrace at this point? it's not really helpful as this way it's hard to say where the problem actually can be) I am not sure whether this problem is in java-gnome itself or rather in GNU Classpath, but I believe I have seen some mails on GNU CP ML lately, that were about not using more local references than allowed. Or maybe somebody has a better idea where the problem could be? Anyway - can we synchronize our SVN w/ current upstream? Is there any documentation how to do this properly? We should also start pushing our changes back upstream. Cheers, Grzegorz B. Prokopski PS: Trying to run bugreporter I get sablevm: INTERNAL ERROR (source file "native_interface.c", line 23026): todo it's AllocObject (JNIEnv *_env, jclass cls) - so maybe it could be the next hole to target. -- Grzegorz B. Prokopski <ga...@de...> Debian GNU/Linux http://www.debian.org SableVM - LGPLed JVM http://www.sablevm.org Why SableVM ?!? http://devel.sablevm.org/wiki/WhySableVM |
From: David <db...@cs...> - 2004-01-19 15:28:23
|
On Mon, Jan 19, 2004 at 05:40:54AM -0500, Grzegorz B. Prokopski wrote: > Hi! >=20 > I've just tried to run things from debbuggtk and there's important > improvement - it almost starts now. After a while I get: >=20 > $ bugviewer=20 > (java-gnome:6261): Gtk-CRITICAL **: file gtkwidget.c: line 3690 > (gtk_widget_grab_default): assertion `GTK_WIDGET_CAN_DEFAULT (widget)' > failed > [jni: fatal error (Local reference capacity exceeded)] > Aborted >=20 > $ bugwatcher=20 > [jni: fatal error (Local reference capacity exceeded)] > Aborted >=20 Hi Greg, The VM has to guarantee the availability of some amount of local refs (I think 16). If local or not freed or a call to a special method to increment them is not done, the VM does not have to guarantee the availability. It was discussed before. So possible it is in the user code. > (btw: shouldn't we give a stack backtrace at this point? > it's not really helpful as this way it's hard to say > where the problem actually can be) >=20 > I am not sure whether this problem is in java-gnome itself or > rather in GNU Classpath, but I believe I have seen some mails > on GNU CP ML lately, that were about not using more local > references than allowed. >=20 > Or maybe somebody has a better idea where the problem could be? gdb setup a brk point on where that message is printed then bt - for your backtrace >=20 > Anyway - can we synchronize our SVN w/ current upstream? > Is there any documentation how to do this properly? >=20 You mean getting most recent CP changes? Yes. Look in mailing list archives, I think Etienne described how to do it. I think Etienne needs to add them to some branch. Merge should be easy as most recent changes should not affect VM/Classpath interfaces. > We should also start pushing our changes back upstream. >=20 Feel free to proceed. I already pushed a few=20 bug fixes by mailing patches on classpath mailing list. If someone wants to work on that intensively, maybe request CP cvs write access and contact CP on the procedure. The next thing I would like to push is my fork/exec/Process implementation as soon as it get more or less complete/tested as it has nothing to do with the VM... There would also be all the VM{Classes} that needs proper integration. And should move some of our change upstream. > sablevm: INTERNAL ERROR (source file "native_interface.c", line 23026): > todo > it's AllocObject (JNIEnv *_env, jclass cls) - so maybe it could be > the next hole to target. >=20 ok. It should be easy. Will do it sometime this afternoon. David --- David B=E9langer Graduate Student School of Computer Science McGill University Office: MC226 Web page: http://www.cs.mcgill.ca/~dbelan2/ Public key: http://www.cs.mcgill.ca/~dbelan2/public_key.txt |
From: Etienne G. <gag...@uq...> - 2004-01-19 18:47:29
|
David B=E9langer wrote: > You mean getting most recent CP changes? Yes. > Look in mailing list archives, I think Etienne described > how to do it. I think Etienne needs to add them to > some branch. OK. I'll pull the latest CP changes into sablevm-classpath/vendor/current= . Etienne --=20 Etienne M. Gagnon, Ph.D. http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: Etienne G. <gag...@uq...> - 2004-01-19 20:46:37
|
David B=E9langer wrote: > You mean getting most recent CP changes? Yes. > Look in mailing list archives, I think Etienne described > how to do it. I think Etienne needs to add them to > some branch. OK. I have imported a CP CVS snapshot to /sablevm-classpath/vendor/curre= nt . As it is not an official CP release, I have not added a tag for it in sablevm-classpath/vendor/tags . Etienne --=20 Etienne M. Gagnon, Ph.D. http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: David <db...@cs...> - 2004-01-19 22:17:49
|
On Mon, Jan 19, 2004 at 03:28:15PM -0500, Etienne Gagnon wrote: > David B=E9langer wrote: > >You mean getting most recent CP changes? Yes. > >Look in mailing list archives, I think Etienne described > >how to do it. I think Etienne needs to add them to > >some branch. >=20 > OK. I have imported a CP CVS snapshot to /sablevm-classpath/vendor/cur= rent=20 > . >=20 Hi, I looked quickly. The only change that require some work is the split of Runtime into VMRuntime/Runtime. It should not be difficult and should not take time. I could have staging updated tonight or tomorrow. > As it is not an official CP release, I have not added a tag for it in > sablevm-classpath/vendor/tags . >=20 So, that means next term we merge, we will need to use a revision number. It would not be better to use tag like cvs-yyyy-mm-dd, although technically revision number do not cause problem? David --- David B=E9langer Graduate Student School of Computer Science McGill University Office: MC226 Web page: http://www.cs.mcgill.ca/~dbelan2/ Public key: http://www.cs.mcgill.ca/~dbelan2/public_key.txt |
From: Etienne G. <gag...@uq...> - 2004-01-19 23:36:38
|
David B=E9langer wrote: > I looked quickly. The only change that require some work is the split > of Runtime into VMRuntime/Runtime. It should not be difficult and > should not take time. I could have staging updated tonight or tomorrow= =2E Super. > So, that means next term we merge, we will need to use a revision > number. It would not be better to use tag like cvs-yyyy-mm-dd, althoug= h > technically revision number do not cause problem? Not really. Revisions numbers are quite sufficient, in this case. We mi= ght do such updates quite regularly; adding tags won't help at all. In fact, th= ey would obscure the important tags. [I think along the lines of: "would you tag every staging revision?"] --=20 Etienne M. Gagnon, Ph.D. http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: Etienne G. <gag...@uq...> - 2004-01-19 15:43:43
|
Grzegorz B. Prokopski wrote: > $ bugwatcher > [jni: fatal error (Local reference capacity exceeded)] > Aborted > > (btw: shouldn't we give a stack backtrace at this point? > it's not really helpful as this way it's hard to say > where the problem actually can be) Hmmm, I should be able to get the VM to print a stack trace fairly easily. Etienne -- Etienne M. Gagnon, Ph.D. http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: Etienne G. <gag...@uq...> - 2004-01-19 18:43:53
|
Etienne Gagnon wrote: > Hmmm, I should be able to get the VM to print a stack trace fairly easily. OK. It's in staging. -- Etienne M. Gagnon, Ph.D. http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: David <db...@cs...> - 2004-01-19 21:21:18
|
Hi Greg, I implemented but did not test any of them. The only thing I did is to make sure it compiles without warning. Therefore, they will be in my sandbox instead of staging: svn+ssh://svn.sablevm.org/public/developers/belanger/sandbox/sablevm Feel free to test and move them to staging if you are confident they work. Some time later I will move them to staging but don't know when. The functions implemented: GetSuperclass IsAssignableFrom Throw FatalError DeleteGlobalRef IsSameObject AllocObject IsInstanceOf David --- David B=E9langer Graduate Student School of Computer Science McGill University Office: MC226 Web page: http://www.cs.mcgill.ca/~dbelan2/ Public key: http://www.cs.mcgill.ca/~dbelan2/public_key.txt |
From: Grzegorz B. P. <ga...@de...> - 2004-01-19 21:48:35
|
W liście z pon, 19-01-2004, godz. 16:21, David Bélanger pisze: > Hi Greg, > > I implemented but did not test any of them. The only thing > I did is to make sure it compiles without warning. > > Therefore, they will be in my sandbox instead of staging: > svn+ssh://svn.sablevm.org/public/developers/belanger/sandbox/sablevm > > Feel free to test and move them to staging if you are confident they > work. Some time later I will move them to staging but don't know > when. You're fast! great! I think the right approach is to find apps that fail w/ staging because of lack of some of these JNI functions, then add them and the app should get further. I think that things like Eclipse would excersise many of these functions :-) Heh, we'll see how it goes in practice. Cheers, Grzegorz B. Prokopski -- Grzegorz B. Prokopski <ga...@de...> Debian GNU/Linux http://www.debian.org SableVM - LGPLed JVM http://www.sablevm.org Why SableVM ?!? http://devel.sablevm.org/wiki/WhySableVM |