MDK | 2 Sep 22:59
Picon

Re: Cairo leaks


---------- Forwarded message ----------
From: Hisham Mardam Bey <hisham.mardambey <at> gmail.com>
To: michaldominik <at> gmail.com, Miguel de Icaza <miguel <at> novell.com>
Date: Fri, 2 Sep 2005 20:46:41 +0000
Subject: Re: Cairo leaks

>  // this can be safely removed now, just keep it for a bit more
>  //Cairo.Graphics g = new Cairo.Graphics (
>  //                    gdk_cairo_create (x_drawable ));
>
>  Why is this commented out? Once you remove the whole X code and leave just:
>

Miguel and I decided to comment this out because its based on the new
versions of gtk that have this function. Since we are not sure that
this function is available to all users, we do not want to use it. As
a matter of fact, the GTK and X11 samples are just a proof of concept
thing altogether. The PNG surface tests are really what is most
important.

When versions of GTK that support cairo and have this function are
more widespread and this becomes the de-facto GTK we can switch back
to using it.

--
Hisham Mardam Bey
MSc (Computer Science)
http://hisham.cc/
+9613609386
(Continue reading)

MDK | 2 Sep 18:36
Picon

Re: Cairo leaks

On 8/28/05, MDK <michaldominik <at> gmail.com> wrote:

On 8/27/05, miguel de icaza <miguel.de.icaza <at> gmail.com > wrote:

I think we need to audit Mono.Cairo, if memory gets released during a GC it means that the release is happening not by calling IDisposable's method but its being called by the finalizers (which will run on a separate thread). 

I can't believe it's a bug in Cairo. I'll try to reproduce this in the native code, and let you know about the results.

I did the test cases. The attached file contains a simple C program that draws (repeatedly) a rectangle and a C# version of it. The latter will eat all your memory in a metter of seconds. The sysdraw.cs comes from the svn (Mono.Cairo examples).

And now the part I don't understand -- In sysdraw.cs we've got a bunch of nasty X functions to create the target cairo surface and a small piece of an out-commented code:

// this can be safely removed now, just keep it for a bit more
//Cairo.Graphics g = new Cairo.Graphics (
//                    gdk_cairo_create (x_drawable ));

Why is this commented out? Once you remove the whole X code and leave just:

public static Cairo.Graphics CreateDrawable (Gdk.Drawable drawable)
{
        Cairo.Graphics g = new Cairo.Graphics
                               (gdk_cairo_create (drawable.Handle));
        return g;
}

It all works like expected, no leaks.


--
Michał Dominik K.
michaldominik <at> gmail.com
www.mdk.org.pl
MDK | 2 Sep 18:37
Picon

Re: Cairo leaks

--

-- 
Michał Dominik K.
michaldominik <at> gmail.com
www.mdk.org.pl
Attachment (cairo_leaks.tar.gz): application/x-gzip, 2333 bytes
miguel de icaza | 1 Sep 20:19
Picon
Gravatar

Re: XBuild status report #8

Marek,

     How can I build xbuild? 

     How can I test the code?

     Am now reviewing all the projects

Miguel.

Aaron Tomb | 1 Sep 20:07
Favicon

The last bug finding run of the SoC


I ran the double-check locking detector and the bad recursive invocation
detector on the rest of the Mono class libraries. Here are the cases
that look like potential bugs to me (minus the ones I've already
reported). They may or may not really be bugs, on closer inspection.

===================== BAD RECURSION =============================

Commons.Xml.Relaxng.dll
-----------------------------------
Commons.Xml.Relaxng.Inference.RelaxngInference::get_TypeInference
Commons.Xml.Relaxng.Inference.RngInference::ProcessSequence (probably fine)

System.DirectoryServices.dll
----------------------------------------
System.DirectoryServices.SearchResultCollection::Contains

System.Windows.Forms.dll
------------------------------------
System.Windows.Forms.VScrollBar::set_RightToLeft
System.Windows.Forms.DataGrid::CreateGridColumn
System.Windows.Forms.ProgressBar::set_BackColor
System.Windows.Forms.ProgressBar::set_BackgroundImage
System.Windows.Forms.ProgressBar::set_CausesValidation

===================== DOUBLE-CHECK LOCKING ======================

IBM.Data.DB2.dll
----------------------------
IBM.Data.DB2.DB2Environment::get_Instance

Mono.Security.dll
-----------------------------
Mono.Security.Protocol.Tls.SslClientStream::BeginRead
Mono.Security.Protocol.Tls.SslClientStream::BeginWrite

mscorlib.dll
------------------------
System.CurrentTimeZone::GetDaylightChanges
System.Globalization.CultureInfo::get_OptionalCalendars
System.Globalization.CultureInfo::get_TextInfo
System.Globalization.CultureInfo::get_CompareInfo
System.Globalization.CultureInfo::get_NumberFormat
System.Globalization.CultureInfo::get_DateTimeFormat
System.Runtime.Remoting.Contexts.Context::SetData
System.Runtime.Remoting.Lifetime.Lease::Register
System.Text.Encoding::get_ASCII
System.Text.Encoding::get_BigEndianUnicode
System.Text.Encoding::get_Default
System.Text.Encoding::get_ISOLatin1
System.Text.Encoding::get_UTF7
System.Text.Encoding::get_UTF8
System.Text.Encoding::get_UTF8Unmarked
System.Text.Encoding::get_Unicode

Novell.Directory.Ldap.dll
-------------------------------------
Novell.Directory.Ldap.MessageAgent::getLdapMessage (probably false alarm)

System.Data.dll
---------------------------
System.Data.DataTable::get_DefaultView

System.Drawing.dll
------------------------------
System.Drawing.ColorConverter::GetStandardValues
System.Drawing.Color::FillColorNames

System.Xml.dll
--------------------------
System.Xml.Serialization.XmlSerializer::CreateWriter (unsure)
System.Xml.Serialization.XmlSerializer::CreateReader (unsure)
System.Xml.Serialization.XmlSerializer::CheckGeneratedTypes

Picon

DataGridView: Final report


Hello,

Here is my final report.

I've finished almost all things I've planned and I've tested the
features I've implemented as much as i could.

The files to see my work:

DataGridview.tar.bz2:
    http://pedromj.dyndns.org/publico/DataGridView.tar.bz2

README:
    http://pedromj.dyndns.org/publico/README

TODO:
    http://pedromj.dyndns.org/publico/TODO

DataGridView.diff:
    http://pedromj.dyndns.org/publico/DataGridView.diff

Please take a look at README file, it is explained how to get working
the sources. In the TODO file there is the list of thigs not fully
implemented now.

To "winforms-list":
Please take a look to all of this stuff and if you are not disagree with
this I'll commit to SVN in two or three days, thank you. I will continue
with the developing and the bug fixes of all classes related to
DataGridView, please make me the maintainer of them and I could receive
the bug-reports and the questions about this classes, thank you again.

Regards,

    Pedro

--

-- 
Pedro Martínez Juliá
\   pedromj <at> gmail.com
)|      Jabber: petrux <at> jabber.org
/           MSN Messenger: yoros <at> wanadoo.es
Socio HispaLinux #311
Página web: http://pedromj.dyndns.org
Usuario Linux #275438 - http://counter.li.org

_______________________________________________
Mono-winforms-list maillist  -  Mono-winforms-list <at> lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-winforms-list

Picon

DataGridView: Final report


Hello,

Here is my final report.

I've finished almost all things I've planned and I've tested the
features I've implemented as much as i could.

The files to see my work:

DataGridview.tar.bz2:
    http://pedromj.dyndns.org/publico/DataGridView.tar.bz2

README:
    http://pedromj.dyndns.org/publico/README

TODO:
    http://pedromj.dyndns.org/publico/TODO

DataGridView.diff:
    http://pedromj.dyndns.org/publico/DataGridView.diff

Please take a look at README file, it is explained how to get working
the sources. In the TODO file there is the list of thigs not fully
implemented now.

To "winforms-list":
Please take a look to all of this stuff and if you are not disagree with
this I'll commit to SVN in two or three days, thank you. I will continue
with the developing and the bug fixes of all classes related to
DataGridView, please make me the maintainer of them and I could receive
the bug-reports and the questions about this classes, thank you again.

Regards,

    Pedro

--

-- 
Pedro Martínez Juliá
\   pedromj <at> gmail.com
)|      Jabber: petrux <at> jabber.org
/           MSN Messenger: yoros <at> wanadoo.es
Socio HispaLinux #311
Página web: http://pedromj.dyndns.org
Usuario Linux #275438 - http://counter.li.org

Iain McCoy | 1 Sep 16:57
Picon

Xaml Compiler: SoC Closure status report


Hello folks.

It is now September the Second, 2005, local time, so I'm late, but it's
the antipodes, so there's lots of time relative to those Other Timezones
that aren't holes and I suppose therefore I'm actually running early.

We weren't asked for a final report, but I figure I may as well, so here
it is.

Last time was penultimate, so this is, I suppose, ultimate. How extreme.

I've just made a few changes (mostly to make the code more
comprehensible, at least in theory) and I now think the code is
satisfactory for SoC purposes. I consider the xaml stuff in revision
49270 of the mono svn repos to be the "End Of SoC" revision, I hope
that's vaguely reasonable.

There's a few things that I still plan to do, and I do want to push it
to try to get some use.

Here's what's done:

1. A complete compiler from xaml to code, no known bugs
2. A near-complete interpreter from xaml to an object instance - there's
one feature I only found on monday, which is supported in the compiler
but has a bug in the interpreter. I plan to find and fix that bug
soon-ish, but since the feature is useful mainly for supporting the
styling system I don't see it's lack hurting many people for the time
being. That's the only bug I know of.
3. A partial implementation of System.Windows.DependencyObject. This is
the foundation of the new event/property/styling/animation system, and
I've written much of the property bits.
4. The bits of the System.Windows.Serialization namespace that I could
work out reasonable uses for.

So, that's pretty much what I said I'd do in the proposal/acceptance
criteria.

It's mostly in mcs/class/PresentationFramework (the System.Windows stuff
is in mcs/class/WindowsBase), but the compiler and examples are in
mcs/tools/xamlc. Documentation, such as it is, is in
mcs/tools/xamlc/README. You could learn a lot from the tests in
mcs/class/PresentationFramework/Test, more from Parser.cs and
ParserToCode.cs than from XamlParser.cs (that last one is mostly testing
fairly ugly internals).

I think it's at a stage where those directories could reasonably be
built and installed by default.

Things I still plan to do, despite them being outside the scope of the
project:
1. Get users
2. implement the styling system in System.Windows (I didn't do this
during SoC because it looks like requiring a bunch of other
DependencyObject stuff that is almost entirely irrelevant to xaml)
3. act as maintainer-ish person for this code, as required.

Uh, I think that's about all.

Oh, quick brag: I rode my unicycle (29" wheel, big apple 2.35" tire) the
20km from my house to university this morning. Took about 2 hours, with
almost no stops (for those that didn't know this already: unicycles
don't freewheel). Go me. I'm going to work towards doing the ride in 1
hour and 30 minutes, don't know if I'm capable of that sort of time or
not.

Well, I have about 3 slightly-neglected university deadlines approaching
- two tests and an assignment - so for a time I will refocus myself on
such boring things, and once they ease off I can hopefully get some more
work done on this stuff.

Hope everyone else is satisfied with their projects (and has had fun),
-Iain

Raffa | 31 Aug 01:25
Picon

PHP4Mono Report #6


Hi all,
just in time for SoC I released mPHP 0.1. It was quite hard in the end
as I once more had to redesign parts of the Runtime to implement the
object data type. To my mind the compiler now offers more features than
agreed by Miguel in the acceptance criteria, so it shouldn't be an
issue to meet the SoC goals. In addition to the tests performed during
development I really did a lot of testing now and fixed some bugs.
Finally I wrote some samples and a readme file explaining requirements,
usage and features. The source code and current release release
including little documentation can be obtained on SourceForge:
http://sourceforge.net/projects/php4mono.
So good luck to all of you for the final two days  :)
Raffa

Aaron Tomb | 30 Aug 06:26
Favicon

More double-check locking


I've done another small run of the double-check locking detector against
the Mono class libraries, and have another list of methods probably
worth looking at.

Apparently real
---------------
System.Windows.Forms.XplatUIOSX::GetMessage
System.Web.Compilation.CachingCompiler::Compile (both instances)
System.Web.Configuration.WebControlsConfig::get_Instance
System.Web.UI.WebControls.FontUnitConverter::GetStandardValues
System.Web.CapabilitiesLoader::Init
System.Web.HttpApplicationFactory::Dispose
System.Web.HttpApplicationFactory::GetInstance
System.Web.HttpRuntime::InternalExecuteRequest
System.Web.Services.Configuration.WSConfig::get_Instance

False alarms?
-------------
System.Windows.Forms.XplatUIX11::SetWMStyles
System.Windows.Forms.XplatUIX11::SetWindowState
System.Runtime.Remoting.Channels.RemotingThreadPool::RunThread

Unsure
------
System.Web.QueueManager::GetNextRequest

I hope this is helpful.

Aaron

Michael Hutchinson | 29 Aug 13:21
Picon
Picon
Favicon

ASP.NET GUI Editor-Michael: Report #9


Hey all,

Penultimate report coming up. Sorry it's late, have been getting a lot
done this week!

Achieved
========
Page Parser works on Mono. No support yet for server-side comments,
code blocks or databinding, but there are more important things to
consider right now!

Mozilla editor integration! As I'm sure you'll all have seen from the
screenshot, I've integrated Blago's work into AspNetEdit.

Fixed page loading with Mozilla.

Problems
========
Mozilla editor doesn't support XHTML!!! Either we replace it with
something else at some point, or hope that NVU gets merged back into
Mozilla trunk.

Unfortunately we've found a lot of bugs in the Mozilla integration, but
Blago's fixing them quite quickly.

My server went down on Saturday thanks to a power cut, so no-one could
see the screenshots! Should be up later today.

Page saving with Mozilla is broken, as it mangles some of the HTML I
put in.

Plans for this week
===================
Fix Mozilla integration bugs

Expose more Mozilla editor functionality in GTK# gui: cut, copy, paste,
undo, redo, bold, italic...

Add support for HTML fragments in toolbox -> we can insert tables etc

A simple interface to load custom controls so I can test out the
inherent support I've built in already.

I'm fairly sure that I'll have met the targets by Thursday, and I'm
looking forward to relaxing a little having been working at least full
time on this thing since the start!

Regards,

Michael


Gmane