Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4536736
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 21, 20262026-05-21T14:34:35+00:00 2026-05-21T14:34:35+00:00

Several years ago, I wrote this Roulette application on .NET 1.1 using C# and

  • 0

Several years ago, I wrote this Roulette application on .NET 1.1 using C# and Visual Studio.net: http://www.lonniebest.com/Roulette/

Since April of 2007, I’ve been using Ubuntu Linux exclusively, so today I tried to recompile that old code using the MonoDevelop IDE. To my amazement, the code built fine without errors, and I was able to run this Windows Forms application on Ubuntu.

Everything worked fine (at first), when I would spin the roulette wheel one spin at a time. It would even run fine if I told it to spin it 10 times in a row. However, too much higher (in a row) than that, the applications crashes and all I see in the MonoDevelop’s “Application Output” pane is:

The application was terminated by a signal: SIGHUP

(In Visual Studio, I’d expect it to direct me to an unhandled exception in my code, but MonoDevelop only seems to display the above output in the “Application Output” pane.)

This application really hammers Windows Forms, it updates numerous form element over and over again with each spin, as fast as can be rendered. If you run it on the .NET version I posted in the link above, you’ll see it update all these form elements 100+ times a second. That may not be necessary, but neither is the application as a whole, and that’s what I intend for it to do.

Compiled with Visual Studio, and running on Windows .NET, the applications can do millions of spins without ever crashing.

So, what might allow me to get this code more resilient in Mono/Linux, in light of the “SIGHUP” crash above?

I’ve attached the MonoDevelop Solution to this bug report:
https://bugzilla.novell.com/show_bug.cgi?id=688014

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-21T14:34:36+00:00Added an answer on May 21, 2026 at 2:34 pm

    The following proof of concept shows that this is probably promiscuous use of Windows Forms controls from a non-UI thread. This proof of concept is completely braindead, because I didn’t exactly want to find out what lines in your 328-line DisplayResults function were the culprit. You can use the links below to alleviate your situation.

    Read on the backgrounds here:

    • WinForms UI Thread Invokes: An In-Depth Review of Invoke/BeginInvoke/InvokeRequred
    • Control.Invoke Method
    • Application.Idle event significance

    The following patch completely removes the symptoms for me.

    diff --git a/Roulette/Roulette.cs b/Roulette/Roulette.cs
    index d5ede34..ae098ac 100644
    --- a/Roulette/Roulette.cs
    +++ b/Roulette/Roulette.cs
    @@ -402,6 +402,7 @@ namespace Roulette
                            //
                            // TODO: Add any constructor code after InitializeComponent call
                            //
    +                       Application.Idle += (sender, e) => DisplayResultsEx();
                    }
    
                    /// <summary>
    @@ -5135,6 +5136,11 @@ namespace Roulette
    
                    public void DisplayResults()
                    {
    +
    +               }
    +
    +               private void DisplayResultsEx()
    +               {
                            //Display the current result.
                            lblCurrentResult.Text = m_Wheel1.CurrentResult.Name;
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We're using some C library in our Java project. Several years ago some other
I've started to use XCode several months ago, after using IntelliJ for several years,
I have made a mistake when designing my application database several years ago and
As recently as several years ago, the developers actually made the builds that went
Alan Kay was quoted several years ago to the effect that there had been
After using AS2 for several years, I'm getting started with writing applications in AS3
I've been using Eclipse pretty regularly for several years now, but I admit to
Several years ago, the 'next big thing' was clockless computers. The idea behind it
I am refreshing my memory on C# (first used it several years ago), and
I have a bounded blocking queue in an application that was written several years

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.