in reply to Re^5: threads->new falling in a heap.
in thread threads->new falling in a heap.

Hi BrowserUK,

First of all let me thank you for you very kind offer of looking at the code.

In fact, I have isolated the problem using the steps you suggest. What I thought was an intermittant fault is now 100% reproduceable and understood. Really it could be classified as a 'design' problem. While playing a live-streamed video which is being recorded at the same time, if I pause and take a snap of the position, the background process runs off and takes the snap (using the afore-mentioned 'threads'). Because the snap is from the end of the file the frame has not been written completely to the file. If I subtract 1 frame from the position it works fine - but a lot can happen in a frame and it's not an ideal solution. Alternatively, and this is what I will do for the time being, I can disable the snap button. The correct answer is to buffer the command until play has resumed or alternatively stopped altogether and the final frame of the video is written to the file and the file is closed.

If the video is not paused, then also the frame has been written by the time 'threads' gets to it and also, all is fine.

However I am left feeling that my IDE which works fine most of the time, has a blind-spot and resolving issues in this blind spot is much more time-consuming than I would like.

Thank you again for your support.

Regards

Steve

Replies are listed 'Best First'.
Re^7: threads->new falling in a heap.
by BrowserUk (Patriarch) on May 11, 2012 at 21:45 UTC
    However I am left feeling that my IDE which works fine most of the time, has a blind-spot ...

    I installed a trial copy of Komodo and started it. Even before I loaded any files, it was already running 32 kernel threads to just sit there doing nothing.

    And whilst I cannot be certain, it looks like at least one of those threads and possibly more could be a Java "green threads" scheduler.

    I loaded a (single) perl file and that increased to 43 threads.

    Then I took a look at the dll's it loads:

    C-runtime. C++ Runtime, Python runtime, Java-runtime, perl development kit, XUL, OLE, .NET, Active Directory, ActiveX, LDAP; audio drivers, Multimedia drivers, Internet Explorer runtime, 3 different graphics frameworks, 3 different encryption libraries, Remote access dialer, Remote procedure calls; DNS, DHCP, every sockets library known to man; sqlite, MSSQL; ???

    Good grief. Are they trying to compete with EMACS in the operating-system-disguised-as-an-editor Olympiad?

    Frankly, I don't know whether to condemn the authors or just stand with my mouth open and slow hand-clap them in sheer amazement.

    Anyway, glad you solved your problem :)


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

    The start of some sanity?

      IE and Mozilla in the same process. With Java and ActiveX/COM. Its jaw dropping, but what do developers care, they all got 16 core opterons with 32 GB of RAM as their desktops at work.
        what do developers care, they all got 16 core opterons with 32 GB of RAM as their desktops at work.

        The answer to that depends upon which set of developers you are talking about:

        1. If you mean the developers of the IDE:

          they should care because there is no way for them to reason about the interactions between all those threads and components.

          And no way on earth to to test them all.

        2. And for developers using Komodo (or thinking of doing so):

          They should care because becoming dependent upon that product for their livelihood, is like becoming dependent upon an F1 racing car for their daily commute.

          By F1 standards, modern F1 cars are incredibly reliable -- they'll mostly complete a 2 hour drive without non-driver induced failures -- but they still require a support team of around 30 people and a lot of ancillary equipment just to get them to fire up in the mornings.

        I don't want to be dependent upon that level of complexity for my daily crust; nor require that level of expertise when things go wrong. And you know they will.


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.

        The start of some sanity?