Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8165662

Security exception with signed code: class's signer information does not match signer information of other classes

XMLWordPrintable

    • x86_64
    • windows_7

      FULL PRODUCT VERSION :
      Java Web Start 11.91.2.15
      Using JRE version
       1.8.0_91-b15 Java HotSpot(TM) Client VM


      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 6.1.7601]

      A DESCRIPTION OF THE PROBLEM :
      Between 8u77 and 8u91, our application -- both applet and webstart variants -- began encountering the following exception during basic swing UI operations, leaving the UI un-rendered and unusable:

      Exception in thread "AWT-EventQueue-2" java.lang.SecurityException: class "org.jdesktop.swingx.painter.Painters"'s signer information does not match signer information of other classes in the same package
      at java.lang.ClassLoader.checkCerts(Unknown Source)
      at java.lang.ClassLoader.preDefineClass(Unknown Source)
      at java.lang.ClassLoader.defineClass(Unknown Source)
      at java.security.SecureClassLoader.defineClass(Unknown Source)
      at java.net.URLClassLoader.defineClass(Unknown Source)
      at java.net.URLClassLoader.access$100(Unknown Source)
      at java.net.URLClassLoader$1.run(Unknown Source)
      at java.net.URLClassLoader$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(Unknown Source)
      at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at com.sun.jnlp.JNLPClassLoader.loadClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at org.jdesktop.swingx.prompt.PromptSupport.getBackgroundPainter(PromptSupport.java:269)
      at org.jdesktop.swingx.plaf.PromptTextUI.getPromptComponent(PromptTextUI.java:232)
      at org.jdesktop.swingx.plaf.PromptTextFieldUI.getPromptComponent(PromptTextFieldUI.java:39)
      at org.jdesktop.swingx.plaf.PromptTextUI.paintPromptComponent(PromptTextUI.java:288)
      at org.jdesktop.swingx.plaf.PromptTextUI.paint(PromptTextUI.java:281)
      at org.jdesktop.swingx.plaf.BuddyTextFieldUI.paint(BuddyTextFieldUI.java:38)
      at javax.swing.plaf.ComponentUI.update(Unknown Source)
      at org.jdesktop.swingx.plaf.PromptTextUI.update(PromptTextUI.java:314)
      at javax.swing.JComponent.paintComponent(Unknown Source)
      at cl.ui.widgets.WebEqTextField.paintComponent(WebEqTextField.java:159)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at org.jdesktop.swingx.JXPanel.paint(JXPanel.java:580)
      at cl.ui.tutorable.widgets.TutorableWidgetImpl.paint(TutorableWidgetImpl.java:1531)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at org.jdesktop.swingx.JXPanel.paint(JXPanel.java:580)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JLayeredPane.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at org.jdesktop.swingx.JXPanel.paint(JXPanel.java:580)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JViewport.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at org.jdesktop.swingx.JXMultiSplitPane.paintChildren(JXMultiSplitPane.java:325)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at org.jdesktop.swingx.JXPanel.paint(JXPanel.java:580)
      at javax.swing.JComponent.paintToOffscreen(Unknown Source)
      at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
      at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
      at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
      at javax.swing.RepaintManager.paint(Unknown Source)
      at javax.swing.JComponent._paintImmediately(Unknown Source)
      at javax.swing.JComponent.paintImmediately(Unknown Source)
      at javax.swing.RepaintManager$4.run(Unknown Source)
      at javax.swing.RepaintManager$4.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
      at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
      at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
      at javax.swing.RepaintManager.access$1200(Unknown Source)
      at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
      at java.awt.event.InvocationEvent.dispatch(Unknown Source)
      at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
      at java.awt.EventQueue.access$500(Unknown Source)
      at java.awt.EventQueue$3.run(Unknown Source)
      at java.awt.EventQueue$3.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      at java.awt.EventQueue.dispatchEvent(Unknown Source)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.run(Unknown Source)

      REGRESSION. Last worked in version 8u77

      ADDITIONAL REGRESSION INFORMATION:
      Java Web Start 11.91.2.15
      Using JRE version
       1.8.0_91-b15 Java HotSpot(TM) Client VM


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. visit http://online.carnegielearning.com
      2. enter the following credentials:
        a. school id: host-114b
        b. username: host-114-b
        c. password: host114b
      3. to reproduce in the applet version
        a. click the "MATHia Software" button
        b. accept any browser / java security prompts
        c. click "start working: module 1" at the top of the window
        d. click "start problems" at the top of the window
        e. observe the security exception in the console and the partially painted UI
      4. to reproduce in the webstart version
        a. click the "MATHia LITE Software" button
        b. accept the java webstart security prompt
        c. click the "Go To Problems >" link in the upper-right corner
        e. observe the security exception in the console and the partially painted UI

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      No security exceptions in the console, UI should paint fully.
      ACTUAL -
      See security exception above.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Log started: Tue, 6 Sep 2016 15:17:08 -0400
      Java Web Start 11.91.2.15
      Using JRE version
       1.8.0_91-b15 Java HotSpot(TM) Client VM
      JnlpPropertyHelper.copyProperties: stripping prefix: jnlp.apple.laf.useScreenMenuBar=true
      JnlpPropertyHelper.copyProperties: stripping prefix: jnlp.NextMessageDelay=3000
      JnlpPropertyHelper.copyProperties: stripping prefix: jnlp.bin_path=./
      JnlpPropertyHelper.copyProperties: stripping prefix: jnlp.is_web_start=true
      JnlpPropertyHelper.copyProperties: stripping prefix: jnlp.ALLOW_REMOTE_ACCESS=true
      JnlpPropertyHelper.copyProperties: stripping prefix: jnlp.launcherPort=dynamic
      JnlpPropertyHelper.copyProperties: stripping prefix: jnlp.com.apple.mrj.application.growbox.intrudes=true
      JnlpPropertyHelper.copyProperties: stripping prefix: jnlp.dontReadLauncherConfig=true
      JnlpPropertyHelper.copyProperties: stripping prefix: jnlp.allowedLoginAttempts=3
      WebstartArgumentCopier.toSystemProperties: BackToLessonText=Lesson
      WebstartArgumentCopier.toSystemProperties: BackToTOCText=Home
      WebstartArgumentCopier.toSystemProperties: USE_HTTP_TUNNEL=true
      WebstartArgumentCopier.toSystemProperties: USE_GZIP_COMPRESSION=true
      WebstartArgumentCopier.toSystemProperties: USE_SSL=false
      WebstartArgumentCopier.toSystemProperties: CL_BaseUrl=http://2013.carnegielearning.com/2013.07.40/java/
      WebstartArgumentCopier.toSystemProperties: CL_BaseUrlLesson=http://2013.carnegielearning.com/2013.07.40/ws_lesson/
      WebstartArgumentCopier.toSystemProperties: CL_BaseUrlProblem=http://2013.carnegielearning.com/2013.07.40/initial_state/
      WebstartArgumentCopier.toSystemProperties: CL_CTWebHelpBase=http://cogtutor.carnegielearning.com/2013.07.40/java/CTHelp/
      WebstartArgumentCopier.toSystemProperties: CL_TTWebHelpBase=http://cogtutor.carnegielearning.com/2013.07.40/java/TTHelp/
      WebstartArgumentCopier.toSystemProperties: CL_WebGlossaryBase=http://cogtutor.carnegielearning.com/2013.07.40/java/Glossary/
      WebstartArgumentCopier.toSystemProperties: LOGROOT=SYSOUT
      WebstartArgumentCopier.toSystemProperties: lmsHost=2015.lms.carnegielearning.com
      WebstartArgumentCopier.toSystemProperties: lmsPort=80
      WebstartArgumentCopier.toSystemProperties: encrToken=H4sIAAAAAAAAAAHpBBb7rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB+AAFMAAlwYXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB+AAJ4cHVyAAJbQqzzF/gGCFTgAgAAeHAAAAAPMA0ECG3rPNjeq1Z3AgEKdXEAfgAEAAAECINlPPvdqdObEHC8VNjXj7fTwbpNzfU/1ktWvkjOTnjo3GnoQi6m07N2z3p/7assXCBcoLG3UMnxj7p8aFSccGX9kIHmjJcBV73SaKAmXXWJm75Fuoko1gdTYW13u0dr+7rxdV+ozIob2oywh4BuH/c1A8Df6gUfazo3JUsJxH08Q8XUZtlvXj4xmUPGgrt8Zle3OauyDKpF6yexiCmC/2CTKEYSbsykksY/QAcSON8ZAEth4zn43Gsw3t1tS5JY7k7CwQY8h7YinquOPhu3Yg0ag+Mci7paQUvlomH1ILISq8cp4Izbnb2IvDb3kA08kICLUdRfxL7Yz1LgYM24AoIKTiaraNYMiYLbfeisZ3sBZkHXakddHcx4PLpeZgfhUCEqhItLMZfi7p+2EiY1Eh1oNPGRtHYnvJLCUafRPENZi9tIJypwg2aAsKSIsIfKi/1iUfOrGEHS0A8JPBH9D4rlpEWaFHJ6KFlJ14dHV3P0iuhAyVcvl9ksH0wBM9MxJhlwC5M5x69IWwF9nxKlEE/Tz8lj+2s/e2IXiibjV7A4Qi8DkXDDO9sYjaulVlLTlzg1S+xJ/8tDeVjuwWd6enahoURCfLuK+BCI+KptaAIZqVFD581G+UIUZ1uxWE2R7p4sAWdKRYkQOtxKK47e2OPhTLo4iCZJ7oY9zhb28CSH2DZDkuFtCTxRx+C4R2Ab/1VPahshkg4ngeiPbfNO2Il4yGf3sQMSu0XSEoV1hSon5ljsh3zaJy61hqUrz0R2MkQ1v0oMYgVQDKsCbLwlc9ytykvonLOwo5BXn/Vn8/iFGaqRpvbHudJboSIZOX3OC047lROexu1BYVN0cNQFxz5bxwk1y8l48Ztn0df/6giJb5/60mZBf72WUcDI7VgRQfr4hXBfN23Y35bmt7t3lpP/Dj6oHuQem6P1c2Ss9glyPm0CFW51t3ERXBc4+Y4BgvF8zmsweTVuTqobj9Tzp1Q9RFYKEvDTBsNF1cGLk4XB7dWTOrf/0t7yObVyjsDf5MgmjTI1UK4RJhOmRkDlX84ENjYeVrDozdivK9CYy1YkYtcydvIYse7qstR9rRzXcH3s4LWifl0+UKCGFC7uCLYlxiD0lLbb7DIbqu/u9UJ55+n3TXdxclvOX/TDjIo+79QQlUxJAyYaewZJrZ5Y4ZaZIXQ1w0VYQVZzSmp8uCW5WrFchoC82D9Pnnis8j21Gi4KhkA/8DgCr2PuxzRsqsY9HKGSqYgzpoAZbnhotTny8m1+6czRXoGbibqva2X9om854Uq2gUqh6bEoThsHc/WiK8HzrtRome3YcZ6sU4LkfO/1qTHe2VxMaowQWaaxcG3zDjYaSjFJFMPahxG/UpJ7q8TpZ2P4qXQAEFBCRVdpdGhNRDVBbmRERVN0ABBQQkVXaXRoTUQ1QW5kREVTvVdd6+kEAAA=
      WebstartArgumentCopier.toSystemProperties: AUTH_API_URI=http://2013.carnegielearning.com//auth_api
      WebstartArgumentCopier.toSystemProperties: LOGIN_URI=null
      WebstartArgumentCopier.toSystemProperties: Class_ID=cl_5402344e-b9f4-48d4-bbbb-f50331bd5aef
      WebstartArgumentCopier.toSystemProperties: skipping argument that does not contain at least one '=': *
      WebstartArgumentCopier.toSystemProperties: skipping argument that does not contain at least one '=': *
      WebstartArgumentCopier.toSystemProperties: skipping argument that does not contain at least one '=': *
      WebstartArgumentCopier.toSystemProperties: skipping argument that does not contain at least one '=': *
      WebstartArgumentCopier.toSystemProperties: skipping argument that does not contain at least one '=': *
      WebstartArgumentCopier.toSystemProperties: skipping argument that does not contain at least one '=': *
      Attempting to install Webstart ClassLoader workaround
      Safe version detected; aborting workaround
      [15:17:11] =====================================================================
      [15:17:11] Language: en_US
      [15:17:11] =====================================================================
      [15:17:12] [Settings] - using LF = com.sun.java.swing.plaf.windows.WindowsLookAndFeel
      [15:17:12] Settings: custom preferences file color.properties not found; using built-in defaults
      [15:17:12] Settings: loaded preferences as resource: color.properties
      [15:17:12] ========== Settings : initialize font fonts ===============
      [15:17:12] hard-coded base font size 10
      [15:17:12] base font size specified in properties file : 12
      [15:17:12] update status bar : Loading launcher configuration file...
      [15:17:12] LoginTokenHandler.run: authApiUri: http://2013.carnegielearning.com//auth_api
      [15:17:12] LoginTokenHandler.run: encrToken: H4sIAAAAAAAAAAHpBBb7rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB+AAFMAAlwYXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB+AAJ4cHVyAAJbQqzzF/gGCFTgAgAAeHAAAAAPMA0ECG3rPNjeq1Z3AgEKdXEAfgAEAAAECINlPPvdqdObEHC8VNjXj7fTwbpNzfU/1ktWvkjOTnjo3GnoQi6m07N2z3p/7assXCBcoLG3UMnxj7p8aFSccGX9kIHmjJcBV7
      [15:17:12] Setting system property: AUTO_LOGIN_NAME = 31455899-a959-4675-961e-bdad4e82910a [old value: null]
      [15:17:12] Setting system property: schoolID = stapfas8c [old value: null]
      [15:17:12] Setting system property: CL_ImageBase = C:\Program Files (x86)\Java\jre1.8.0_91 [old value: null]
      [15:17:12] is_web_start is true
      [15:17:12] Java Version : 1.8.0_91
      [15:17:12] os name : Windows 7
      [15:17:12] os arch : x86
      [15:17:12] os version : 6.1
      [15:17:12] VM version : 25.91-b15
      [15:17:12] VM name (PID) : 3444@mmchenry-7vm
      [15:17:12] Screen size : java.awt.Dimension[width=1920,height=1080]
      [15:17:12] Memory : total : 259588096 free : 212050800
      [15:17:12] java.compiler : null
      [15:17:12] Temp dir : C:\Users\mmchenry.CLI\AppData\Local\Temp\
      [15:17:12] User dir : C:\Program Files (x86)\Java\jre1.8.0_91
      [15:17:12] User home : C:\Users\mmchenry.CLI
      [15:17:12] Settings.isMac = false
      [15:17:12] Settings.isOSX = false
      [15:17:12] Settings.isWin = true
      [15:17:12] IP Address : 10.0.2.15
      [15:17:12] Hostname : mmchenry-7vm.carnegielearning.com
      [15:17:12] USE HTTP : true
      [15:17:12] USE GZIP COMPRESSION : true
      [15:17:12] USE SSL : false
      [15:17:12] ***NOT*** starting Launcher Monitor
      [15:17:12] update status bar : Creating the LMS client...
      [15:17:12] lms properties: host = '2015.lms.carnegielearning.com' port = '80'
      [15:17:12] update status bar : Verifying LMS host and port
      [15:17:12] LMS_Client.setAuthToken: H4sIAAAAAAAAAIVSQWsTQRR+2SY1Vak2SFsPFgrx5mZNm9SEoGDSCtFFxKR4CBRmdyfJ1MnOOjsJWaUlJ0FQBA9S8SKeeuhv8AfUg1RvSsGDJ8GTBz06u5uYDQjuZfa9+d573/u+OfgBCZfDokkzFuHYFIx7mRrmPczr7D62IfhuLysAfQ7zE7AAUO04NMBMe3sKzNyEk7jvEI4EYbYOp03kIINQIgh2BSzqJtVM1ukwW6tEbko6JJqEu0JASt9GPaRRZLe0muDEbpUaEG8jty1AaZR1iFPkigewC1OyiLIWsYdBnDOKBZyNzLgrM7J30jXbjNHq+gjZ7RIr+O87PvV7H95qbrhdWJiJkgslgCcKxGQrk9kC20IucyZk2hWEajUsSn1H9rjo5zJ+LlNhlEqlpA5uetPuMIs0CTIoltjBhRdHz18PNkNVL/2/Zpw/X4bB+61fSwGbmClgPkJjDAvZpMedN+xuR05OS28JouRhYNAdzvpe4sSnL7364ZECig6nMMUduV/dc6SWcxEzKlJ3V3qRHCKkAnONyL0/QE7tcVj+t47pv4E3lBRSwf6zAUu/ScAyeul0+WjKGFDaf/ZdXf2o7fny+QYqu76ZKQGJG9f1em0UKZW6TBnMMDzZRj6eg58Lv6eT9a+junOfX775tqS+qu4srJf2jWP1qnHtloCpbSZ3jxvymHwV/nNK10TXkus/LZONw51H70ILZydBPv3YyvHjYJCAGVcgp4ncgrQrvZrN5fOFYlFFxXxRza1dyavFtSxWDQtZOVxYKWYvoz9S6rzglgMAAA==
      [15:17:12] update status bar : Checking client versions...
      [15:17:13] ---------------------------------------------------
      [15:17:13] Client sending message of length 1142
      [15:17:13] <LMS:Message type="CheckApplicationVersion" auth="..." ><LMS:Platform id="WIN" /><LMS:ClientData schoolId="stapfas8c" java.version="1.8.0_91" directory="jre1.8.0_91" screen_resolution="96" os.version="6.1" version="2013.07.46" remote_access="true" screen_size="W=1920,H=1080" client_time="Tue Sep 06 15:17:12 EDT 2016" /></LMS:Message>
      [15:17:13] Reading server response...
      [15:17:13] <LMS:Response type="CheckApplicationVersion" error_status="LMS_OK" ></LMS:Response>
      [15:17:13] update status bar : Loading school information
      [15:17:13] ---------------------------------------------------
      [15:17:13] Client sending message of length 902
      [15:17:13] <LMS:Message type="GetSchoolPreferences" auth="..." ><LMS:School id="stapfas8c" /></LMS:Message>
      [15:17:13] Reading server response...
      [15:17:13] <LMS:Response type="GetSchoolPreferences" error_status="LMS_OK" ><LMS:SchoolPreferences id="stapfas8c" ><LMS:AttValue attribute="DoSessionLimits" value="true" /><LMS:AttValue attribute="CustomCurriculumPrivileges" value="true" /><LMS:AttValue attribute="Access Lesson PDFs" value="false" /><LMS:AttValue attribute="Launch Virtualized Desktop Environment" value="true" /><LMS:AttValue attribute="Langu
      [15:17:13] *********************************************************************
      [15:17:13] INSTRUCTOR PASSWORD POLICY:
      [15:17:13] null
      [15:17:13] ---------------------------------------------------------------------
      [15:17:13] STUDENT PASSWORD POLICY:
      [15:17:13] null
      [15:17:13] *********************************************************************
      [15:17:13] LMS_Client.setAuthToken: H4sIAAAAAAAAAIVSQWsTQRR+2SY1Vak2SFsPFgrx5mZNm9SEoGDSCtFFxKR4CBRmdyfJ1MnOOjsJWaUlJ0FQBA9S8SKeeuhv8AfUg1RvSsGDJ8GTBz06u5uYDQjuZfa9+d573/u+OfgBCZfDokkzFuHYFIx7mRrmPczr7D62IfhuLysAfQ7zE7AAUO04NMBMe3sKzNyEk7jvEI4EYbYOp03kIINQIgh2BSzqJtVM1ukwW6tEbko6JJqEu0JASt9GPaRRZLe0muDEbpUaEG8jty1AaZR1iFPkigewC1OyiLIWsYdBnDOKBZyNzLgrM7J30jXbjNHq+gjZ7RIr+O87PvV7H95qbrhdWJiJkgslgCcKxGQrk9kC20IucyZk2hWEajUsSn1H9rjo5zJ+LlNhlEqlpA5uetPuMIs0CTIoltjBhRdHz18PNkNVL/2/Zpw/X4bB+61fSwGbmClgPkJjDAvZpMedN+xuR05OS28JouRhYNAdzvpe4sSnL7364ZECig6nMMUduV/dc6SWcxEzKlJ3V3qRHCKkAnONyL0/QE7tcVj+t47pv4E3lBRSwf6zAUu/ScAyeul0+WjKGFDaf/ZdXf2o7fny+QYqu76ZKQGJG9f1em0UKZW6TBnMMDzZRj6eg58Lv6eT9a+junOfX775tqS+qu4srJf2jWP1qnHtloCpbSZ3jxvymHwV/nNK10TXkus/LZONw51H70ILZydBPv3YyvHjYJCAGVcgp4ncgrQrvZrN5fOFYlFFxXxRza1dyavFtSxWDQtZOVxYKWYvoz9S6rzglgMAAA==
      [15:17:13] StartTutor.processSchoolPreferences()
      [15:17:13] Not overriding system property [LOGROOT = SYSOUT] with new value: DISABLED
      [15:17:13] Setting system property: DoSessionLimits = true [old value: null]
      [15:17:13] Setting system property: CustomCurriculumPrivileges = true [old value: null]
      [15:17:13] Setting system property: Access Lesson PDFs = false [old value: null]
      [15:17:13] Setting system property: Launch Virtualized Desktop Environment = true [old value: null]
      [15:17:13] Setting system property: LanguageOptions = en,es [old value: null]
      [15:17:13] Setting system property: LockStudentData = false [old value: null]
      [15:17:13] Setting system property: LOGFLAGS = [old value: null]
      [15:17:13] Setting system property: CollectTTProtocols = false [old value: null]
      [15:17:13] Setting system property: AllowStudentRepairOfData = true [old value: null]
      [15:17:13] Setting system property: DisableGuidedExamples = false [old value: null]
      [15:17:13] Setting system property: CheckInstructorPrivilege = true [old value: null]
      [15:17:13] Setting system property: SkillAdjustmentFile = narrow [old value: null]
      [15:17:13] Setting system property: RequireStudentPasswords = true [old value: null]
      [15:17:13] Setting system property: CollectResearchProtocols = false [old value: null]
      [15:17:13] Setting system property: BlockNewStudents = false [old value: null]
      [15:17:13] Setting system property: PreTestGroup = P_INITIAL [old value: null]
      [15:17:13] Setting system property: ApplicationIdleTime = 30 [old value: null]
      [15:17:13] Setting system property: ProtocolBufferSize = [old value: null]
      [15:17:13] Setting system property: Custom Curriculum Privileges = true [old value: null]
      [15:17:13] Not overriding system property [LOGROOT = SYSOUT] with new value: DISABLED
      [15:17:13] Setting system property: LiveTutor = false [old value: null]
      [15:17:13] update status bar : Prompt for login...
      [15:17:13] Auto-login = '31455899-a959-4675-961e-bdad4e82910a'
      [15:17:13] ---------------------------------------------------
      [15:17:13] Client sending message of length 1042
      [15:17:13] <LMS:Message type="LoginStudent" auth="..." ><LMS:School id="stapfas8c" /><LMS:Student login="31455899-a959-4675-961e-bdad4e82910a" check_student_locks="false" /><LMS:Class id="cl_5402344e-b9f4-48d4-bbbb-f50331bd5aef" /></LMS:Message>
      [15:17:13] Reading server response...
      [15:17:13] <LMS:Response type="LoginStudent" error_status="LMS_OK" ><LMS:Student id="31455899-a959-4675-961e-bdad4e82910a" first_name="bobby" last_name="joe" status="PasswordOK" sessid="4auxahzc"
      /><LMS:Curriculum id="algebra i" name="Algebra I" status="ACTIVE" user_assistance="A1Help" login="true"
      /><LMS:GetStuPos><LMS:Unit id="cta1_08" name="Linear Models and Slope-Intercept Graphs A" lesson_file="cta1_0

      -----------------------------------------------
      [15:17:13] CHECKING PASSWORD EXPRIATION: passwords_required? true
      [15:17:13] InfrastructureFactoryImpl.getSessionDataManager: falling back to default implementation
      [15:17:13] InfrastructureFactoryImpl.getStudentSession: falling back to default implementation
      [15:17:13] ---------------------------------------------------
      [15:17:13] Client sending message of length 1055
      [15:17:13] <LMS:Message type="GetCurrentProblemState" auth="..." ><LMS:School id="stapfas8c" /><LMS:Student id="31455899-a959-4675-961e-bdad4e82910a" /><LMS:Class id="cl_5402344e-b9f4-48d4-bbbb-f50331bd5aef" /><LMS:Curriculum id="algebra i" /></LMS:Message>
      [15:17:13] Reading server response...
      [15:17:13] <LMS:Response type="GetCurrentProblemState" error_status="LMS_OK" ><LMS:Unit id="cta1_08" name="Linear Models and Slope-Intercept Graphs A" lesson_file="cta1_08" /><LMS:Section id="cta1_08-2" name="Graphing Given an Integer Slope and Y-intercept" done_count="1" /><LMS:ProblemStatus id="JAN01" name="jan01" ><LMS:ProblemState><![CDATA[SE/1.2&VERB=S:4:DONE&MESSAGENUMBER=I:2:54&OBJECT=O:1:S:6:OBJECT,S
      [15:17:13] ---------------------------------------------------
      [15:17:13] Client sending message of length 932
      [15:17:13] <LMS:Message type="GetCurriculumComponents" auth="..." ><LMS:Curriculum id="algebra i" structure_only="false" /></LMS:Message>
      [15:17:13] Reading server response...
      [15:17:13] <LMS:Response type="GetCurriculumComponents" error_status="LMS_OK" ><LMS:Curriculum id="algebra i" publish_state="CORE" ><LMS:Unit id="cta1_01" name="Linear Patterns" is_test_unit="false" lesson_file="cta1_01" ><LMS:Section id="cta1_01-2" name="Finding Linear Patterns with Positive Rates of Change" problem_count="-1" skill_count="7"
      /><LMS:Section id="cta1_01-3" name="Finding Linear Patterns with
      [15:17:13] Application idle time : 30 minutes
      [15:17:13] Started StudentSession in its own thread group...
      [15:17:13] StudentSessionImpl.startTransitioning: on thread StudentSession Thread [0]; session 95c3b1
      [15:17:13] setting skincl.ui.settings.looks.BruiserLookAndFeel in normal mode
      [15:17:16] Added UI lock type 'LockOnNewProblem'; locking UI
      [15:17:16] ---------------------------------------------------
      [15:17:16] Client sending message of length 1064
      [15:17:16] <LMS:Message type="GetStudentSectionData" auth="..." ><LMS:School id="stapfas8c" /><LMS:Student id="31455899-a959-4675-961e-bdad4e82910a" login="true" /><LMS:Curriculum id="algebra i" /><LMS:Unit id="cta1_08" /><LMS:Section id="cta1_08-2" /></LMS:Message>
      [15:17:16] Reading server response...
      [15:17:16] <LMS:Response type="GetStudentSectionData" error_status="LMS_OK" ><LMS:Section id="cta1_08-2" ><LMS:SectionExecution problem_session_factory="cl.launcher.DefaultProblemSessionFactory" /><LMS:GuidedExample id="ldemo_mbgrph" display_name="LDEMO_MBGRPH" /><LMS:SectionSkill skill_id="setting the y-intercept-1" skill_name="Setting the y-intercept." initial_p_known="0.25" p_learn="0.2" p_guess="0.2" p_s
      [15:17:16] >>> ResearchProtocolImpl.activateProtocolCollection(false) COLLECT_PROTOCOL is false
      [15:17:16] ---------------------------------------------------
      [15:17:16] Client sending message of length 1049
      [15:17:16] <LMS:Message type="GetStudentSkills" auth="..." ><LMS:School id="stapfas8c" /><LMS:Student id="31455899-a959-4675-961e-bdad4e82910a" /><LMS:Class id="cl_5402344e-b9f4-48d4-bbbb-f50331bd5aef" /><LMS:Curriculum id="algebra i" /></LMS:Message>
      [15:17:16] Reading server response...
      [15:17:16] <LMS:Response type="GetStudentSkills" error_status="LMS_OK" ><LMS:StudentSkill skill_id="setting the y-intercept-1" skill_name="Setting the y-intercept." p_know="0.23200001"
      /><LMS:StudentSkill skill_id="setting the slope-1" skill_name="Setting the slope." p_know="0.25"
      /><LMS:StudentSkill skill_id="entering the slope-1" skill_name="Entering the slope." p_know="0.5"
      /><LMS:StudentSkill skill_id
      [15:17:16] Tutor type: WORKSHEET tre_id: WORKSHEET
      [15:17:16] incoming ->TOOL : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: <root> (TutorManager)]; props: [StringMap: {statustext=Setting up Worksheet}]]
      [15:17:17] Tutor.start() :class cl.tutors.tre.TRETutor
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: <root> (TutorManager)]; object_type: WORKSHEET; props: [StringMap: {smparserallowmixednumbers=true, layout_region=2, formularowpos=Top, isspreadsheet=true, smparserrepresente=variable, toolisrequired=true, layout_template=3, layout_tab=1, subtype=, rowstyleclasses=,,, rowtypes=label,unit,expression, messaging_names=R1C1,R1
      [15:17:17] [ToolManagerAdapter.create] - invoked with objectType = [WORKSHEET], prop = [[StringMap: {smparserallowmixednumbers=true, layout_region=2, formularowpos=Top, isspreadsheet=true, smparserrepresente=variable, toolisrequired=true, layout_template=3, layout_tab=1, subtype=, rowstyleclasses=,,, rowtypes=label,unit,expression, messaging_names=R1C1,R1C2,R2C1,R2C2,R3C1,R3C2, rowlabels=Quantity Name,Unit,E
      [15:17:17] Tutor type: GRAPHER tre_id: GRAPHER
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: <root> (TutorManager)]; props: [StringMap: {statustext=Setting up Grapher}]]
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:17] Tutor.start() :class cl.tutors.tre.GenericGrapherTutor
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: <root> (TutorManager)]; object_type: GRAPHER; props: [StringMap: {layout_region=3, initialbounds=-5,5,-5,5,1,1, toolisrequired=true, layout_template=3, layout_tab=1, subtype=Basic Slope Intercept, y-interval=Y Interval, x-interval=X Interval, draw-line=Draw Line, point=Point, plot-point=Plot Point, treid=GRAPHER, name=Grap
      [15:17:17] [ToolManagerAdapter.create] - invoked with objectType = [GRAPHER], prop = [[StringMap: {layout_region=3, initialbounds=-5,5,-5,5,1,1, toolisrequired=true, layout_template=3, layout_tab=1, subtype=Basic Slope Intercept, y-interval=Y Interval, x-interval=X Interval, draw-line=Draw Line, point=Point, plot-point=Plot Point, treid=GRAPHER, name=Grapher, toolclassname=cl.ui.tools.tutorable.GrapherTool,
      [15:17:17] Tutor type: Scenario tre_id: Scenario
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: <root> (TutorManager)]; props: [StringMap: {statustext=Setting up Scenario}]]
      [15:17:17] Scenario : anchor_names = *Start*
      [15:17:17] Scenario : anchorValue = <span class=introduction>Posters cost $5 a piece with a shipping and handling charge of $10 per order.</span><BR><span class=questionBlock></span><BR><span class=conclusion>To write an expression, define a variable for the number of posters and use this variable to find a rule for the total cost of an order.</span><BR>
      [15:17:17] Tutor.start() :class cl.tutors.tre.scenario.ScenarioTutor
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: <root> (TutorManager)]; object_type: Scenario; props: [StringMap: {layout_region=1, layout_template=3, layout_tab=1, subtype=, treid=Scenario, name=Scenario, toolclassname=cl.ui.tools.tutorable.DefaultScenarioTool, goalnodes=[], problemstatement=<span class=introduction>Posters cost $5 a piece with a shipping and handling
      [15:17:17] [ToolManagerAdapter.create] - invoked with objectType = [Scenario], prop = [[StringMap: {layout_region=1, layout_template=3, layout_tab=1, subtype=, treid=Scenario, name=Scenario, toolclassname=cl.ui.tools.tutorable.DefaultScenarioTool, goalnodes=[], problemstatement=<span class=introduction>Posters cost $5 a piece with a shipping and handling charge of $10 per order.</span><BR><span class=questio
      [15:17:17] Tutor type: Skillometer tre_id: Skillometer
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: <root> (TutorManager)]; props: [StringMap: {statustext=Setting up Skillometer}]]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: <root> (TutorManager)]; object_type: Skillometer; props: [StringMap: {treid=Skillometer, name=Skillometer, toolclassname=cl.ui.tools.tutorable.skillometer.Skillometer}]]
      [15:17:17] [ToolManagerAdapter.create] - invoked with objectType = [Skillometer], prop = [[StringMap: {treid=Skillometer, name=Skillometer, toolclassname=cl.ui.tools.tutorable.skillometer.Skillometer}]]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Setting the y-intercept., value=0.23200001}]]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Setting the slope., value=0.25}]]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Entering the slope., value=0.5}]]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Entering the y-intercept., value=0.5}]]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Writing expression, any form., value=0.5}]]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Identify unit., value=0.1}]]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Working with integer slope and intercept., value=0.5}]]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: xunit in grapher in <root> (TutorManager)]; props: [StringMap: {isvisible=False}]]
      [15:17:17] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {isvisible=False}]] of destination [xunit]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: xunit in grapher in <root> (TutorManager)]; props: [StringMap: {isvisible=False}]]
      [15:17:17] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {isvisible=False}]] of destination [xunit]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: yunit in grapher in <root> (TutorManager)]; props: [StringMap: {isvisible=False}]]
      [15:17:17] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {isvisible=False}]] of destination [yunit]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: yunit in grapher in <root> (TutorManager)]; props: [StringMap: {isvisible=False}]]
      [15:17:17] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {isvisible=False}]] of destination [yunit]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: r3c1 in worksheet in <root> (TutorManager)]; props: [StringMap: {isenabled=False}]]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: r2c1 in worksheet in <root> (TutorManager)]; props: [StringMap: {isenabled=False}]]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: r3c2 in worksheet in <root> (TutorManager)]; props: [StringMap: {isenabled=False}]]
      [15:17:17] incoming ->TOOL : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: r2c2 in worksheet in <root> (TutorManager)]; props: [StringMap: {isenabled=False}]]
      [15:17:17] TutorManager [class cl.tutors.tre.TRETutorManager]
      [15:17:17] | GRAPHER [class cl.tutors.tre.GenericGrapherTutor]
      [15:17:17] | | GraphPixelHeight [class cl.tutors.tre.GoalNode]
      [15:17:17] | | GraphPixelWidth [class cl.tutors.tre.GoalNode]
      [15:17:17] | | Series1AddCurve [class cl.tutors.tre.GoalNode]
      [15:17:17] | | Series1InterceptPoint [class cl.tutors.tre.GoalNode]
      [15:17:17] | | Series1Slope [class cl.tutors.tre.GoalNode]
      [15:17:17] | | Series1SlopePoint [class cl.tutors.tre.GoalNode]
      [15:17:17] | | Series1YIntercept [class cl.tutors.tre.GoalNode]
      [15:17:17] | | XLabel [class cl.tutors.tre.GoalNode]
      [15:17:17] | | xMax [class cl.tutors.tre.GoalNode]
      [15:17:17] | | xMin [class cl.tutors.tre.GoalNode]
      [15:17:17] | | xScale [class cl.tutors.tre.GoalNode]
      [15:17:17] | | XUnit [class cl.tutors.tre.GoalNode]
      [15:17:17] | | YLabel [class cl.tutors.tre.GoalNode]
      [15:17:17] | | yMax [class cl.tutors.tre.GoalNode]
      [15:17:17] | | yMin [class cl.tutors.tre.GoalNode]
      [15:17:17] | | yScale [class cl.tutors.tre.GoalNode]
      [15:17:17] | | YUnit [class cl.tutors.tre.GoalNode]
      [15:17:17] | Scenario [class cl.tutors.tre.scenario.ScenarioTutor]
      [15:17:17] | Skillometer [class cl.tutors.SkillsManager]
      [15:17:17] | WORKSHEET [class cl.tutors.tre.TRETutor]
      [15:17:17] | | R1C1 [class cl.tutors.tre.GoalNode]
      [15:17:17] | | R1C2 [class cl.tutors.tre.GoalNode]
      [15:17:17] | | R2C1 [class cl.tutors.tre.GoalNode]
      [15:17:17] | | R2C2 [class cl.tutors.tre.GoalNode]
      [15:17:17] | | R3C1 [class cl.tutors.tre.GoalNode]
      [15:17:17] | | R3C2 [class cl.tutors.tre.GoalNode]
      [15:17:17] ToolManager [class com.sun.proxy.$Proxy11]
      [15:17:17] | GRAPHER [class cl.ui.tools.tutorable.GrapherTool]
      [15:17:17] | | GraphPixelHeight [class cl.ui.modules.grapher.BoundedGridPanel$GraphPixelHeightGoalNode]
      [15:17:17] | | GraphPixelWidth [class cl.ui.modules.grapher.BoundedGridPanel$GraphPixelWidthGoalNode]
      [15:17:17] | | Series1InterceptPoint [class cl.ui.modules.grapher.graphcomponent.TutorableMovablePoint]
      [15:17:17] | | Series1Label [class cl.ui.modules.grapher.GrapherSeries$2]
      [15:17:17] | | Series1Slope [class cl.ui.tutorable.widgets.TutorableTextField]
      [15:17:17] | | Series1SlopePoint [class cl.ui.modules.grapher.graphcomponent.TutorableMovablePoint]
      [15:17:17] | | Series1YIntercept [class cl.ui.tutorable.widgets.TutorableTextField]
      [15:17:17] | | xBoundsLabel [class cl.ui.tutorable.widgets.AddressableLabel]
      [15:17:17] | | XLabel [class cl.ui.tutorable.widgets.TutorableTextField]
      [15:17:17] | | xMax [class cl.ui.tutorable.widgets.TutorableBoundTextField]
      [15:17:17] | | xMin [class cl.ui.tutorable.widgets.TutorableBoundTextField]
      [15:17:17] | | xScale [class cl.ui.tutorable.widgets.TutorableBoundTextField]
      [15:17:17] | | XUnit [class cl.ui.tutorable.widgets.TutorableTextField]
      [15:17:17] | | yBoundsLabel [class cl.ui.tutorable.widgets.AddressableLabel]
      [15:17:17] | | YLabel [class cl.ui.tutorable.widgets.TutorableTextField]
      [15:17:17] | | yMax [class cl.ui.tutorable.widgets.TutorableBoundTextField]
      [15:17:17] | | yMin [class cl.ui.tutorable.widgets.TutorableBoundTextField]
      [15:17:17] | | yScale [class cl.ui.tutorable.widgets.TutorableBoundTextField]
      [15:17:17] | | YUnit [class cl.ui.tutorable.widgets.TutorableTextField]
      [15:17:17] | Scenario [class cl.ui.tools.tutorable.DefaultScenarioTool]
      [15:17:17] | Skillometer [class cl.ui.tools.tutorable.skillometer.Skillometer]
      [15:17:17] | | Entering the slope. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:17] | | Entering the y-intercept. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:17] | | Identify unit. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:17] | | Setting the slope. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:17] | | Setting the y-intercept. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:17] | | Working with integer slope and intercept. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:17] | | Writing expression, any form. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:17] | WORKSHEET [class cl.ui.tools.tutorable.WordProblemWorksheetTool]
      [15:17:17] | | R1C1 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:17] | | R1C2 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:17] | | R2C1 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:17] | | R2C2 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:17] | | R3C1 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:17] | | R3C2 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:17] | | worksheet_cell_name_totally_unlikely_to_cause_collision-R0C0 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:17] | | worksheet_cell_name_totally_unlikely_to_cause_collision-R1C0 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:17] | | worksheet_cell_name_totally_unlikely_to_cause_collision-R2C0 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:17] [TRETutorManager: [WORKSHEET: [GNL __THE_PATH__:-R1C1, -R1C2, -R2C1, -R2C2, -R3C1, -R3C2]], [GRAPHER: [GNL __THE_PATH__:-YLabel, ?YUnit, -XLabel, ?XUnit, -yMax, -yMin, -yScale, -xMin, -xMax, -xScale, -Series1InterceptPoint, -Series1SlopePoint, ?GraphPixelHeight, ?GraphPixelWidth, -Series1AddCurve, -Series1YIntercept, -Series1Slope]], [Scenario: [GNL __THE_PATH__:]]; not done]
      [15:17:17] >>> ResearchProtocolImpl.activateProtocolCollection(false) COLLECT_PROTOCOL is false
      [15:17:18] Tutor type: WORKSHEET tre_id: WORKSHEET
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: <root> (TutorManager)]; props: [StringMap: {statustext=Setting up Worksheet}]]
      [15:17:18] Tutor.start() :class cl.tutors.tre.TRETutor
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: <root> (TutorManager)]; object_type: WORKSHEET; props: [StringMap: {smparserallowmixednumbers=true, layout_region=2, formularowpos=Top, isspreadsheet=true, smparserrepresente=variable, toolisrequired=true, layout_template=3, layout_tab=1, subtype=, rowstyleclasses=,,, rowtypes=label,unit,expression, messaging_names=R1C1
      [15:17:18] [GuidedExampleToolManagerAdapter.create] - invoked with objectType = [WORKSHEET], prop = [[StringMap: {smparserallowmixednumbers=true, layout_region=2, formularowpos=Top, isspreadsheet=true, smparserrepresente=variable, toolisrequired=true, layout_template=3, layout_tab=1, subtype=, rowstyleclasses=,,, rowtypes=label,unit,expression, messaging_names=R1C1,R1C2,R2C1,R2C2,R3C1,R3C2, rowlabels=Quantit
      [15:17:18] Tutor type: GRAPHER tre_id: GRAPHER
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: <root> (TutorManager)]; props: [StringMap: {statustext=Setting up Grapher}]]
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] DEPRECATED: checktype 25 OldPointCheckType
      [15:17:18] Tutor.start() :class cl.tutors.tre.GenericGrapherTutor
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: <root> (TutorManager)]; object_type: GRAPHER; props: [StringMap: {layout_region=3, initialbounds=-5,5,-5,5,1,1, toolisrequired=true, layout_template=3, layout_tab=1, subtype=Basic Slope Intercept, y-interval=Y Interval, x-interval=X Interval, draw-line=Draw Line, point=Point, plot-point=Plot Point, treid=GRAPHER, name=G
      [15:17:18] [GuidedExampleToolManagerAdapter.create] - invoked with objectType = [GRAPHER], prop = [[StringMap: {layout_region=3, initialbounds=-5,5,-5,5,1,1, toolisrequired=true, layout_template=3, layout_tab=1, subtype=Basic Slope Intercept, y-interval=Y Interval, x-interval=X Interval, draw-line=Draw Line, point=Point, plot-point=Plot Point, treid=GRAPHER, name=Grapher, toolclassname=cl.ui.tools.tutorable.
      [15:17:18] Tutor type: Scenario tre_id: Scenario
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: <root> (TutorManager)]; props: [StringMap: {statustext=Setting up Scenario}]]
      [15:17:18] Scenario : anchor_names = *Start*
      [15:17:18] Scenario : anchorValue = <span class=introduction>Mario has scored 20 points and has been scoring at the rate of 2.5 points per each additional game. Assume that he continues to score at this same rate.</span><BR><span class=questionBlock></span><BR><span class=conclusion>To write an expression, define a variable for the number of additional games Mario plays and use this variable to write a rule
      [15:17:18] Tutor.start() :class cl.tutors.tre.scenario.ScenarioTutor
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: <root> (TutorManager)]; object_type: Scenario; props: [StringMap: {layout_region=1, layout_template=3, layout_tab=1, subtype=, treid=Scenario, name=Scenario, toolclassname=cl.ui.tools.tutorable.DefaultScenarioTool, goalnodes=[], problemstatement=<span class=introduction>Mario has scored 20 points and has been scoring at
      [15:17:18] [GuidedExampleToolManagerAdapter.create] - invoked with objectType = [Scenario], prop = [[StringMap: {layout_region=1, layout_template=3, layout_tab=1, subtype=, treid=Scenario, name=Scenario, toolclassname=cl.ui.tools.tutorable.DefaultScenarioTool, goalnodes=[], problemstatement=<span class=introduction>Mario has scored 20 points and has been scoring at the rate of 2.5 points per each additional
      [15:17:18] Tutor type: Skillometer tre_id: Skillometer
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: <root> (TutorManager)]; props: [StringMap: {statustext=Setting up Skillometer}]]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: <root> (TutorManager)]; object_type: Skillometer; props: [StringMap: {treid=Skillometer, name=Skillometer, toolclassname=cl.ui.tools.tutorable.skillometer.Skillometer}]]
      [15:17:18] [GuidedExampleToolManagerAdapter.create] - invoked with objectType = [Skillometer], prop = [[StringMap: {treid=Skillometer, name=Skillometer, toolclassname=cl.ui.tools.tutorable.skillometer.Skillometer, guidedexample=true}]]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Setting the y-intercept., value=0.23200001}]]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Setting the slope., value=0.25}]]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Entering the slope., value=0.5}]]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Entering the y-intercept., value=0.5}]]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Writing expression, any form., value=0.5}]]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Identify unit., value=0.1}]]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: CREATE]; [MessagingAddress: skillometer in <root> (TutorManager)]; object_type: skill; props: [StringMap: {name=Working with integer slope and intercept., value=0.5}]]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: xunit in grapher in <root> (TutorManager)]; props: [StringMap: {isvisible=False}]]
      [15:17:18] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {isvisible=False}]] of destination [xunit]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: xunit in grapher in <root> (TutorManager)]; props: [StringMap: {isvisible=False}]]
      [15:17:18] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {isvisible=False}]] of destination [xunit]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: yunit in grapher in <root> (TutorManager)]; props: [StringMap: {isvisible=False}]]
      [15:17:18] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {isvisible=False}]] of destination [yunit]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: yunit in grapher in <root> (TutorManager)]; props: [StringMap: {isvisible=False}]]
      [15:17:18] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {isvisible=False}]] of destination [yunit]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: r3c1 in worksheet in <root> (TutorManager)]; props: [StringMap: {isenabled=False}]]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: r2c1 in worksheet in <root> (TutorManager)]; props: [StringMap: {isenabled=False}]]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: r3c2 in worksheet in <root> (TutorManager)]; props: [StringMap: {isenabled=False}]]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: r2c2 in worksheet in <root> (TutorManager)]; props: [StringMap: {isenabled=False}]]
      [15:17:18] TutorManager [class cl.tutors.tre.TRETutorManager]
      [15:17:18] | GRAPHER [class cl.tutors.tre.GenericGrapherTutor]
      [15:17:18] | | GraphPixelHeight [class cl.tutors.tre.GoalNode]
      [15:17:18] | | GraphPixelWidth [class cl.tutors.tre.GoalNode]
      [15:17:18] | | Series1AddCurve [class cl.tutors.tre.GoalNode]
      [15:17:18] | | Series1InterceptPoint [class cl.tutors.tre.GoalNode]
      [15:17:18] | | Series1Slope [class cl.tutors.tre.GoalNode]
      [15:17:18] | | Series1SlopePoint [class cl.tutors.tre.GoalNode]
      [15:17:18] | | Series1YIntercept [class cl.tutors.tre.GoalNode]
      [15:17:18] | | XLabel [class cl.tutors.tre.GoalNode]
      [15:17:18] | | xMax [class cl.tutors.tre.GoalNode]
      [15:17:18] | | xMin [class cl.tutors.tre.GoalNode]
      [15:17:18] | | xScale [class cl.tutors.tre.GoalNode]
      [15:17:18] | | XUnit [class cl.tutors.tre.GoalNode]
      [15:17:18] | | YLabel [class cl.tutors.tre.GoalNode]
      [15:17:18] | | yMax [class cl.tutors.tre.GoalNode]
      [15:17:18] | | yMin [class cl.tutors.tre.GoalNode]
      [15:17:18] | | yScale [class cl.tutors.tre.GoalNode]
      [15:17:18] | | YUnit [class cl.tutors.tre.GoalNode]
      [15:17:18] | Scenario [class cl.tutors.tre.scenario.ScenarioTutor]
      [15:17:18] | Skillometer [class cl.tutors.SkillsManager]
      [15:17:18] | WORKSHEET [class cl.tutors.tre.TRETutor]
      [15:17:18] | | R1C1 [class cl.tutors.tre.GoalNode]
      [15:17:18] | | R1C2 [class cl.tutors.tre.GoalNode]
      [15:17:18] | | R2C1 [class cl.tutors.tre.GoalNode]
      [15:17:18] | | R2C2 [class cl.tutors.tre.GoalNode]
      [15:17:18] | | R3C1 [class cl.tutors.tre.GoalNode]
      [15:17:18] | | R3C2 [class cl.tutors.tre.GoalNode]
      [15:17:18] ToolManager [class com.sun.proxy.$Proxy12]
      [15:17:18] | GRAPHER [class cl.ui.tools.tutorable.GrapherTool]
      [15:17:18] | | GraphPixelHeight [class cl.ui.modules.grapher.BoundedGridPanel$GraphPixelHeightGoalNode]
      [15:17:18] | | GraphPixelWidth [class cl.ui.modules.grapher.BoundedGridPanel$GraphPixelWidthGoalNode]
      [15:17:18] | | Series1InterceptPoint [class cl.ui.modules.grapher.graphcomponent.TutorableMovablePoint]
      [15:17:18] | | Series1Label [class cl.ui.modules.grapher.GrapherSeries$2]
      [15:17:18] | | Series1Slope [class cl.ui.tutorable.widgets.TutorableTextField]
      [15:17:18] | | Series1SlopePoint [class cl.ui.modules.grapher.graphcomponent.TutorableMovablePoint]
      [15:17:18] | | Series1YIntercept [class cl.ui.tutorable.widgets.TutorableTextField]
      [15:17:18] | | xBoundsLabel [class cl.ui.tutorable.widgets.AddressableLabel]
      [15:17:18] | | XLabel [class cl.ui.tutorable.widgets.TutorableTextField]
      [15:17:18] | | xMax [class cl.ui.tutorable.widgets.TutorableBoundTextField]
      [15:17:18] | | xMin [class cl.ui.tutorable.widgets.TutorableBoundTextField]
      [15:17:18] | | xScale [class cl.ui.tutorable.widgets.TutorableBoundTextField]
      [15:17:18] | | XUnit [class cl.ui.tutorable.widgets.TutorableTextField]
      [15:17:18] | | yBoundsLabel [class cl.ui.tutorable.widgets.AddressableLabel]
      [15:17:18] | | YLabel [class cl.ui.tutorable.widgets.TutorableTextField]
      [15:17:18] | | yMax [class cl.ui.tutorable.widgets.TutorableBoundTextField]
      [15:17:18] | | yMin [class cl.ui.tutorable.widgets.TutorableBoundTextField]
      [15:17:18] | | yScale [class cl.ui.tutorable.widgets.TutorableBoundTextField]
      [15:17:18] | | YUnit [class cl.ui.tutorable.widgets.TutorableTextField]
      [15:17:18] | Scenario [class cl.ui.tools.tutorable.DefaultScenarioTool]
      [15:17:18] | Skillometer [class cl.ui.tools.tutorable.skillometer.Skillometer]
      [15:17:18] | | Entering the slope. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:18] | | Entering the y-intercept. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:18] | | Identify unit. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:18] | | Setting the slope. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:18] | | Setting the y-intercept. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:18] | | Working with integer slope and intercept. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:18] | | Writing expression, any form. [class cl.ui.tools.tutorable.skillometer.Skillometer$Skill]
      [15:17:18] | WORKSHEET [class cl.ui.tools.tutorable.WordProblemWorksheetTool]
      [15:17:18] | | R1C1 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:18] | | R1C2 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:18] | | R2C1 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:18] | | R2C2 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:18] | | R3C1 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:18] | | R3C2 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:18] | | worksheet_cell_name_totally_unlikely_to_cause_collision-R0C0 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:18] | | worksheet_cell_name_totally_unlikely_to_cause_collision-R1C0 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:18] | | worksheet_cell_name_totally_unlikely_to_cause_collision-R2C0 [class cl.ui.modules.worksheet.TutorableWorksheetCell]
      [15:17:18] [TRETutorManager: [WORKSHEET: [GNL __THE_PATH__:-R1C1, -R1C2, -R2C1, -R2C2, -R3C1, -R3C2]], [GRAPHER: [GNL __THE_PATH__:-YLabel, ?YUnit, -XLabel, ?XUnit, -yMax, -yMin, -yScale, -xMin, -xMax, -xScale, -Series1InterceptPoint, -Series1SlopePoint, ?GraphPixelHeight, ?GraphPixelWidth, -Series1AddCurve, -Series1YIntercept, -Series1Slope]], [Scenario: [GNL __THE_PATH__:]]; not done]
      [15:17:18] setting active session to ldemo_mbgrph
      [15:17:18] setting active session to jan01
      [15:17:18] AbstrProblemSession.setTutorCurrentState: replaying 2 messages
      [15:17:18] *********************************************************************
      [15:17:18] AbstrProblemSession.setTutorCurrentState: replaying message 1: [MessageObject: [MessageVerb: DONE]; [MessagingAddress: <root> (ToolManager)]]
      [15:17:18] Added UI lock type 'LockOnMessage'; locking ToolManagerAdapter-jan01
      [15:17:18] incoming ->TUTOR : [MessageObject: [MessageVerb: DONE]; [MessagingAddress: <root> (ToolManager)]]
      [15:17:18] incoming ->TOOL : [MessageObject: [MessageVerb: JITMESSAGE]; [MessagingAddress: <root> (TutorManager)]; messageList: [[CL_TutorMessage: There is more work to do in this problem. Remember that you can ask for a hint!; tags: []; 1 pointers ]]; startMsgIndex: 0]
      [15:17:18] Removed UI lock type 'LockOnMessage'; unlocking ToolManagerAdapter-jan01
      [15:17:18] *********************************************************************
      [15:17:18] AbstrProblemSession.setTutorCurrentState: replaying message 2: [MessageObject: [MessageVerb: NOTEVALUESET]; [MessagingAddress: series1interceptpoint in grapher in <root> (ToolManager)]; value: [StructuredStudentInput: {x=0.0, y=-2.04, display-string=0.0 -2.04}]]
      [15:17:18] Added UI lock type 'LockOnMessage'; locking ToolManagerAdapter-jan01
      [15:17:18] incoming ->TUTOR : [MessageObject: [MessageVerb: NOTEVALUESET]; [MessagingAddress: series1interceptpoint in grapher in <root> (ToolManager)]; value: [StructuredStudentInput: {x=0.0, y=-2.04, display-string=0.0 -2.04}]]
      [15:17:18] incoming ->TOOL : [MessageObject: [MessageVerb: SETVALUE]; [MessagingAddress: series1interceptpoint in grapher in <root> (TutorManager)]; value: [StructuredStudentInput: {x=0.0, y=-2.04, display-string=0.0 -2.04}]]
      [15:17:18] incoming ->TOOL : [MessageObject: [MessageVerb: FLAG]; [MessagingAddress: series1interceptpoint in grapher in <root> (TutorManager)]]
      [15:17:18] GOALNODE PROPERTY VALUE is NULL: ErrorCount
      [15:17:18] *********************************************************************
      [15:17:18] AbstrProblemSession.setTutorCurrentState: replay finished
      [15:17:18] *********************************************************************
      [15:17:18] >>> ResearchProtocolImpl.activateProtocolCollection(true) COLLECT_PROTOCOL is false
      [15:17:18] Removed UI lock type 'LockOnMessage'; unlocking ToolManagerAdapter-jan01
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: xmin in grapher in <root> (TutorManager)]; props: [StringMap: {guidedexamplealwaysactive=true}]]
      [15:17:18] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {guidedexamplealwaysactive=true}]] of destination [xmin]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: xmax in grapher in <root> (TutorManager)]; props: [StringMap: {guidedexamplealwaysactive=true}]]
      [15:17:18] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {guidedexamplealwaysactive=true}]] of destination [xmax]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: ymin in grapher in <root> (TutorManager)]; props: [StringMap: {guidedexamplealwaysactive=true}]]
      [15:17:18] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {guidedexamplealwaysactive=true}]] of destination [ymin]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: ymax in grapher in <root> (TutorManager)]; props: [StringMap: {guidedexamplealwaysactive=true}]]
      [15:17:18] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {guidedexamplealwaysactive=true}]] of destination [ymax]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: xscale in grapher in <root> (TutorManager)]; props: [StringMap: {guidedexamplealwaysactive=true}]]
      [15:17:18] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {guidedexamplealwaysactive=true}]] of destination [xscale]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SETPROPERTY]; [MessagingAddress: yscale in grapher in <root> (TutorManager)]; props: [StringMap: {guidedexamplealwaysactive=true}]]
      [15:17:18] BoundedGridPanel.deliverMessage :: Captured the Verb [SETPROPERTY] with Properties [[StringMap: {guidedexamplealwaysactive=true}]] of destination [yscale]
      [15:17:18] incoming ->TOOL-GE : [MessageObject: [MessageVerb: SHOWDEMOMESSAGE]; [MessagingAddress: r1c1 in worksheet in <root> (TutorManager)]; messageList: [[CL_TutorMessage: Which quantity is <a href="glossary:independent-variable">stated directly</a> in the problem statement?; tags: [GuidedExample]; 0 pointers ], [CL_TutorMessage: Try typing in the phrase "<literal>the number of additional games Mario pl
      [15:17:18] >>> ResearchProtocolImpl.activateProtocolCollection(true) COLLECT_PROTOCOL is false
      [15:17:18] StudentSessionImpl.doneTransitioning: on thread StudentSession Thread [0]; session 95c3b1
      [15:17:19] Removed UI lock type 'LockOnNewProblem'; unlocking UI
      [15:17:19] StudentSessionImpl.startStudentSession: Completed
      Exception in thread "AWT-EventQueue-2" java.lang.SecurityException: class "org.jdesktop.swingx.painter.Painters"'s signer information does not match signer information of other classes in the same package
      at java.lang.ClassLoader.checkCerts(Unknown Source)
      at java.lang.ClassLoader.preDefineClass(Unknown Source)
      at java.lang.ClassLoader.defineClass(Unknown Source)
      at java.security.SecureClassLoader.defineClass(Unknown Source)
      at java.net.URLClassLoader.defineClass(Unknown Source)
      at java.net.URLClassLoader.access$100(Unknown Source)
      at java.net.URLClassLoader$1.run(Unknown Source)
      at java.net.URLClassLoader$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(Unknown Source)
      at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at com.sun.jnlp.JNLPClassLoader.loadClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at org.jdesktop.swingx.prompt.PromptSupport.getBackgroundPainter(PromptSupport.java:269)
      at org.jdesktop.swingx.plaf.PromptTextUI.getPromptComponent(PromptTextUI.java:232)
      at org.jdesktop.swingx.plaf.PromptTextFieldUI.getPromptComponent(PromptTextFieldUI.java:39)
      at org.jdesktop.swingx.plaf.PromptTextUI.paintPromptComponent(PromptTextUI.java:288)
      at org.jdesktop.swingx.plaf.PromptTextUI.paint(PromptTextUI.java:281)
      at org.jdesktop.swingx.plaf.BuddyTextFieldUI.paint(BuddyTextFieldUI.java:38)
      at javax.swing.plaf.ComponentUI.update(Unknown Source)
      at org.jdesktop.swingx.plaf.PromptTextUI.update(PromptTextUI.java:314)
      at javax.swing.JComponent.paintComponent(Unknown Source)
      at cl.ui.widgets.WebEqTextField.paintComponent(WebEqTextField.java:159)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at org.jdesktop.swingx.JXPanel.paint(JXPanel.java:580)
      at cl.ui.tutorable.widgets.TutorableWidgetImpl.paint(TutorableWidgetImpl.java:1531)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at org.jdesktop.swingx.JXPanel.paint(JXPanel.java:580)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JLayeredPane.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at org.jdesktop.swingx.JXPanel.paint(JXPanel.java:580)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JViewport.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at org.jdesktop.swingx.JXMultiSplitPane.paintChildren(JXMultiSplitPane.java:325)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at org.jdesktop.swingx.JXPanel.paint(JXPanel.java:580)
      at javax.swing.JComponent.paintToOffscreen(Unknown Source)
      at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
      at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
      at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
      at javax.swing.RepaintManager.paint(Unknown Source)
      at javax.swing.JComponent._paintImmediately(Unknown Source)
      at javax.swing.JComponent.paintImmediately(Unknown Source)
      at javax.swing.RepaintManager$4.run(Unknown Source)
      at javax.swing.RepaintManager$4.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
      at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
      at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
      at javax.swing.RepaintManager.access$1200(Unknown Source)
      at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
      at java.awt.event.InvocationEvent.dispatch(Unknown Source)
      at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
      at java.awt.EventQueue.access$500(Unknown Source)
      at java.awt.EventQueue$3.run(Unknown Source)
      at java.awt.EventQueue$3.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
      at java.awt.EventQueue.dispatchEvent(Unknown Source)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.run(Unknown Source)
      [15:18:03] StudentSessionImpl.startTransitioning: on thread stu-session-wrapper-0-thread-0; session 95c3b1
      [15:18:03] Added UI lock type 'LockOnQuit'; locking UI
      [15:18:03] StudentSession noteQuit
      [15:18:03] ---------------------------------------------------
      [15:18:03] Client sending message of length 2651
      [15:18:03] <LMS:Message type="PutStudentProblemData" auth="..." ><LMS:School id="stapfas8c" /><LMS:Student id="31455899-a959-4675-961e-bdad4e82910a" /><LMS:Class id="cl_5402344e-b9f4-48d4-bbbb-f50331bd5aef" /><LMS:Curriculum id="algebra i" /><LMS:Session id="4auxahzc" /><LMS:SessionData extra_time="5640" /><LMS:SessionProblemData problem_id="jan01" action="Quit" problem_time="44127" access_count="0" is
      [15:18:03] Reading server response...
      [15:18:03] <LMS:Response type="PutStudentProblemData" error_status="LMS_OK" ></LMS:Response>
      [15:18:03] ---------------------------------------------------
      [15:18:03] Client sending message of length 986
      [15:18:03] <LMS:Message type="TerminateSession" auth="..." ><LMS:School id="stapfas8c" /><LMS:Student id="31455899-a959-4675-961e-bdad4e82910a" /><LMS:Session id="4auxahzc" /></LMS:Message>
      [15:18:03] Reading server response...
      [15:18:03] <LMS:Response type="TerminateSession" error_status="LMS_OK" ></LMS:Response>
      [15:18:03] StudentSessionImpl.doneTransitioning: on thread stu-session-wrapper-0-thread-0; session 95c3b1
      [15:18:03] Removed UI lock type 'LockOnQuit'; unlocking UI
      [15:18:03] Launcher: ShutDownAll
      [15:18:03] Java Version : 1.8.0_91
      [15:18:03] os name : Windows 7
      [15:18:03] os arch : x86
      [15:18:03] os version : 6.1
      [15:18:03] VM version : 25.91-b15
      [15:18:03] VM name (PID) : 3444@mmchenry-7vm
      [15:18:03] Screen size : java.awt.Dimension[width=1920,height=1080]
      [15:18:03] Memory : total : 259588096 free : 175774816
      [15:18:03] java.compiler : null
      [15:18:03] Temp dir : C:\Users\mmchenry.CLI\AppData\Local\Temp\
      [15:18:03] User dir : C:\Program Files (x86)\Java\jre1.8.0_91
      [15:18:03] User home : C:\Users\mmchenry.CLI
      [15:18:03] Settings.isMac = false
      [15:18:03] Settings.isOSX = false
      [15:18:03] Settings.isWin = true
      [15:18:03] IP Address : 10.0.2.15
      [15:18:03] Hostname : mmchenry-7vm.carnegielearning.com
      [15:18:03] USE HTTP : true
      [15:18:03] USE GZIP COMPRESSION : true
      [15:18:03] USE SSL : false
      [15:18:03] AppTimerImpl.CheckpointThread.run: received stop request; ending thread


      REPRODUCIBILITY :
      This bug can be reproduced always.

      CUSTOMER SUBMITTED WORKAROUND :
      An older version of our application works, at least in applet mode. The only difference is that the older version explicitly lists certain domains in the Application-Library-Allowable-Codebase manifest attribute, while the newer version has Application-Library-Allowable-Codebase: *.

      The older version will be available using these credentials shortly:

        a. school id: host-114
        b. username: host-114-a
        c. password: host114a

      Note: only the applet launch mode (STR #3 above) is configured with the older working version. We do not have any webstart deployments (STR #4 above) in production using the older code to test with, so even with these credentials, you'll still see the failure using the webstart launch.

      SUPPORT :
      YES

            pardesha Pardeep Sharma
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: