elwood | 13 Sep 12:01 2014

One more library for creating ncurses-like apps

Hi! I'm developing my fun project - https://github.com/elw00d/consoleframework . It is library for creating TUI apps and can be run in Mono. I see http://www.mono-project.com/docs/tools+libraries/libraries/ list and may be you'll want to add my "bicycle" library to "Curses" section too :)

Examples can be found in "Examples" directory. If you want to read some tech docs, you can try http://www.codeproject.com/Articles/750873/Turbo-Vision-resurrected-for-Csharp-and-with-XAML article and translated reference docs like https://github.com/elw00d/consoleframework/blob/master/Xaml/readme-en.md or https://github.com/elw00d/consoleframework/blob/master/Xaml/xaml-binding-en.md .

Hope any will interested.
Mono-devel-list mailing list
Mono-devel-list <at> lists.ximian.com
Chris Tacke | 13 Sep 01:09 2014

Latest source - build yields "Could not load type 'Mono.CSharp.CommandLineParser'" (17170)

Bug 17170 is marked as "RESOLVED/FIXED" but it's still occurring with a git pull of the latest as of this morning:


The proposed workaround of

make EXTERNAL_MCS="${PWD}/mcs/class/lib/monolite/gmcs.exe"

After getting monolite and before running "make" does work, but a straight "make" fails with "Could not
load type 'Mono.CSharp.CommandLineParser'"

Chris Tacke | 13 Sep 01:08 2014

Mono 3.10 Threadpool requires remoting??

We have a Mono application that we have been successfully running against Mono 3.2.7 for some time now.  We
have built Mono ourselves from the source because we're targeting the i586 architecture.

We're targeting a headless embedded device, so we've tried to remove things that we don't use.  One of those
"things" is Remoting support.

I just got done getting 3.10.1 built and moved over to a target and now when I run our app I get a
MissingMethodException.  ThreadPool.QueueUserWorkItem seems to be calling into Remoting. What's up
with that?

Here's the inner exception and its stack trace:

Unhandled Exception:
System.TypeInitializationException: An exception was thrown by the type initializ er for
SolutionFamily.SFTrace ---> System.TypeInitializationException: An excepti on was thrown by the
type initializer for OpenNETCF.IoC.RootWorkItem ---> System. MissingMethodException: Cannot find
the requested method.
  at (wrapper managed-to-native) System.Runtime.Remoting.RemotingServices:IsTrans parentProxy (object)
  at System.Delegate.IsTransparentProxy () [0x00000] in <filename unknown>:0
  at System.Threading.ThreadPool.QueueUserWorkItem (System.Threading.WaitCallback  callBack,
System.Object state) [0x00000] in <filename unknown>:0
  at System.Threading.ThreadPool.QueueUserWorkItem (System.Threading.WaitCallback  callBack)
[0x00000] in <filename unknown>:0
  at OpenNETCF.IoC.WorkItem..ctor () [0x00000] in <filename unknown>:0
  at OpenNETCF.IoC.RootWorkItem..cctor () [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---

I can go back and regenerate everything with Remoting support, but I'm wondering why this is getting called
at all when it wasn't in 3.2.7.

mono user | 12 Sep 21:28 2014

peverify vs mono --verify-all

I would really appreciate help with this. I need to check that a dll I generated via reflection is correct, however peverify won't even start:

[me <at> somewhere]$ peverify tmp.dll
Could not load class with token 2000002
* Assertion at class.c:5607, condition `!mono_loader_get_last_error ()' not met


On the other hand,

mono --verify-all --security=validil tmp.dll

ponders things for a bit, then starts executing the dll file (it's really an executable).

Could someone please tell me if the two commands should find the same problems  or not. Also, can I just take it that the dll is fine if the Microsoft implementation of peverify says so? Any hints on what to try to get the Mono implementation of peverify working would be especially helpful.

I am using mono-3.10.0-branch because it fixes a problem manifesting itself with a triggered assertion inside mono (many thanks to Zoltan for the fix). I have seen similar behaviour under other recent versions of Mono.

Mono-devel-list mailing list
Mono-devel-list <at> lists.ximian.com
Edward Ned Harvey (mono | 12 Sep 19:08 2014

How to find extern definition for MonoIO void Lock(

I am trying to find the definition for this:

mcs/class/corlib/System.IO/MonoIO.cs:                               public extern static void Lock (...)


I'd like to know how the Lock() method is implemented, so I can understand the valid parameters.  (I know the two ints must be >= 0, but I'd like to know what else.  And generally speaking, know how it's implemented so I can know its limitations).

Mono-devel-list mailing list
Mono-devel-list <at> lists.ximian.com
Edward Ned Harvey (mono | 12 Sep 04:17 2014

Version metadata - reflection?

In Visual Studio, you right-click a project, properties, application, assembly information, and set the version, which corresponds to AssemblyVersion and AssemblyFileVersion in AssemblyInfo.cs, and it can be detected at runtime via System.Reflection.Assembly.GetEntryAssembly().GetName().Version.


However, in Xamarin Studio or MonoDevelop, you right-click a project, options, main settings, and set version... It doesn't change AssemblyInfo.cs. Instead, it modifies the csproj.  I'm not sure how/if this metadata can be accessed at runtime.  Can it?  Or better yet, does Xam Studio and/or Monodevelop have some interface that allows easy editing of AssemblyInfo.cs as VS does?  I can edit the file by double clicking it and editing text manually, I just wonder if that's what people are intended to do.  (I am surprised to see a completely separate and completely analogous and confusing redundant project "Version" metadata setting which is unrelated to the version inside AssemblyInfo.cs).

Mono-devel-list mailing list
Mono-devel-list <at> lists.ximian.com
何子杰Hzj_jie | 11 Sep 09:36 2014

pull request, implement System.Threading.Thread.Priority get and set methods

hi, all,
can anyone from the collaborators help to look at the change https://github.com/mono/mono/pull/1272? it's an implementation of System.Threading.Thread.Priority property.

thank you.

Mono-devel-list mailing list
Mono-devel-list <at> lists.ximian.com
Vincent Povirk | 10 Sep 20:29 2014

mono_thread_manage causes subsequent mono_jit_cleanup call to hang?

With a recent master build of Mono, I'm getting hangs in Wine when a
.NET exe exits. I think it's related to this commit:

commit 1996d664b4be7b97921485871f756db1d58011fe
Author: Rodrigo Kumpera <kumpera <at> gmail.com>
Date:   Mon Aug 25 14:37:22 2014 -0400

    [jit] Ensure no threads are running when the JIT is asked to cleanup.

Currently, our main function for running a .exe (_CorExeMain) exits by
doing this:

return exit_code;

The hang is in the mono_jit_cleanup() call. I found that if I don't
call mono_thread_manage() first, it no longer hangs.

So that leads me to ask the following questions:

1. Is my use of mono_thread_manage correct? I thought it was my
responsibility to call this before mono_jit_cleanup, but that commit
seems to imply it's not my responsibility (but was still necessary in
all previous versions because Mono was broken).

2. Should Mono be fixed to account for what I was doing? I'd prefer to
have code that is as version-independent as possible. Maybe mono could
somehow detect that mono_thread_manage was already completed by the
current thread, and do nothing in this case?

3. Is there something else I can do on my end to fix this that won't
break with old Mono versions?
Chris Tacke | 10 Sep 02:09 2014

Debugging on a remote (non-Android) Linux Device

I have a Mono project that mirrors a desktop project (same code, same projects, etc).  Most development and
debugging is done in Visual Studio and the Linux/Mono deployment is done on the build server with a
command-line call to compile the Mono build.

Generally speaking this all works just fine.  

Occasionally, however, we find behavioral differences between the .NET Framework and Mono.  For example,
right now I have code that works fine on the desktop, but under Mono it's failing (it's a socket call out to
SSL, and yes, I've added a handler for ServicePointManager.ServerCertificateValidationCallback as a
test but it still fails).

When I run into these types of problems, I use Xamarin Studio to add in Console.Writeline calls, build, copy
via USB, reiterate cycles and try narrowing the problem down.  It's extremely slow and painful.

Xamarin Studio can connect and live debug against iOS and Android.  Is there a way to configure Xamarin
Studio (or Visual Studio) and my Linux device to do the same?  I would suspect that someone out there has
tried debugging against a Raspberry Pi or something and this would be an analogous situation.

If it matters, the Mono build I'm using is not off-the-shelf - I had to compile it myself since we're
targeting the i586-cored Quark processors.

I used to have a license for both Xamarin iOS and Xamarin Android, but really we don't target those devices so
I let them lapse.  I'm hoping that the debugging pieces aren't wrapped up in those.

jimscott007 | 8 Sep 19:31 2014

New to Mono: Port from iOS to Android Question

I'm looking to get involved in a project that already has a working iOS app
registered with the store and available for download. The next step is to
code the Android version of the app and I'm told that the iOS version was
built using Mono.

I'm trying to get an idea for what kind of lift this is. The dev shop that
built the iOS app is a professional near shore developer and they've been
used before so I'm assuming the existing code is pretty good. I was curious
if anyone here has any experience with something like this and was hoping
they'd be willing to share their thoughts.

View this message in context: http://mono.1490590.n4.nabble.com/New-to-Mono-Port-from-iOS-to-Android-Question-tp4663783.html
Sent from the Mono - Dev mailing list archive at Nabble.com.
Chris Morgan | 6 Sep 02:03 2014

Fwd: [Mono-list] Per-process memory overhead

Posting to the devel list to see if anyone has any other ideas. I'd love to get the overhead of these processes down rather than be worried about running out of memory or having to rewrite code in c/c++...

On Sun, Aug 31, 2014 at 10:26 AM, Agustin Gimenez <geniwab <at> gmail.com> wrote:

Hi Chris.

.net and mono always have some overhead, so I think it's normal.

Instead of creating a dozen of processes, why don't you create just one and as many buses as you need inside that process?

The thought crossed my mind to do that. It isn't the simplest approach though but it would work. If it works then its suitable if say 12 of these bridges would fit inside of a single 14MB process. If not then I'll end up having to reimplement in c and I'd prefer not to go that route.

Is ~14MB really the overhead I should be expecting per-process? I haven't tried mono 3.6 yet but nothing in the release notes indicated a large memory overhead savings.



El 31/08/2014 02:52, "Chris Morgan" <chmorgan <at> gmail.com> escribió:

I'm looking to use mono for some dbus bridges with dbus-sharp. I've got a pretty simple bridge, a couple of classes and a single dbus interface that bridges to a socket in a console application. It looks like each instance has ~14MB of memory overhead, from smem output:

30038 cmorgan  mono display_interface.exe         0    16792    19650    23488

So, 16.7MB USS, 19.65MB PSS and 23.48MB RSS.

Using mono 3.4 on Fedora 20.

I ran the alloc profiler on the application and it looks like there was some 700k of memory allocated in the application itself, quite small compared to the process memory.

I'd like to be able to use mono to create a dozen or more of these dbus bridges but the embedded arm system I'm using only has 512MB of ram.

I haven't tested on the arm platform yet, but I'm assuming a similar amount of overhead for each process.

Is this a normal amount of overhead per-process? Thoughts on how I might be able to reduce it?


Mono-list maillist  -  Mono-list <at> lists.ximian.com

Mono-devel-list mailing list
Mono-devel-list <at> lists.ximian.com