SPSS Statistics

 View Only
  • 1.  New bug SPSS 29.0.2.0 and Mac Sonoma

    Posted Tue February 06, 2024 09:50 AM

    Hi all, 

    There seems to be a new bug in SPSS 29.0.2.0 on Mac Sonoma involving the syntax editor: for the past couple days, every time I write and then save syntax, SPSS crashes. It does not happen every single time I save syntax, but every 2-3 saves. It is extremely disruptive because I keep having to force stop and recover. The same issue also happens when I run macros (which used to run fine before last week). I rebooted my laptop several times, uninstalled and reinstalled SPSS, tried working with different datasets, but nothing seems to help. I found another user who seems to be having the same issue (Frequent crashes SPSS 29 & Ventura | SPSS Statistics). Are any fixes on the way? 



    ------------------------------
    Gloria Blint
    ------------------------------


  • 2.  RE: New bug SPSS 29.0.2.0 and Mac Sonoma

    Posted Wed February 07, 2024 11:03 AM

    Hi @Anna D, sorry to hear you are having difficulties with syntax documents in the MacOS version of 29.0.2 on MacOS Sonoma. This is the first we've heard of this issue and thus far we have been unable to reproduce it in-house.

    Some questions:

    1. Are you opening a blank syntax window, typing into it, then pressing the Save button or menu item?
    2. Does the crash occur when you begin to browse for a Save location, or when you actually are saving the file?
    3. Does the entire program crash, or just the syntax window you're trying to save? You mentioned having to force stop, which tells me the entire program isn't crashing (or there would be nothing to force stop).
    4. Are you seeing any error messages when the crash occurs?
    5. Are you overwriting an existing syntax file or saving a new one?

    Another thing to try is to run Statistics from a Terminal window and then looking for errors in the terminal window when it crashes:

    1. Open a Terminal window
    2. Issue the following command (including the double quotes around the path), which will run Statistics from the terminal: 

    "/Applications/IBM SPSS Statistics/SPSS Statistics.app/Contents/MacOS/stats"

         3. Make the crash happen, then copy any errors from the Terminal window and paste them into your response here.

    Regards,



    ------------------------------
    Curtis Browning
    SPSS Statistics Architect
    ------------------------------



  • 3.  RE: New bug SPSS 29.0.2.0 and Mac Sonoma

    Posted Wed February 07, 2024 12:51 PM

    Hi Curtis,

    Thank you for your reply! Please see below for my answers:

    Some questions:

    1. Are you opening a blank syntax window, typing into it, then pressing the Save button or menu item?
      I am working with an existing syntax window, although the error has also happened using a new syntax file. It occurs when I either press the Save button or when I use the keyboard shortcut. 
    2. Does the crash occur when you begin to browse for a Save location, or when you actually are saving the file?
      When I am actually saving the file.
    3. Does the entire program crash, or just the syntax window you're trying to save? You mentioned having to force stop, which tells me the entire program isn't crashing (or there would be nothing to force stop).
      The entire program becomes unresponsive, so I can no longer toggle back and forth between different SPSS windows. If I wait long enough, my Mac tells me that SPSS has become unresponsive. The only option is to force stop it.
    4. Are you seeing any error messages when the crash occurs?
      No, I see a blank small window without any text or buttons in it.
    5. Are you overwriting an existing syntax file or saving a new one?
      Overwriting an existing one.

    Another thing to try is to run Statistics from a Terminal window and then looking for errors in the terminal window when it crashes:

    Please see below!

    Last login: Wed Feb  7 12:00:57 on console

    adragotta@Anna-M1Pro ~ % "/Applications/IBM SPSS Statistics/SPSS Statistics.app/Contents/MacOS/stats"

    Item: crash-issue-report-1707326149049-6835 created!

    Item: crash-issue-report-1707326149049-6835-key created!

    Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: begin -3, end 29, length 29

    at java.base/java.lang.String.checkBoundsBeginEnd(Unknown Source)

    at java.base/java.lang.String.substring(Unknown Source)

    at java.base/java.lang.String.substring(Unknown Source)

    at com.spss.shared.syntaxeditor.SyntaxHighlightDocument.isParenParam(Unknown Source)

    at com.spss.shared.syntaxeditor.SyntaxHighlightDocument.parseLine(Unknown Source)

    at com.spss.shared.syntaxeditor.SyntaxHighlightDocument.highlightSyntaxBlocks(Unknown Source)

    at com.spss.shared.syntaxeditor.SpssSyntaxTextPane.doFullHighlighting(Unknown Source)

    at com.spss.shared.syntaxeditor.SpssSyntaxTextPane.doScrollingHighlighting(Unknown Source)

    at com.spss.shared.syntaxeditor.SyntaxMasterPanel$MyTimer$TimerActionListener.actionPerformed(Unknown Source)

    at java.desktop/javax.swing.Timer.fireActionPerformed(Unknown Source)

    at java.desktop/javax.swing.Timer$DoPostEvent.run(Unknown Source)

    at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)

    at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)

    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)

    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)

    at java.base/java.security.AccessController.doPrivileged(Unknown Source)

    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

    at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)

    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

    java.lang.IllegalArgumentException: TextHitInfo is out of range

    at java.desktop/java.awt.font.TextLayout.checkTextHit(Unknown Source)

    at java.desktop/java.awt.font.TextLayout.getCaretInfo(Unknown Source)

    at java.desktop/java.awt.font.TextLayout.getCaretInfo(Unknown Source)

    at java.desktop/javax.swing.text.GlyphPainter2.getSpan(Unknown Source)

    at java.desktop/javax.swing.text.GlyphView.getPartialSpan(Unknown Source)

    at java.desktop/javax.swing.text.GlyphView.getMinimumSpan(Unknown Source)

    at java.desktop/javax.swing.text.ParagraphView.calculateMinorAxisRequirements(Unknown Source)

    at java.desktop/javax.swing.text.BoxView.checkRequests(Unknown Source)

    at java.desktop/javax.swing.text.BoxView.getPreferredSpan(Unknown Source)

    at com.spss.shared.syntaxeditor.SyntaxParagraphView.getMinimumSpan(Unknown Source)

    at java.desktop/javax.swing.text.BoxView.calculateMinorAxisRequirements(Unknown Source)

    at java.desktop/javax.swing.text.BoxView.checkRequests(Unknown Source)

    at java.desktop/javax.swing.text.BoxView.setSpanOnAxis(Unknown Source)

    at java.desktop/javax.swing.text.BoxView.layout(Unknown Source)

    at java.desktop/javax.swing.text.BoxView.setSize(Unknown Source)

    at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.setSize(Unknown Source)

    at java.desktop/javax.swing.plaf.basic.BasicTextUI.modelToView(Unknown Source)

    at java.desktop/javax.swing.plaf.basic.BasicTextUI.modelToView(Unknown Source)

    at java.desktop/javax.swing.text.DefaultCaret.setVisible(Unknown Source)

    at java.desktop/com.apple.laf.AquaCaret.setVisible(Unknown Source)

    at java.desktop/com.apple.laf.AquaCaret.fireStateChanged(Unknown Source)

    at java.desktop/javax.swing.text.DefaultCaret.changeCaretPosition(Unknown Source)

    at java.desktop/javax.swing.text.DefaultCaret.handleSetDot(Unknown Source)

    at java.desktop/javax.swing.text.DefaultCaret.setDot(Unknown Source)

    at java.desktop/javax.swing.text.DefaultCaret$Handler.insertUpdate(Unknown Source)

    at java.desktop/javax.swing.text.AbstractDocument.fireInsertUpdate(Unknown Source)

    at java.desktop/javax.swing.text.AbstractDocument.handleInsertString(Unknown Source)

    at java.desktop/javax.swing.text.AbstractDocument.insertString(Unknown Source)

    at com.spss.shared.syntaxeditor.SyntaxHighlightDocument.insertString(Unknown Source)

    at java.desktop/javax.swing.text.AbstractDocument.replace(Unknown Source)

    at com.spss.java_client.core.documents.syntax.SyntaxEncodingMarkerUtils.updateOrInsertEncodingMarker(Unknown Source)

    at com.spss.java_client.core.documents.syntax.SyntaxDocument.saveDocument(Unknown Source)

    at com.spss.java_client.core.documents.syntax.SyntaxDocument.saveDocument(Unknown Source)

    at com.spss.java_client.ui.doc_types.doc_util.DocUtil.doSaveSyntaxDoc(Unknown Source)

    at com.spss.java_client.ui.doc_types.doc_util.DocUtil.saveCoreDocument(Unknown Source)

    at com.spss.java_client.ui.doc_types.actions.SaveAction.doSave(Unknown Source)

    at com.spss.java_client.ui.doc_types.actions.SaveAction.actionPerformed(Unknown Source)

    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

    at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)

    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)

    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)

    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)

    at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)

    at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)

    at java.desktop/java.awt.Component.processEvent(Unknown Source)

    at java.desktop/java.awt.Container.processEvent(Unknown Source)

    at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)

    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)

    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)

    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)

    at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)

    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)

    at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)

    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)

    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)

    at java.base/java.security.AccessController.doPrivileged(Unknown Source)

    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

    at java.desktop/java.awt.EventQueue$5.run(Unknown Source)

    at java.desktop/java.awt.EventQueue$5.run(Unknown Source)

    at java.base/java.security.AccessController.doPrivileged(Unknown Source)

    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

    at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)

    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

    adragotta@Anna-M1Pro ~ %



    ------------------------------
    Anna
    ------------------------------



  • 4.  RE: New bug SPSS 29.0.2.0 and Mac Sonoma

    Posted Wed February 07, 2024 01:39 PM

    Thanks @Anna D, that is very helpful information. It is clearly related to either the size or the actual content in the syntax document. 

    Question: Are these large syntax documents? If yes, roughly how large are the .sps files on disk?

    I am still not able to reproduce the issue here, but the call stack provided in the terminal output is extremely useful. I have filed a high priority defect containing the information here and more. 

    Additional items:

    1. If you are able to share an example syntax file that exhibits the problem, that would help. There may be constructs within that our parser isn't handling properly.
    2. Is the Apple hardware you are running Sonoma on somewhat old or slow? Trying to determine if this is timing-related.

    Best,



    ------------------------------
    Curtis Browning
    SPSS Statistics Architect
    ------------------------------