Question the BB Threads!

I've been using threads for the first time in the development of BB and I'm stuck with the error "pushModalScreen is called by a thread of non-event." In my code, I have a group of images that I try to view one after another with secons in period

WelcomeScreen is the class that implements the Thread class, he was pushed into the

pushScreen (new WelcomeScreen());

and it's the WelcomeScreen class code

import net.rim.device.api.system.Application;
import net.rim.device.api.system.PNGEncodedImage;
import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.Font;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.BitmapField;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.MainScreen;

public class WelcomeScreen extends MainScreen implements Runnable{
    BitmapField bitmap = new BitmapField(PNGEncodedImage.getEncodedImageResource("honda simbol.png").getBitmap());
    BitmapField bitmaps[];
    String images[]={"Home.jpg","Search.jpg"};
    private LabelField Title = new LabelField("\tWelcome to....\t") {
        protected void paint(Graphics graphics) {
            graphics.setColor(Color.LIGHTGREEN);
       Title.setFont(Title.getFont().derive(Font.ITALIC| Font.BOLD, 25));
             super.paint(graphics);
        }
    };
    HorizontalFieldManager manager = new HorizontalFieldManager();
    Thread t;

    public WelcomeScreen(){
    super(Manager.NO_VERTICAL_SCROLL|Manager.NO_HORIZONTAL_SCROLL);
        t=new Thread(this);
        t.start();

        manager.add(bitmap);
        manager.add(Title);
        setTitle(manager);
        }

    public void AddBitmap(BitmapField bitmapField) {
        add(bitmapField);

    }

    public void run() {
        UiApplication.getUiApplication().invokeAndWait(new Runnable() {

            public void run()
            {

            synchronized(Application.getEventLock())
            {
                UiApplication.getUiApplication().invokeLater(new Runnable(){
                    public void run(){
                for(int i=0;i

Please let me know my mistake in the execution of Threads!

Waiting for response...

concerning

Kiran

Hooo... If you want the image replaced... try this one:

public class WelcomeScreen extends MainScreen {
    private BitmapField bitmap;
    private BitmapField bitmaps[];
    private String images[] = {"Home.jpg","Search.jpg"};
    private LabelField Title;
    private HorizontalFieldManager manager;

    public WelcomeScreen() {
        super(Manager.NO_VERTICAL_SCROLL|Manager.NO_HORIZONTAL_SCROLL);
        bitmap = new BitmapField(PNGEncodedImage.getEncodedImageResource("honda simbol.png").getBitmap());
        Title = new LabelField("\tWelcome to....\t") {
            protected void paint(Graphics graphics) {
                graphics.setColor(Color.LIGHTGREEN);
                super.paint(graphics);
            }
        };
        Title.setFont(Title.getFont().derive(Font.ITALIC| Font.BOLD, 25));
        manager = new HorizontalFieldManager();

        manager.add(bitmap);
        manager.add(Title);
        setTitle(manager);
        add(new NullField(NON_FOCUSABLE));
    }

    protected void onDisplay() {
        loadImages();
        startAddImages();
        super.onDisplay();
    }

    private void loadImages() {
        bitmaps[] = new BitmapField[images.length];
        for(int i=0;i

hope this helped...

Tags: BlackBerry Developers

Similar Questions

  • Blocking the UI Thread

    Hi all

    I wrote a utility class to make sure that at some point there is at most a dialog box showed and avoid duplication (this can occur because the application is made of many threads and each one can need alert the user).

    This is the code:

    public class UserDialogUtils extends Thread implements SystemListener2 {
    
        private boolean isForeground = false, isBacklightOn = false;
        private final Object screenLock = new Object();
    
        private boolean newDialogRequestPresent = false, lastDialogClosed = true,
                lastDialogResultConsumed = true;
    
        private static UserDialogUtils instance = null;
    
        private UserDialog currentDialog = null;
    
        private UserDialogUtils() {
            super();
            isBacklightOn = Backlight.isEnabled();
            isForeground = Application.getApplication().isForeground();
        }
    
        public static synchronized UserDialogUtils getInstance() {
            if (instance == null || !instance.isAlive()) {
                if (instance != null) {
                    Application.getApplication().removeSystemListener(instance);
                }
                instance = new UserDialogUtils();
                Application.getApplication().addSystemListener(instance);
                instance.start();
            }
            return instance;
        }
    
        public synchronized void popupAlert(String msg) {
            while (!(!newDialogRequestPresent && lastDialogClosed && lastDialogResultConsumed)) {
                try {
                    wait();
                } catch (InterruptedException e) {
                }
            }
            currentDialog = new UserDialog(UserDialog.DIALOG_ALERT, msg, 0);
            newDialogRequestPresent = true;
            lastDialogResultConsumed = false;
            notifyAll();
    
            while (!(!newDialogRequestPresent && lastDialogClosed))
                try {
                    wait();
                } catch (InterruptedException e) {
                }
            // int res = currentDialog.res;
            lastDialogResultConsumed = true;
            notifyAll();
            return;
        }
    
        public synchronized boolean popupYesNo(String msg) {
            while (!(!newDialogRequestPresent && lastDialogClosed && lastDialogResultConsumed)) {
                try {
                    wait();
                } catch (InterruptedException e) {
                }
            }
            currentDialog = new UserDialog(UserDialog.DIALOG_YES_NO, msg, 0);
            newDialogRequestPresent = true;
            lastDialogResultConsumed = false;
            notifyAll();
    
            while (!(!newDialogRequestPresent && lastDialogClosed))
                try {
                    wait();
                } catch (InterruptedException e) {
                }
            int res = currentDialog.res;
            lastDialogResultConsumed = true;
            notifyAll();
            return res == Dialog.YES;
        }
                // Implements method from SystemListener2
        public void backlightStateChange(boolean on) {
            synchronized (screenLock) {
                isBacklightOn = on;
                screenLock.notifyAll();
            }
        }
            // Called by main UIapp when switching fgd/bkgd
        public void setForeground(boolean isForeground) {
            synchronized (screenLock) {
                this.isForeground = isForeground;
                screenLock.notifyAll();
            }
        }
    
        public void run() {
            while (true) {
                synchronized (instance) {
                    while (!(newDialogRequestPresent && lastDialogClosed)) {
                        try {
                            wait();
                        } catch (InterruptedException e) {
                        }
                    }
    
                    newDialogRequestPresent = false;
                    lastDialogClosed = false;
                    currentDialog.manage();
    
                    notifyAll();
                }
            }
        }
    
        public synchronized void dialogClosed(UserDialog closedDialog) {
            if (closedDialog == currentDialog) {
                lastDialogClosed = true;
                notifyAll();
            } else {
                // shouldn't ever happen
            }
        }
    
        private class UserDialog {
            public static final int DIALOG_STATUS_SHOW = 1;
            public static final int DIALOG_INFORM = 2;
            public static final int DIALOG_ALERT = 3;
            public static final int DIALOG_YES_NO = 4;
            public static final int DIALOG_OK_CANCEL = 5;
    
            private int type = 0;
            private String msg = null;
            private int millis = 0;
    
            private int res = 0;
    
            public UserDialog(int type, String msg, int millis) {
                super();
                this.type = type;
                this.msg = msg;
                this.millis = millis;
            }
    
            public void manage() {
                synchronized (screenLock) {
                    while (!(isBacklightOn && isForeground)) {
                        try {
                            screenLock.wait();
                        } catch (InterruptedException e) {
                        }
                    }
    
                    UiApplication.getUiApplication().invokeLater(new Runnable() {
                        public void run() {
                            switch (type) {
                            case DIALOG_STATUS_SHOW:
                                if (millis > 0)
                                    Status.show(msg, millis);
                                else
                                    Status.show(msg);
                                break;
                            case DIALOG_INFORM:
                                Dialog.inform(msg);
                                break;
                            case DIALOG_ALERT:
                                Dialog.alert(msg);
                                break;
                            case DIALOG_YES_NO:
                                res = Dialog.ask(Dialog.D_YES_NO, msg);
                                break;
                            case DIALOG_OK_CANCEL:
                                res = Dialog.ask(Dialog.D_OK_CANCEL, msg);
                                break;
                            default:
                                break;
                            }
                            dialogClosed(UserDialog.this);
                        }
                    });
    
                }
            }
    
        }
    
    }
    

    I can't understand how and why, but sometimes it can cause a blockage (I believe that the lock of the event).

    Essentially, in some cases, UIApplication will never call the executable content in the UserDialog instance manage() method.

    This means that, when it happens, the screen freezes as if it were before a popup methods (UserDialogUtils.getInstance () .popupAlert ("Please do not freeze")) was called.

    What Miss me?

    Thank you

    Luca

    I appreciated that the question you were worried but not specifically related to the UserDialogUtils code, but I thought there is no point in studying something depends on the UserDialogUtils until UserDialogUtils is processing properly.

    I could be missing something, but isn't sync it on methods prevents actually several Threads displaying dialog boxes at the same time?

    You only need the loop because manage() returns before the dialog box was dismissed.  And this happens because you use invokeLater and not invokeAndWait.  Your dialogs block the Thread event at some point, I'm not sure that your workaround (loop) here is really necessary.

    But to be honest, I haven't looked hard in the code.

    In any case, I have the answer to your problem I think.

    fieldChanged() is called on the event Thread.  If you hold the event walking till it ends.  Now in your treatment, that you never come back of popupAlert until something got the wire of the event, specifically the dialog box.  If you are in a bind.

    Short answer, do not call the methods in UserDialogUtils while holding the thread of events.

  • Application with the background thread

    IDE: Blackberry JDE Version 4.5.0.7

    Simulator: About us - Smartphone BlackBerry 2.9.0.52 Simulator

    Model: BlackBerry Curve 8310 smartphone

    Hi all

    I have an application that, after installation on the BlackBerry must be selected in the application menu only once and will run continuously until it is uninstalled from the device. Code looks like this: -.

    public final class app_name extends Application {   private BackGroundThread _thread;
    
       public static void main(String[] args) {        app_name app = new app_name();        app.enterEventDispatcher();    }
    
        public app_name() {        _thread = new BackGroundThread();         _thread.start();    }
    
        private class BackGroundThread extends Thread {
    
             public BackGroundThread() {            /***initialize parameters in constructor*****/        } 
    
             public void run() {             while(true) {             /*****do stuff using parameters*****/             sleep(10000);           }         }     }}
    

    This code works well. Now, I have to add a user interface that allows the user to change some of the parameters that are used in the thread.

    (1) as a first step, I have to change application to UiApplication to allow pushScreen to use. Since it's a subclass, I would have no problem with this law?

    (2) to get the UI goes, my plan was to declare another class (extends screen) within app_name. What is the right way to go?

    (3) parameters must be manipulated such that there is no risk of conflict of data didn't pack the thread class and the class screen try to access settings at the same time. So using the semaphore will be a good strategy?

    (4) any other questions I may be brought to face or is it better to do this quite differently? I wonder if the instance of the thread class will actually be run side-by-side in the user interface and if the user interface to stop smoking will actually affect the Backgorund thread anyway. It might be better to create a completely separate application for the bit of UI that can access this application settings, but I don't know how to do this.

    My apologies for the long post. Any help will be greatly appreciated.

    Hello

    PersistentObject is synchronized, so that it will not conflict data. You can search for "BlackBerry_Application_Developer_Guide_Volume_2" which has the details of the store persistent in the section "persistent data storage.

    Thank you.

  • Dial the two thread simultaneius http

    In my application I want a main (UI) Thread and two other thread that runs at the same time, now in both the wire I want HttpConnection appeal, so it is possible for both the thread do HttpCall?

    I want to know - is it possible?

    Because if one thread calls Http between another thread also do Http call connection so that it will give the error as "Stream already open" because the first thread was opened the stream and before the closing of the first stream son second thread will open the stream, so please help me on this...

    Thank you

    There is nothing on the Blackberry that will prevent both two threads made http URLs of connections to the same (or other) at the same time.

    So the answer to your question is 'Yes it is possible. "

    Ok?

  • Restart causes the 'system thread unhandled exception '.

    Freezes in Windows 8.  Restart causes the 'system thread unhandled exception '. Windows restores successfully to earlier restore point start, but the questions is recurring.

    3 crashes so far because the computer was purchased at the end of February, 2014.

    All 3 minidumps are available at:

    https://onedrive.live.com/redir?RESID=7B6D641161EAE33%211120

    This disturbs my work whenever I need to reactivate my license of office until I can get back to where I was.

    How can I avoid this problem happen again and still be able to fully use my computer?

    SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M (1000007e)
    It is a very common bugcheck.  Usually the PIN address of exception
    the driver/function that caused the problem.  Always note this address
    and the date of the picture link / driver that contains this address.
    Some common problems are the exception code 0 x 80000003.  This means a hard
    coded breakpoint or assertion was hit, but this system has been started
    / /NODEBUG.  It is not supposed to happen as developers should never have
    breakpoints coded hard in retail code, but...
    In this case, make sure a debugger must be connected and the
    system startup/DEBUG.  This will we will see why this breakpoint is
    happening.
    Arguments:
    Arg1: ffffffffc0000005, unhandled exception code
    Arg2: 0000000000000000, the address that the exception occurred at
    Arg3: fffff880031a2938, address of Exception report
    Arg4: fffff880031a2170, address of the context record

    USTOMER_CRASH_COUNT: 1

    DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT

    Nom_processus: System

    CURRENT_IRQL: 0

    Error_code: (NTSTATUS) 0xc0000005 - the instruction at 0 x % lx 08 referenced memory at 0 x % 08 lx. The

    memory could not be %s.

    EXCEPTION_PARAMETER1: 0000000000000008

    EXCEPTION_PARAMETER2: 0000000000000000

    WRITE_ADDRESS: GetPointerFromAddress: unable to read from fffff800d4fd3168
    Unable to get nt! MmPoolCodeStart
    Unable to get nt! MmPoolCodeEnd
    0000000000000000

    FOLLOWUP_IP:
    nvkflt + 37 c 2
    fffff880'03e187c2?              ???

    FAILED_INSTRUCTION_ADDRESS:
    + 37 c 2
    00000000'00000000?              ???

    STACK_TEXT:
    fffff880 '031a2b78 fffff880' 03e187c2: fffffa80'0d67d950 fffff880 '031a2e00 fffffa80' 0d67d950

    00000000'00230047: 0 x 0
    fffff880 '031a2b80 fffffa80' 0d67d950: fffff880 '031a2e00 fffffa80' 0d67d950 00000000'00230047

    00000000' 00000000: nvkflt + 0x37c2
    fffff880 '031a2b88 fffff880' 031a2e00: fffffa80'0d67d950 00000000'00230047 00000000'00000000

    00000000 00000001': 0xfffffa80'0d67d950
    fffff880 '031a2b90 fffffa80' 0d67d950: 00000000'00230047 00000000'00000000 00000000'00000001

    00000000' 00000000: 0xfffff880'031a2e00
    fffff880 '031a2b98 00000000' 00230047: 00000000'00000000 00000000'00000001 00000000'00000000

    fffff8a0'05c3b700: 0xfffffa80'0d67d950
    fffff880 '031a2ba0 00000000' 00000000: 00000000'00000001 00000000'00000000 fffff8a0'05c3b700

    fffff880'031a2c78: 0 x 230047

    nvkflt.sys

    Driver Description: Filter driver NVIDIA Graphics

    Driver update site: http://www.nvidia.com/Download/index.aspx

    Make sure all your display drivers are updated and if this does not work, uninstall and perform a clean installation.

    Guide on how to install the NVIDIA Windows 7/Windows Vista display driver (even in windows 8)

    http://NVIDIA.custhelp.com/app/answers/detail/A_ID/2900/~/guide-on-how-to-install-the-NVIDIA-display-driver-under-Windows-7%2Fwindows-Vista

    Good luck

  • Display background running on the UI threads

    Hello

    Sometimes I get the situation, that an action of the user needs time to perform. So I put this work to a task or Service.

    I want to inform the user, that its action is still ongoing. Just a simple ProgressIndicator.

    I know how to do it with a single task, but theoretically, there could be multiple tasks running, even some who were not triggered by the action of the user.

    So I want a similar thing as in Eclipse or IntelliJ: a 'background' control, which displays all running threads.

    Y at - it an easy way to do it, I mean from the perspective of Service/task/Thread, not the user interface.

    Do I need to record each scheduled thread that I start control, for example, when it is scheduled?

    Should I derive from task to make this logic?

    Is there a way to "look" all discussions?

    What is the best approach?

    My idea was to add each task to the control. And control of listening to the property running. When it is finished, it is removed from the list of observable controls.

    But what of the simple Threads, which can be started somewhere outside the Thread of the JavaFX Application?

    For the more general part of the question (of Threads that can be lit outside the Thread of the JavaFX Application):

    I've never worked with this part of the Thread API, but the Threads belong to the ThreadGroups. You can retrieve the group that belongs to a Thread with Thread.getThreadGroup (). ThreadGroups are hierarchical; each ThreadGroup except the top-level ThreadGroup has a ThreadGroup parent (ThreadGroup.getParent ()) and you can get references to all children with ThreadGroup.enumerate (ThreadGroup []) ThreadGroups. Wire also has a getState() method that returns an instance of the enum Thread.State.

    Of course, none of this is observable in the sense of JavaFX properties, so you should probably periodically this survey instead of being able to listen passively to state changes.

    For the easier part, a few ideas:

    I did something that is conceptually similar to what you're trying to do. I have a client-server application in which the data model communicates with a remote EJB service layer. All calls to the service layer are threaded. The model exposes an IntegerProperty represents the number of tasks that are pending (i.e. waiting to be executed or running). Most of the calls to the model to result in the creation of a task which the call() method runs on the remote service. The relevant parts of the model look like this:

    public class Model {
      private final ExecutorService executorService ;
      private final IntegerProperty pendingTasks ;
      // ...
      public Model() throws NamingException {
        // ...
      executorService = Executors.newSingleThreadExecutor() ;
      pendingTasks = new SimpleIntegerProperty(0);
    }
    
      private void addListenersToTask(final Task task) {
      task.stateProperty().addListener(new ChangeListener() {
      @Override
      public void changed(ObservableValue observable,
      State oldValue, State newValue) {
      State state = observable.getValue();
      if (state == State.SUCCEEDED) {
      decrementPendingTasks();
      task.stateProperty().removeListener(this);
      } else if (state == State.FAILED) {
    task.stateProperty().removeListener(this);
      try {
      context.close();
      } catch (NamingException exc) {
      System.out.println("Warning: could not close context");
      }
      status.set(ConnectionStatus.DISCONNECTED);
      }
      }
      });
      }
    
      private void scheduleTask(Task task) {
      addListenersToTask(task);
      incrementPendingTasks();
      executorService.submit(task);
      }
    
      private void decrementPendingTasks() {
      if (! Platform.isFxApplicationThread()) {
      throw new IllegalStateException("Must be on FX Application thread");
      }
      if (pendingTasks.get()<=0) {
      throw new IllegalStateException("Trying to decrement non-positive number of pending tasks");
      }
      pendingTasks.set(pendingTasks.get()-1);
      }
    
      private void incrementPendingTasks() {
      if (! Platform.isFxApplicationThread()) {
      throw new IllegalStateException("Must be on FX Application thread");
      }
      pendingTasks.set(pendingTasks.get()+1);
      }
    
      public int getNumberOfPendingTasks() {
      return pendingTasks.get() ;
      }
    
      public ReadOnlyIntegerProperty numberOfPendingTasksProperty() {
      return pendingTasks ;
      }
    
      // ...
    }
    

    All jobs are scheduled to run by calling the scheduleTask (...) method above, which increments the property pendingTasks, and adds a listener to decrement it when it is finished. The only way for tasks to fail in this application is whether the remote service goes down (the other exceptions are thrown by tasks), this is why I close the naming failure context, and there is currently no functionality to cancel tasks. The code will have to change to meet the cancellation or failure, if this isn't the case.

    Of course, you could do more than a simple counter here using similar techniques. For example, you could keep a ObservableList for the tasks, add a task to the list when it is submitted and remove it when it is finished. Then, you could provide this list to control which can display the status of each task.

    Another option could be to write a wrapper for ExecutorService that has implemented this feature, rather than to implement in your model. (I can elaborate a little if it is not clear, but I have not actually tried it myself). If you somehow exposed this wrapper ExecutorService to the entire application and used for all your threading (which he is called to leave FXApplication thread or not) then you could at least be aware of these threads and should be able to monitor their relatively easily. All threads that were not executed via your wrapper ExecutorService would still be difficult to control.

    Not sure how much help that is.

  • establish the level thread redirects on the site

    (Try a new thread and shape as my message seems to be drowned in the forum thread "we are to modernize the OTN Forums! This is the place for your questions and comments. "
    to Re: we are to modernize the OTN Forums!  This is the place for your questions and comments. )

    Salvation (Sonya Barry)

    Currently
    at https://wikis.oracle.com/display/Forums/OTN+Forums+Migration+and+Upgrade
    He said: "... we delayed the launch so that we can establish level thread redirects on the site...» »

    Does this mean that the URL behind the "Permlink" (green icon), currently on the top of each forum thread, will continue to work (redirect to the same information)?
    for example 11.1.2.4.0: Java version 1.6.0_24 not supported... it takes 1.6.0_35

    Thank you very much
    Jan Vervecken

    Yes. There was an internal policy on the limitation of the redirects that we reversed at the last minute before the launch. I am extremely pleased with the results.

    Sonya

  • messages between the main thread and the FX application thread

    I run a thread of the Application of FX for a main thread using Application.launch [described here: {: identifier of the thread = 2530636}]

    I try to have the application thread return information on the main thread, but Application.launch returns void. Is there an easy way to communicate between the main thread and the thread of the Application?

    So far, I googled and found:
    -MOM (Message Oriented Middleware)
    -Sockets

    Thoughts/ideas/examples are appreciated--especially examples ;)--now I try to use Sockets to show/hide the application and data transmission.

    What is the preferred method? Are there others that I did not find (gasp) via Google?

    Dave.

    Published by: cr0ck3t on April 30, 2013 21:04

    Published by: cr0ck3t on April 30, 2013 21:05

    Is there an easy way to get a reference to these objects to both the main thread and the thread of Application FX - called via Application.launch () since the main thread? Or what I need to use Sockets or MOM?

    Not much to do with the concurrent programming is what I would call easy. It looks easy - but it's not.
    You can do kind of what you're describing using Java concurrency constructs without using sockets or a package of Message Oriented Middleware (MOM).
    With the Java concurrency stuff you really implement your own form or MOM light.
    If you have quite an application is complex with many messages of comes and goes, then a sort of package for MOM such as the camel and ActiveMQ (http://camel.apache.org) is useful.
    ---------
    You can find a sample of the various interactions of thread with JavaFX here:
    https://gist.github.com/jewelsea/5500981 "Simulation of dwarf dragons using multiple threads to eat."
    Related code is just demo-ware to try different competitive access facilities and not necessarily a recommended strategy.
    If your curiosity, you can take a look and try to work out what it is, what it does and how it does.
    The main reason followed is that of a blocking queue:
    http://docs.Oracle.com/javase/6/docs/API/Java/util/concurrent/BlockingQueue.html
    ---------
    Note that once you call launch of the main thread, no subsequent statement in the main method will be different until the JavaFX application terminates. If you can't start from the main thread and communicate with the main thread JavaFX application. Instead, you need to spawn another thread (or a set of threads) for communication with the JavaFX application.
    ---------
    But really, in most cases, the best solution with the simultaneity is not care at all (or at least as little as possible). Write everything in JavaFX, use the animation of JavaFX framework to time related things and the simultaneity of JavaFX utilities for when you really need multiple interaction of wire.
    http://docs.Oracle.com/JavaFX/2/threads/jfxpub-threads.htm
    ----------
    For additional assistance, you may be better off describing exactly (i.e. really specific) what you're trying to make in a new question, perhaps with a solution of the sample in a http://sscce.org NBS

  • How can I get people to respond to my question the way that I ask him rather than how they think they should?

    How can I get people to respond to my question the way that I ask him rather than how they think they should?

    Nevermind

  • How to disable the functionality of the hyper-threading technology

    How to disable the functionality of the hyper-threading technology

    Hello

    I put t know what BIOS you have, but generally you can activate or deactivate this option in the BIOS.

  • Corresponding to the current thread BSD process name: fseventsd

    Got a new iMac that is causing me problems for a few weeks with crashing every 24 hours more or less at the same time (01:10 - 01-20 in the morning). Has made many controls, cleaned and repaired the disk removed third-party drivers like Toast or Avira: result is zero. I would be happy to receive any suggestions as to a solution.

    Modellname: iMac

    Modell-Identifizierung: iMac17, 1

    Prozessortyp: Intel Core i7

    Prozessorgeschwindigkeit: 4 GHz

    Number of processors: 1

    Gesamtanzahl der Kerné: 4

    (Pro Kern) Cache L2: 256 KB

    L3-Cache:                                       8 MB

    Memory: 32 GB

    Boot ROM Version: IM171.0105.B05

    SMC-Version (System): 2.34f2

    Serial number (System): DG * Q17

    Material-UUID: F6CE3130-683C-5FF5-A857-F5FFB1E5DE33

    Anonymous UUID: 8EA9D2FE-8E6E-C4D1-E2FF-192BE1AD40B0

    Fri Jan 1 01:09:32 2016

    Panic report *.

    Panic (4 CPU): Processor is not responding (this CPU did not recognize interruptions) TLB status: 0x0

    RAX: 0X00000000000002FF, RBX: 0XFFFFFF807244AA08 RCX: 0 X 0000000000000001, RDX: 0X00000000000034F8

    RER: 0XFFFFFF83BC2F36B8, RBP: 0XFFFFFF83BC2F3720, IHR: 0 X 0000000000000002 RDI: 0XFFFFFF807244AA0A

    R8: 0XFFFFFF8011CE0B78, R9: 0XFFFFFF8011CE0B78, R10: 0XFFFFFF8011CE0B78 R11: 0X000034F84CBFF8F4

    R12: 0XFFFFFF807244AA0A, R13: 0XFFFFFF8011C2CE90, R14: 0 X 0000000000000000, A15: 0 X 0000000000000001

    RFL: 0 X 0000000000000086, RIP: 0XFFFFFF80115C3D4C, CS: 0000000000000008, SS 0 X: 0 X 0000000000000010

    Backtrace (4 CPU), Frame: Return address

    0xffffff83af08af80: 0xffffff80115d08cf

    0xffffff83af08afd0: 0xffffff80115ef3f9

    0xffffff83bc2f3720: 0xffffff7f9502c821

    0xffffff83bc2f3950: 0xffffff7f95035d93

    0xffffff83bc2f39a0: 0xffffff8011727dac

    0xffffff83bc2f3a20: 0xffffff801171d50d

    0xffffff83bc2f3c10: 0xffffff8011715ad3

    0xffffff83bc2f3f30: 0xffffff801170aefa

    0xffffff83bc2f3f60: 0xffffff8011a29ac1

    0xffffff83bc2f3fb0: 0xffffff80115efa36

    Extensions of core in backtrace:

    com Apple.filesystems.afpfs (11.0) [0CD2CFC3-9E8A-3627-94FA-9BBAF7577FA4] @0xfffff f7f9500f000-> 0xffffff7f95062fff

    dependency: com.apple.security.SecureRemotePassword (1.0) [3E335294-B4F5-320 c-B431-A16D53C3EE 29]@0xffffff7f94ffd000

    Corresponding to the current thread BSD process name: fseventsd

    Mac OS version:

    15 C 50

    Kernel version:

    15.2.0 Darwin kernel version: Fri Nov 13 19:56:56 PST 2015; root:XNU-3248.20.55~2/RELEASE_X86_64

    Kernel UUID: 17EA3101-D2E4-31BF-BDA9-931F51049F93

    Slide kernel: 0 x 0000000011200000

    Text of core base: 0xffffff8011400000

    Text __HIB base: 0xffffff8011300000

    Name of system model: iMac17, 1 (Mac-B809C3757DA9BB8D)

    Availability of the system in nanoseconds: 58241635953938

    last load kext to 8021022451320: com.parallels.kext.vnic 11.1.2 32408 (addr 0xffffff7f950be000 size 32768)

    Finally unloaded kext to 8116132315148: com.apple.driver.AppleXsanScheme 3 (addr 0xffffff7f95063000 size 32768)

    kexts responsible:

    com Parallels.kext.vNIC 11.1.2 32408

    com.Parallels.kext.netbridge 11.1.2 32408

    com Parallels.kext.Hypervisor 11.1.2 32408

    com Parallels.kext.USBConnect 11.1.2 32408

    com Parallels.virtualhid 1.0.3 3

    com Parallels.Virtualsound 1.0.36 36

    com.promise.Driver.STEX 5.2.10

    com Apple.filesystems.smbfs 3.0.0

    com Apple.filesystems.afpfs 11.0

    com Apple.NKE.asp - tcp 8.0.0

    com.apple.driver.AppleTopCaseHIDEventDriver 86

    com.apple.driver.AppleHSBluetoothDriver 86

    com Apple.filesystems.autofs 3.0

    com.apple.driver.X86PlatformShim 1.0.0

    com.apple.driver.AGPM 110.20.21

    com.apple.driver.ApplePlatformEnabler 2.6.0d0

    com.apple.driver.AudioAUUC 1.70

    com.apple.driver.AppleOSXWatchdog 1

    com.apple.driver.AppleMikeyHIDDriver 124

    com.apple.driver.AppleMikeyDriver 272.51.3

    com.apple.driver.AppleGraphicsDevicePolicy 3.7.7

    com.apple.driver.AppleHDA 272.51.3

    com.apple.driver.AppleUpstreamUserClient 3.6.1

    com Apple.Driver.pmtelemetry 1

    com.apple.iokit.IOUserEthernet 1.0.1

    com.apple.kext.AMDFramebuffer 1.4.0

    com.apple.driver.AppleIntelSKLGraphics 10.1.2

    com.apple.iokit.IOBluetoothSerialManager 4.4.3f4

    com.apple.driver.AppleSMCLMU 208

    com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 4.4.3f4

    com.apple.AMDRadeonX4000 1.4.0

    com.apple.Dont_Steal_Mac_OS_X 7.0.0

    com.apple.driver.AppleHV 1

    com.apple.driver.AppleIntelPCHPMC 1.0

    com.apple.driver.AppleMCCSControl 1.2.13

    com.apple.kext.AMD9000Controller 1.4.0

    com.apple.driver.AppleIntelSKLGraphicsFramebuffer 10.1.2

    com.apple.driver.AppleIntelSlowAdaptiveClocking 4.0.0

    com.apple.driver.AppleThunderboltIP 3.0.8

    com.apple.driver.AppleThunderboltUTDM 3.0.0

    com.apple.iokit.SCSITaskUserClient 3.7.7

    com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1

    com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0

    com.apple.BootCache 38

    com.apple.driver.AppleUSBODD 3.7.1

    2.8.5 com.apple.iokit.IOAHCIBlockStorage

    com.apple.iokit.AppleIntelI210Ethernet 2.2.1b3

    com.apple.driver.AppleSDXC 1.7.0

    com.apple.iokit.AppleBCM5701Ethernet 10.1.12

    com.apple.driver.AirPort.Brcm4360 1020.17.1a1

    com.apple.driver.AppleAHCIPort 3.1.8

    com.apple.driver.AppleHPET 1.8

    com.apple.driver.AppleRTC 2.0

    com.apple.driver.AppleACPIButtons 4.0

    com.apple.driver.AppleSMBIOS 2.1

    com.apple.driver.AppleACPIEC 4.0

    com.apple.driver.AppleAPIC 1.7

    com Apple.NKE.applicationfirewall 163

    com Apple.Security.Quarantine 3

    com.apple.security.TMSafetyNet 8

    com.apple.security.SecureRemotePassword 1.0

    com.apple.driver.AppleHIDKeyboard 181

    com.apple.driver.AppleMultitouchDriver 304.10

    com.apple.driver.AppleHIDTransport 5

    com.apple.driver.IOBluetoothHIDDriver 4.4.3f4

    com Apple.kext.Triggers 1.0

    com.apple.driver.DspFuncLib 272.51.3

    com.apple.kext.OSvKernDSPLib 525

    com.apple.iokit.IOSurface 108.0.1

    com.apple.iokit.IOSerialFamily 11

    com.apple.iokit.IOBluetoothHostControllerUSBTransport 4.4.3f4

    com.apple.driver.AppleGraphicsControl 3.12.6

    com.apple.driver.X86PlatformPlugin 1.0.0

    com.apple.iokit.IOBluetoothFamily 4.4.3f4

    com.apple.driver.CoreCaptureResponder 1

    com.apple.driver.IOPlatformPluginFamily 6.0.0d7

    com.apple.driver.AppleHDAController 272.51.3

    com.apple.iokit.IOHDAFamily 272.51.3

    com.apple.iokit.IONDRVSupport 2.4.1

    com.apple.driver.AppleSMBusController 1.0.14d1

    com.apple.driver.AppleSMC 3.1.9

    com.apple.kext.AMDSupport 1.4.0

    com.apple.AppleGraphicsDeviceControl 3.12.6

    com.apple.iokit.IOAcceleratorFamily2 203.14

    com.apple.iokit.IOGraphicsFamily 2.4.1

    com.apple.iokit.IOSlowAdaptiveClockingFamily 1.0.0

    com.apple.driver.AppleSMBusPCI 1.0.14d1

    com.apple.driver.AppleThunderboltEDMSink 4.1.1

    com.apple.driver.AppleThunderboltDPInAdapter 4.1.3

    com.apple.driver.AppleThunderboltDPOutAdapter 4.1.3

    com.apple.driver.AppleThunderboltDPAdapterFamily 4.1.3

    com.apple.driver.AppleThunderboltPCIUpAdapter 2.0.2

    com.apple.driver.AppleThunderboltPCIDownAdapter 2.0.2

    com.apple.driver.usb.IOUSBHostHIDDevice 1.0.1

    com.apple.driver.AppleUSBAudio 302.15

    com.apple.iokit.IOAudioFamily 204.3

    com.apple.vecLib.kext 1.2.0

    com.apple.driver.CoreStorage 517.20.1

    com.apple.driver.usb.AppleUSBHub 1.0.1

    com.apple.iokit.IOSCSIMultimediaCommandsDevice 3.7.7

    com.apple.iokit.IOBDStorageFamily 1.8

    com.apple.iokit.IODVDStorageFamily 1.8

    com.apple.iokit.IOCDStorageFamily 1.8

    com.apple.iokit.IOSCSIBlockCommandsDevice 3.7.7

    com.apple.iokit.IOUSBMassStorageDriver 1.0.0

    com.apple.driver.usb.AppleUSBHostCompositeDevice 1.0.1

    com.apple.iokit.IOSCSIParallelFamily 3.0.0

    com.apple.iokit.IOSCSIArchitectureModelFamily 3.7.7

    com.apple.driver.AppleThunderboltNHI 4.0.4

    com.apple.iokit.IOThunderboltFamily 5.1.0

    com.apple.iokit.IOEthernetAVBController 1.0.3b3

    com.apple.iokit.IO80211Family 1110.26

    com.apple.driver.mDNSOffloadUserClient 1.0.1b8

    com.apple.iokit.IONetworkingFamily 3.2

    com Apple.Driver.corecapture 1.0.4

    com.apple.driver.AppleUSBMergeNub 900.4.1

    com.apple.iokit.IOAHCIFamily 2.8.1

    com.apple.driver.usb.AppleUSBXHCIPCI 1.0.1

    com.apple.driver.usb.AppleUSBXHCI 1.0.1

    com.apple.iokit.IOUSBFamily 900.4.1

    com.apple.iokit.IOUSBHostFamily 1.0.1

    com.apple.driver.AppleUSBHostMergeProperties 1.0.1

    com.apple.driver.AppleEFINVRAM 2.0

    com.apple.driver.AppleEFIRuntime 2.0

    com.apple.iokit.IOHIDFamily 2.0.0

    com.apple.iokit.IOSMBusFamily 1.1

    com Apple.Security.sandbox 300.0

    com.apple.kext.AppleMatch 1.0.0d1

    com.apple.driver.AppleKeyStore 2

    com.apple.driver.AppleMobileFileIntegrity 1.0.5

    com.apple.driver.AppleCredentialManager 1.0

    com.apple.driver.DiskImages 417.1

    com.apple.iokit.IOStorageFamily 2.1

    com.apple.iokit.IOReportFamily 31

    com.apple.driver.AppleFDEKeyStore 28.30

    com.apple.driver.AppleACPIPlatform 4.0

    com.apple.iokit.IOPCIFamily 2.9

    com.apple.iokit.IOACPIFamily 1.4

    com.apple.kec.Libm 1

    com Apple.KEC.pthread 1

    com Apple.KEC.corecrypto 1.0

    Panic (CPU 6): Processor is not responding (this CPU did not recognize interruptions) TLB status: 0x0

    RAX: 0X00000000000002FF, RBX: 0XFFFFFF807244AA08 RCX: 0 X 0000000000000001, RDX: 0X00000000000034F8

    RER: 0XFFFFFF803AD5B6B8, RBP: 0XFFFFFF803AD5B720, IHR: 0 X 0000000000000002 RDI: 0XFFFFFF807244AA0A

    R8: 0X000000000098923D, R9: 0XFFFFFF80515FD8C8, R10: 0 X 0000000000000000, R11: 0X000034F84CC02E70

    R12: 0XFFFFFF807244AA0A, R13: 0XFFFFFF8011C2CE90, R14: 0XFFFFFF807244AA0A R15: 0 X 0000000000000001

    RFL: 0 X 0000000000000086, RIP: 0XFFFFFF80115C3D3D, CS: 0000000000000008, SS 0 X: 0 X 0000000000000010

    Backtrace (CPU 6), frame: return address

    0xffffff83af0a9f80: 0xffffff80115d08cf

    0xffffff83af0a9fd0: 0xffffff80115ef3f9

    0xffffff803ad5b720: 0xffffff7f9502c815

    0xffffff803ad5b950: 0xffffff7f95035d93

    0xffffff803ad5b9a0: 0xffffff8011727dac

    0xffffff803ad5ba20: 0xffffff801171d50d

    0xffffff803ad5bc10: 0xffffff8011715ad3

    0xffffff803ad5bf30: 0xffffff801170aefa

    0xffffff803ad5bf60: 0xffffff8011a29ac1

    0xffffff803ad5bfb0: 0xffffff80115efa36

    Extensions of core in backtrace:

    com Apple.filesystems.afpfs (11.0) [0CD2CFC3-9E8A-3627-94FA-9BBAF7577FA4] @0xfffff f7f9500f000-> 0xffffff7f95062fff

    dependency: com.apple.security.SecureRemotePassword (1.0) [3E335294-B4F5-320 c-B431-A16D53C3EE 29]@0xffffff7f94ffd000

    Corresponding to the current thread BSD process name: fseventsd

    panic (the appellant 2 cpu 0xffffff80115b01fa): "TLB invalidation IPI timeout:" "CPU has not responded to interruptions, on which the bitmap of the CPU: 0 x 50, accused of receiving NMIPI: orig: 0x0, now: 0x2"@/Library/Caches/com.apple.xbs/Sources/xnu/xnu-3248.20.55/osfmk/x86_64/pmap .c:2594 ' "."

    Backtrace (2 CPU), Frame: Return address

    0xffffff803ada3360: 0xffffff80114de792

    0xffffff803ada33e0: 0xffffff80115b01fa

    0xffffff803ada3480: 0xffffff80115b705b

    0xffffff803ada3570: 0xffffff80115b7d86

    0xffffff803ada35e0: 0xffffff8011563da5

    0xffffff803ada36f0: 0xffffff801155934c

    0xffffff803ada3720: 0xffffff8011554813

    0xffffff803ada3750: 0xffffff80114e814d

    0xffffff803ada3770: 0xffffff7f9503791c

    0xffffff803ada3d20: 0xffffff801170cd32

    0xffffff803ada3de0: 0xffffff80117188bc

    0xffffff803ada3f30: 0xffffff801170d187

    0xffffff803ada3f60: 0xffffff8011a29ac1

    0xffffff803ada3fb0: 0xffffff80115efa36

    Extensions of core in backtrace:

    com Apple.filesystems.afpfs (11.0) [0CD2CFC3-9E8A-3627-94FA-9BBAF7577FA4] @0xfffff f7f9500f000-> 0xffffff7f95062fff

    dependency: com.apple.security.SecureRemotePassword (1.0) [3E335294-B4F5-320 c-B431-A16D53C3EE 29]@0xffffff7f94ffd000

    Corresponding to the current thread BSD process name: find

    System profile:

    Graphics card: AMD Radeon M395X, AMD Radeon M395X, PCIe, 4096 MB R9 R9

    Airport: spairport_wireless_card_type_airport_extreme (0x14E4, 0x14A), Broadcom BCM43xx 1.0 (7.21.94.136.1a1)

    Bluetooth: Version 4.4.3f4 16616, 3 services, 27 aircraft, 1 incoming serial ports

    PCI card: pci105a, 8760, controller RAID, Thunderbolt@10,0,0

    PCI card: pci1b73, Thunderbolt@196,0,0 1100, USB eXtensible Host Controller.

    PCI card: ethernet, Ethernet Controller, Thunderbolt@195,0,0

    PCI card: pci1b21, 1142, expandable USB Host Controller, Thunderbolt@16,0,0

    PCI card: pci1b21, 1142, expandable USB Host Controller, Thunderbolt@15,0,0

    PCI card: pci1b21, 1142, expandable USB Host Controller, Thunderbolt@14,0,0

    PCI card: pci1b21, 1142, expandable USB Host Controller, Thunderbolt@13,0,0

    Bus crush: iMac, Apple Inc., 28.1

    Lightning device: Pegasus series R, Promise Technology, Inc., 1: 22.2

    Lightning device: Thunderbolt 2 Express Dock HD, Belkin International, Inc., 3, 25.1

    Memory module: DIMM0/0, 8 GB DDR3, BANK 1867 MHz, 0x80AD, 0x484D54343147533642465238412D52442020

    Memory module: DIMM1/0, 8 GB DDR3, BANK 1867 MHz, 0x80AD, 0x484D54343147533642465238412D52442020

    Memory module: DIMM0/1, 8 GB DDR3, BANK 1867 MHz, 0x80AD, 0x484D54343147533642465238412D52442020

    Memory module: BANK 1/DIMM1, 8 GB, DDR3, 1867 MHz, 0x80AD, 0x484D54343147533642465238412D52442020

    USB device: USB 3.0 Bus

    USB device: 4-port USB 3.0 Hub

    USB Device: USB Bluetooth host controller

    USB device: FaceTime HD camera (built-in)

    USB device: Apple USB SuperDrive

    USB device: USB 2.0 Hub

    USB device: MB86C311

    USB device: Laptop SSD

    USB device: USB 2.0 Hub [MTT]

    USB device: Wacom Wireless Receiver

    USB device: USB 3.0 Bus

    USB device: SSD laptop T1

    USB device: DTHX Predator

    USB device: USB audio CODEC

    USB device: USB 3.0 Bus

    USB device: WorkflowD512

    USB device: USB 3.0 Bus

    USB device: WorkflowD512

    USB device: USB 3.0 Bus

    USB device: WorkflowXR1

    USB device: USB 3.0 Bus

    USB device: WorkflowCFR1

    Serial ATA Device: APPLE SSD SM1024G, 1 TB

    Network service: Wi - Fi, AirPort, en1

    Model: iMac17, 1, IM171.0105.B05 of BootROM, 4 processors, Intel Core i7 4 GHz, 32 GB, MSC 2.34f2

    Even if you have installed a third-party software ('Parallels' and a 'Promise' device driver) who is likely to cause a kernel panic, the kind of panic you are most likely caused by a hardware failure. I suggest that you take the machine to an Apple Retail Store or other provider of services allowed for a stable service and guaranteed, if necessary.

  • The call of a Subvi without stopping the execution of the main thread

    Hello everyone, I have a rather simple demonstration VI, which opens a menu where the user can call a few screws, signal generation, reading and analysis, each contained in a Subvi and with their own front panel and chart controls. The idea is user just click a button and the required Subvi is in charge, I use a structure of the event to ease.

    Problem is, after I opened an option, said Subvi hogs the thread of execution and does not allow for new bodies until it is closed (this is inside a while loop it is so logical, I guess), the queue of events and the next before Panel charges only after that I have stop the Subvi. I would like to be able to simply open the front panels and let them run in parallel, without them in the meantime another at the end, is it possible?

    natasftw is right.

    A high school is a "hole" in your main panel.  You "insert" a separate VI in this 'hole' and then you see the Panel of VI inserted through the hole and mouse clicks through the hole of the Subvi below.

    You will need to run the Subvi separately, even if - by inserting just can't run.

    Aynchronous call will begin a Subvi running and then return to the calling thread with the Subvi running in parallel.

    You can then insert the Subvi in a secondary, or let it have its own window, as you choose.

    There are examples of both techniques.

  • Error in the new thread should terminate execution

    Hello

    I have a labview VI (continuous while loop), getting initialized in the subsequence of Initialize section of the main sequence and running in the new thread. An error in the execution of this loop will stop execution of VI, pass the error to Teststand and out the thread. I need to put an end to the execution of the main sequence, when the error event in the new thread (passing initialization). Is it possible to do? I'm getting the popup of error Standard Teststand, when the error event, but when I choose to cancel/Abort, the execution of the main sequence doesn't stop and continues. What is the right way to handle errors for threads running in parallel?

    Thank you best regards &,.

    Juvin Ronny

    Some approaches.

    1) wait on the new thread periodically with a wait with a timeout step zero and "timeout causes error" box unchecked. If the thread is finished and has an error, the step of waiting spread the main thread of the error.

    (2) call the Execution.Terminate () or Execution.Abort () of cleaning up your sequence newthread.

    Hope this helps,

    -Doug

  • complete execution while the background thread runs

    After the passage of TestStand 4.1 in 2012, I see an interesting problem.

    I start a MainSequence via the SinglePass execution entry point using the parallel model. In ProcessSetup (in the execution of N), I start a background thread that performs certain tasks for viewing. Then the model passes by "Initialize TestSockets" and starts my MainSequence (in year N + 1).

    While the MainSequence is running, run N hangs in ParallelModel.seq > Single Pass, step "Wait for TestSockets", as it should. Usually, when the MainSequence is over, puts an end to execution and execution N goes to the next step "Check to terminate" and some time later, it passes through ProcessCleanup - where I'd send my background thread notification to stop.

    It works as long as I do not start the background thread. But when this thread is running, the execution of N + 1 never leaves the MainSequence. I arrive at a breakpoint at the end of MainSequence, ahead, and then all executions are happily showing a green light and continue to operate on. So running N never leaves "Waiting for TestSockets" and never reaches ProcessCleanup, so my son does not receive the signal of endpoint etc.

    But I distinctly remember that it worked in TestStand 4.1, and anyway, I don't understand this. Why, a background, started in the execution of N, thread prevents the execution of N + 1 to terminate?

    Concerning

    Peter

    "When execution starts a sequence in a new thread (not waiting for the thread to finish at the end of the sequence), should take care at the end of his MainSequence wire in order to put an end to herself in order for execution to terminate?"

    What do you mean by terminate? Process templates are not normally completed executions. Do you mean, "all discussions in an execution must complete before the end of the execution?"? If so, then the answer is Yes.

    I'm not completely your explanations above. I'm not sure what you mean by signs, but I think you're misunderstanding what terminate means in TestStand. Termination occurs only when a user explicitly requests a run to finish (e.g. finish all) or your sequence has an action to complete or by program initiates a terminate. Without endpoint explicit that past, executions normally end when all threads are finished executing. If you are spawning runs and new threads, you must come up with a mechanism to let them know when they have to leave. I do NOT recommend relying on or using termination for this. Termination is as abandoned (but with a cleaning), it is not intended to be something that happens in the normal flow of execution. There are several ways to tell your worker when all discussions. Perhaps this posting you are referring to is a way. You can also use a notification teststand step, or a Boolean value in reference parameter.

    Hope this helps to clear things up,

    -Doug

  • Passing parameters to VI in the new thread

    I have a vi constantly running in the main thread of SeqCont.seq. In this vi is a stop button to stop the execution of the vi. How one passes a reference to this stop button, so I can stop this vi of the main.seq?

    I tried to pass the sequencecontext, but a change in the value of the context is not constantly being rated by this vi.

    Why did you delete it! You need a teststand variable to communicate between Teststand and LabVIEW VI to tell the loop to close and therefore complete the VI.

Maybe you are looking for