New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 732152 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

nassh: An unexpected error occurred (InvalidStateError)

Reported by cmshe...@gmail.com, Jun 11 2017

Issue description

Chrome Version       : 58.0.3029.140
OS Version: 9334.72.0
URLs (if applicable) :
Other browsers tested:
  Add OK or FAIL after other browsers where you have tested this issue:
     Safari 5:
  Firefox 4.x:
     IE 7/8/9:

What steps will reproduce the problem?
1. Use hterm. I wish I could give some better steps; it seems to happen every 2-3 days, always shortly after resuming chromebook from sleep. It's not immediately after resuming, for example just now I used hterm for 5-10 minutes without error before encountering this error. Once it happens, I have to restart to be able to use Secure Shell again.

What is the expected result?
Hterm continues to work without error.

What happens instead of that?
Hterm becomes unresponsive. Closing the tab and opening a new tab (of either the dev or stable version) fails with error:

  Welcome to Secure Shell (dev) version 0.8.36.5.
  Answers to Frequently Asked Questions: https://goo.gl/muppJj (ctrl+click on links to open)

  [Pro Tip] Use 'Open as Window' to keep Control-W from closing your terminal!
  [Pro Tip] See https://goo.gl/muppJj for more information.

  ChangeLog/release notes: https://goo.gl/YnmXOs
  An unexpected error occurred, please check the JavaScript console for more details.

The javascript console contains:
  nassh_deps.concat.js:189 init: hterm

  nassh_deps.concat.js:189 init: nassh

  nassh_deps.concat.js:9598 [Violation] Added non-passive event listener to a scroll-blocking 'wheel' event. Consider marking event handler as 'passive' to make the page more responsive.

  nassh_deps.concat.js:9599 [Violation] Added non-passive event listener to a scroll-blocking 'touchstart' event. Consider marking event handler as 'passive' to make the page more responsive.

  nassh_deps.concat.js:9600 [Violation] Added non-passive event listener to a scroll-blocking 'touchmove' event. Consider marking event handler as 'passive' to make the page more responsive.

  nassh_main.js:39 Did you know there is a dedicated options page?
    No need to mess with term_ directly anymore!
    chrome-extension://okddffdblfhhnmhodogpojmfkjmhinfp/html/nassh_preferences_editor.html

  nassh_deps.concat.js:1564 [Violation] 'setTimeout' handler took 367ms
  [Violation] Forced reflow while executing JavaScript took 288ms
  [Violation] Forced reflow while executing JavaScript took 75ms
  [Violation] 'setTimeout' handler took 659ms
  [Violation] Forced reflow while executing JavaScript took 633ms

  nassh_deps.concat.js:17667 Error initializing filesystem: InvalidStateError: An operation that depends on state cached in an interface object was made but the state had changed since it was read from disk. Object {0: "chrome-extension://okddffdblfhhnmhodogpojmfkjmhinfp/js/nassh_deps.concat.js:17667:54"}
    (anonymous) @ nassh_deps.concat.js:17667

  nassh_command_instance.js:110 FileSystem init failed: 
    (anonymous) @ nassh_command_instance.js:110
    (anonymous) @ nassh_deps.concat.js:17669

  nassh_deps.concat.js:4567 Uncaught TypeError: str.charCodeAt is not a function
    at Object.lib.encodeUTF8 (nassh_deps.concat.js:4567)
    at hterm.Terminal.IO.println.hterm.Terminal.IO.writelnUTF16 (nassh_deps.concat.js:14229)
    at nassh_command_instance.js:113
    at nassh_deps.concat.js:17669
    lib.encodeUTF8 @ nassh_deps.concat.js:4567
    hterm.Terminal.IO.println.hterm.Terminal.IO.writelnUTF16 @ nassh_deps.concat.js:14229
    (anonymous) @ nassh_command_instance.js:113
    (anonymous) @ nassh_deps.concat.js:17669

  nassh_deps.concat.js:14147 Unhandled sendString: 9334.72.0 (Official Build) stable-channel edgar
  nassh_deps.concat.js:14147 Unhandled sendString: 0.8.36.3


Please provide any additional information below. Attach a screenshot if
possible.

UserAgentString: Mozilla/5.0 (X11; CrOS x86_64 9334.72.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.140 Safari/537.36
SecureShell (dev) version: 0.8.36.5
SecureShell version: 0.8.36.3
 

Comment 1 by vapier@chromium.org, Jun 22 2017

Components: Platform>Apps>Default>Hterm
Owner: vapier@chromium.org
Status: Assigned (was: Unconfirmed)

Comment 2 by vapier@chromium.org, Jun 28 2017

what Chromebook are you using ?  is your disk full otherwise ?  do you have any interesting messages in file:///var/log/messages ?

i'm wondering if your disk is full and it's throwing weird errors like this.

from what i can tell, the call that is failing is the basic request to the filesystem:
  requestFS(window.PERSISTENT,
            16 * 1024 * 1024,
            onFileSystem,
            lib.fs.err('Error initializing filesystem', opt_onError));

and from what i can find in the (limited) documentation, there's no way for us to actually delete the persistent filesystem to re-initialize it.

Comment 3 by cmshe...@gmail.com, Jul 16 2017

Hello,

The Chromebook I'm using is:
Acer Chromebook 14, Aluminum, 14-inch Full HD, Intel Celeron N3160, 4GB LPDDR3, 32GB, Chrome, Gold, CB3-431-C0AK (https://www.amazon.com/gp/product/B01J42JMQ2)

The disk definitely isn't full - I've got 22.3GB remaining.

There doesn't seem to me to be anything interesting in file:///var/log/messages... other than possibly the repetition of

2017-07-16T00:21:24.064710-04:00 ERR laptop-mode[29278]: Couldn't acquire lock. Retrying.... PID is 29232\n

with varying PIDs a few times over a few seconds just before the issue started (00:21 is when I started using the chromebook and noticed the issue was happening). I've attached the logs in case you wanted to take a look, but to me, there doesn't seem to be anything strange in there.
chromebook-log.txt
87.6 KB View Download

Comment 4 by vapier@chromium.org, Jul 18 2017

yeah, none of those logs look interesting

when it fails, if you open a JS console, does running this code work ?
  nassh.getFileSystem((x) => console.log('worked', x))

if that fails, does this work ?
  window.webkitRequestFileSystem(window.PERSISTENT, 16*1024*1024,
    (x)=>console.log('worked', x), (x)=>console.log('failed', x))

and then maybe try this for good measure:
  window.webkitRequestFileSystem(window.PERSISTENT, 16*1024*1024,
    (x)=>lib.fs.getOrCreateDirectory(x.root, '/.ssh/blah/cow/foo', (x)=>console.log('worked', x)),
    (x)=>console.log('failed', x))

Comment 5 by vapier@chromium.org, Aug 23 2017

Cc: cmshe...@gmail.com spanish...@gmail.com
Labels: Needs-Feedback
is this still occurring ?  iirc, there were some Chrome bugs in that time related to local db storage, so this might have been caused by those.

Comment 6 by cmshe...@gmail.com, Aug 23 2017

Nope, now that you mention it, it hasn't happened since the last time my chromeos updated. This can be closed!

Comment 7 by vapier@chromium.org, Aug 23 2017

Status: Fixed (was: Assigned)
glad it's working for you again.  thanks for following up.

Comment 8 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Comment 9 by vapier@chromium.org, Jun 21 2018

Status: Fixed (was: Archived)

Sign in to add a comment