SwellRT / swellrt

SwellRT main project. Server, JavaScript and Java clients
http://swellrt.org/
Apache License 2.0
234 stars 34 forks source link

Client error writing in a large object #244

Closed pablojan closed 6 years ago

pablojan commented 6 years ago

In a concurrent editing session, with a large text, when a client writes after a long period of only reading, and index problem happens on websocket client:

imagen

emcodemall commented 6 years ago

Hey Pablo, i discovered the same error message but only when using the speech to text software "dragon naturally speaking". In difference to you, i only need to input 2-3 characters to make a client disconnect. Funny enough, the client that is really "editing the document" stays connected.

Please see my results here, you will need to "download" the video but only the last 20 seconds are of interest. https://xdreamgroup-my.sharepoint.com/:v:/g/personal/harald_jordan_x-dream-media_com/EYMvU9t4K1tBm0d_-aOSwiQB-LB5RcdWbW5Ti4thUBtEkQ?e=ze330z

I was not yet able to find any pattern when this happens, it can go well for many sentences or it can break at the first x letters that dragon does input. It worked with swellrt releases < 2.0.

What i did by now is trying to capture the key events dragon sends but it doesnt look like those make a great difference. Also i wrote some selenium tests inputting text by hitting keys and pasing from clipboard, this way the error is not reproduceable.

Any hint to about how to continue debugging this is very welcome!

emcodemall commented 6 years ago

Without being sure that we face the same issue, i keep posting here because our error messages are the same. I think i made some progress debugging this on client side: As i can reproduce the issue easily, i subscribed to all events that are fired at the editor and looked out for some pattern that might cause this, but i did not find any. the only thing i noticed is that it looks that this warning often appears at the time of interest: swellrt_beta-0.js:16864 [Violation] 'setTimeout' handler took 71ms

In my build, the line 16864 points to the inner function (...return function()) of this in the debug build: function entry_0(jsFunction){ var stackIndex_0; $stack_0[stackIndex_0 = ++$stackDepth_0] = entry_0; ($location_0[stackIndex_0] = 'Impl.java:' + '74' , cggcci).$clinit_Impl(); $stackDepth_0 = stackIndex_0 - 1; return function(){ var stackIndex, returnTemp; $stack_0[stackIndex = ++$stackDepth_0] = null; if ($location_0[stackIndex] = 'Impl.java:' + '75' , isScript()) { returnTemp = ($location_0[stackIndex] = 'Impl.java:' + '77' , cggcci).entry0(jsFunction, this, arguments); $stackDepth_0 = stackIndex - 1; return returnTemp; } else { var 0 = ($location_0[stackIndex] = 'Impl.java:' + '79' , cggcci).entry0(jsFunction, this, arguments); if (($location_0[stackIndex] = 'Impl.java:' + '78' , 0) != null) { 0 = ($location_0[stackIndex] = 'Impl.java:' + '82' , __0).val; } returnTemp = ($location_0[stackIndex] = 'Impl.java:' + '84' , 0); $stackDepth_0 = stackIndex - 1; return returnTemp; } $stackDepth_0 = stackIndex - 1; } ; }

I am still struggeling with finding back from javascript to java code, i hoped this could be more helpful but it is my believe that this could be some track...

pablojan commented 6 years ago

There you are seeing the obfuscated javascript code generated from java. In order to get useful information from code traces you must build the js client in development mode from source code.

Clone the repo and use following commands

# build server backend
./gradlew compileJava

# build js client in dev mode
./gradlew devWeb

# runs server
./gradlew run
emcodemall commented 6 years ago

I fear it was not the obfuscated stuff that i saw: what i did in order to generate the last report was to „compileJava devWeb“. This Outputs what i have reported. In difference, i just tried to do „compileJava prodWeb“, the Output is obfuscated:

Line 3272 (instead of 16.000 something):

function Wg(c){Tg();return function(){return Xg(c,this,arguments);var b}}

To be absolutely sure i retried all the commands you posted and it semms to be just the same as my „compileJava devWeb“ workflow.

Cheers!

Von: Pablo Ojanguren Gesendet: Samstag, 6. Oktober 2018 20:22 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

There you are seeing the obfuscated javascript code generated from java. In order to get useful information from code traces you must build the js client in development mode from source code. Clone the repo and use following commands

build server backend

./gradlew compileJava

build js client in dev mode

./gradlew devWeb

runs server

./gradlew run — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread. :

pablojan commented 6 years ago

My bad... I read it too fast! Well, regarding the screenshot showing the error in the browser's console, I am not sure that both are related, "Illegal State Exception" and "ERROR[WaveWebSocketClient]". To check this properly, I fixed the first exception in the develop/ branch. About the second error, it seems a race condition. I paste below all the methods that can trigger this error. Also, I suggest to enable the following property to get detailed error messages:

    __swell_config = {
        captureExceptions: true,
    };

imagen imagen

emcodemall commented 6 years ago

Hey,

thanks for the Infos. Now i am able to set breakpoints in the debug Server from the Chrome Debugger Tools.

Unfortunately it doesn’t lead me too far until now, i just end up in the „OnMessage“ function but and i see that the Server did send a message to the Client, but i have not yet any indication what class/function in the Server caused this.

As next step i will try to figure out how to enable debug logging on the Server. If that also leads nowhere, i’ll fall back to the easy method: find out the last Version where it worked and get out what changes were done to the next Version.

Cheers! Harry

Von: Pablo Ojanguren Gesendet: Sonntag, 7. Oktober 2018 12:52 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

My bad... I read it too fast! Well, regarding the screenshot showing the error in the browser's console, I am not sure that both are related, "Illegal State Exception" and "ERROR[WaveWebSocketClient]". To check this properly, I fixed the first exception in the develop/ branch. About the second error, it seems a race condition. I paste below all the methods that can trigger this error. Also, I suggest to enable the following property to get detailed error messages: __swell_config = { captureExceptions: true, };

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

pablojan commented 6 years ago

I share some thoughts...

The bug seems me a race condition, that's why it is hard to reproduce.

According to the error message "range bla bla..." It happens on a mutation/edit of the local view of the text or on setting an annotation with end index out of document's size.

Caret annotations - which spans the size of the document- are a good candidate as source of problems. Eg. If a

one user sends these annotations before text changes it could make this error to happen.

I could try to disable caret annotations and you could try to reproduce the bug with your system


Tomorrow afternoon I expect to explore this hypothesis.

El 8 oct. 2018 7:53 p. m., haraldjordan78 notifications@github.com escribió:

Hey,

thanks for the Infos. Now i am able to set breakpoints in the debug Server from the Chrome Debugger Tools.

Unfortunately it doesn’t lead me too far until now, i just end up in the „OnMessage“ function but and i see that the Server did send a message to the Client, but i have not yet any indication what class/function in the Server caused this.

As next step i will try to figure out how to enable debug logging on the Server. If that also leads nowhere, i’ll fall back to the easy method: find out the last Version where it worked and get out what changes were done to the next Version.

Cheers! Harry

Von: Pablo Ojanguren Gesendet: Sonntag, 7. Oktober 2018 12:52 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

My bad... I read it too fast! Well, regarding the screenshot showing the error in the browser's console, I am not sure that both are related, "Illegal State Exception" and "ERROR[WaveWebSocketClient]". To check this properly, I fixed the first exception in the develop/ branch. About the second error, it seems a race condition. I paste below all the methods that can trigger this error. Also, I suggest to enable the following property to get detailed error messages: __swell_config = { captureExceptions: true, };

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

emcodemall commented 6 years ago

Sounds great disabling annotations, i am Looking Forward to see how you do this 😊

By the way, i raised log level of the swell Server to ALL, but all i found was more or less the JSON messages that are sent for the letters that are typed. Then i played with enabling verbose JavaScript:

__swell_config = {
    websocketDebugLog: true,
    captureExceptions: true,
    websocketHeartbeatInterval: 30000
}; 

Also, when keeping to step on in the Debugger, sometimes (really not Always) i end up here. The call stack indicates some Annotation realated stuff. But i am not sure if this is still the same flow or just any other function that was called in another thread.

Von: Pablo Ojanguren Gesendet: Montag, 8. Oktober 2018 23:53 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I share some thoughts...

The bug seems me a race condition, that's why it is hard to reproduce.

According to the error message "range bla bla..." It happens on a mutation/edit of the local view of the text or on setting an annotation with end index out of document's size.

Caret annotations - which spans the size of the document- are a good candidate as source of problems. Eg. If a

one user sends these annotations before text changes it could make this error to happen.

I could try to disable caret annotations and you could try to reproduce the bug with your system


Tomorrow afternoon I expect to explore this hypothesis.

El 8 oct. 2018 7:53 p. m., haraldjordan78 notifications@github.com escribió:

Hey,

thanks for the Infos. Now i am able to set breakpoints in the debug Server from the Chrome Debugger Tools.

Unfortunately it doesn’t lead me too far until now, i just end up in the „OnMessage“ function but and i see that the Server did send a message to the Client, but i have not yet any indication what class/function in the Server caused this.

As next step i will try to figure out how to enable debug logging on the Server. If that also leads nowhere, i’ll fall back to the easy method: find out the last Version where it worked and get out what changes were done to the next Version.

Cheers! Harry

Von: Pablo Ojanguren Gesendet: Sonntag, 7. Oktober 2018 12:52 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

My bad... I read it too fast! Well, regarding the screenshot showing the error in the browser's console, I am not sure that both are related, "Illegal State Exception" and "ERROR[WaveWebSocketClient]". To check this properly, I fixed the first exception in the develop/ branch. About the second error, it seems a race condition. I paste below all the methods that can trigger this error. Also, I suggest to enable the following property to get detailed error messages: __swell_config = { captureExceptions: true, };

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

pablojan commented 6 years ago

I've just pushed agaisnt "develop" branch on GitHub a commit disabling caret annotations by default. Could you build this branch and try again? I am also running some tests with selenium, sometimes I run into the issue with them.

El mar., 9 oct. 2018 a las 8:25, haraldjordan78 (notifications@github.com) escribió:

Sounds great disabling annotations, i am Looking Forward to see how you do this 😊

By the way, i raised log level of the swell Server to ALL, but all i found was more or less the JSON messages that are sent for the letters that are typed. Then i played with enabling verbose JavaScript:

__swell_config = { websocketDebugLog: true, captureExceptions: true, websocketHeartbeatInterval: 30000 };

Also, when keeping to step on in the Debugger, sometimes (really not Always) i end up here. The call stack indicates some Annotation realated stuff. But i am not sure if this is still the same flow or just any other function that was called in another thread.

Von: Pablo Ojanguren Gesendet: Montag, 8. Oktober 2018 23:53 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I share some thoughts...

The bug seems me a race condition, that's why it is hard to reproduce.

According to the error message "range bla bla..." It happens on a mutation/edit of the local view of the text or on setting an annotation with end index out of document's size.

Caret annotations - which spans the size of the document- are a good candidate as source of problems. Eg. If a

one user sends these annotations before text changes it could make this error to happen.

I could try to disable caret annotations and you could try to reproduce the bug with your system


Tomorrow afternoon I expect to explore this hypothesis.

El 8 oct. 2018 7:53 p. m., haraldjordan78 notifications@github.com escribió:

Hey,

thanks for the Infos. Now i am able to set breakpoints in the debug Server from the Chrome Debugger Tools.

Unfortunately it doesn’t lead me too far until now, i just end up in the „OnMessage“ function but and i see that the Server did send a message to the Client, but i have not yet any indication what class/function in the Server caused this.

As next step i will try to figure out how to enable debug logging on the Server. If that also leads nowhere, i’ll fall back to the easy method: find out the last Version where it worked and get out what changes were done to the next Version.

Cheers! Harry

Von: Pablo Ojanguren Gesendet: Sonntag, 7. Oktober 2018 12:52 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

My bad... I read it too fast! Well, regarding the screenshot showing the error in the browser's console, I am not sure that both are related, "Illegal State Exception" and "ERROR[WaveWebSocketClient]". To check this properly, I fixed the first exception in the develop/ branch. About the second error, it seems a race condition. I paste below all the methods that can trigger this error. Also, I suggest to enable the following property to get detailed error messages: __swell_config = { captureExceptions: true, };

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SwellRT/swellrt/issues/244#issuecomment-428074919, or mute the thread https://github.com/notifications/unsubscribe-auth/AEP6D4nxulfjxtGkCaczutk3OgzZCsRMks5ujEFsgaJpZM4WVn0A .

emcodemall commented 6 years ago

Great! On it…

Von: Pablo Ojanguren Gesendet: Dienstag, 9. Oktober 2018 21:02 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I've just pushed agaisnt "develop" branch on GitHub a commit disabling caret annotations by default. Could you build this branch and try again? I am also running some tests with selenium, sometimes I run into the issue with them.

El mar., 9 oct. 2018 a las 8:25, haraldjordan78 (notifications@github.com) escribió:

Sounds great disabling annotations, i am Looking Forward to see how you do this 😊

By the way, i raised log level of the swell Server to ALL, but all i found was more or less the JSON messages that are sent for the letters that are typed. Then i played with enabling verbose JavaScript:

__swell_config = { websocketDebugLog: true, captureExceptions: true, websocketHeartbeatInterval: 30000 };

Also, when keeping to step on in the Debugger, sometimes (really not Always) i end up here. The call stack indicates some Annotation realated stuff. But i am not sure if this is still the same flow or just any other function that was called in another thread.

Von: Pablo Ojanguren Gesendet: Montag, 8. Oktober 2018 23:53 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I share some thoughts...

The bug seems me a race condition, that's why it is hard to reproduce.

According to the error message "range bla bla..." It happens on a mutation/edit of the local view of the text or on setting an annotation with end index out of document's size.

Caret annotations - which spans the size of the document- are a good candidate as source of problems. Eg. If a

one user sends these annotations before text changes it could make this error to happen.

I could try to disable caret annotations and you could try to reproduce the bug with your system


Tomorrow afternoon I expect to explore this hypothesis.

El 8 oct. 2018 7:53 p. m., haraldjordan78 notifications@github.com escribió:

Hey,

thanks for the Infos. Now i am able to set breakpoints in the debug Server from the Chrome Debugger Tools.

Unfortunately it doesn’t lead me too far until now, i just end up in the „OnMessage“ function but and i see that the Server did send a message to the Client, but i have not yet any indication what class/function in the Server caused this.

As next step i will try to figure out how to enable debug logging on the Server. If that also leads nowhere, i’ll fall back to the easy method: find out the last Version where it worked and get out what changes were done to the next Version.

Cheers! Harry

Von: Pablo Ojanguren Gesendet: Sonntag, 7. Oktober 2018 12:52 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

My bad... I read it too fast! Well, regarding the screenshot showing the error in the browser's console, I am not sure that both are related, "Illegal State Exception" and "ERROR[WaveWebSocketClient]". To check this properly, I fixed the first exception in the develop/ branch. About the second error, it seems a race condition. I paste below all the methods that can trigger this error. Also, I suggest to enable the following property to get detailed error messages: __swell_config = { captureExceptions: true, };

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SwellRT/swellrt/issues/244#issuecomment-428074919, or mute the thread https://github.com/notifications/unsubscribe-auth/AEP6D4nxulfjxtGkCaczutk3OgzZCsRMks5ujEFsgaJpZM4WVn0A .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

emcodemall commented 6 years ago

I was able to do text Input for 2 minutes without Problems now. Typically i would have been able to Input a maximum of 30 seconds. Sure i will continue inputting more text but i am 99% sure the issue will not Show up anymore.

Von: Harald Jordan Gesendet: Dienstag, 9. Oktober 2018 21:03 An: SwellRT/swellrt; SwellRT/swellrt Cc: Comment Betreff: AW: [SwellRT/swellrt] Client error writing in a large object (#244)

Great! On it…

Von: Pablo Ojanguren Gesendet: Dienstag, 9. Oktober 2018 21:02 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I've just pushed agaisnt "develop" branch on GitHub a commit disabling caret annotations by default. Could you build this branch and try again? I am also running some tests with selenium, sometimes I run into the issue with them.

El mar., 9 oct. 2018 a las 8:25, haraldjordan78 (notifications@github.com) escribió:

Sounds great disabling annotations, i am Looking Forward to see how you do this 😊

By the way, i raised log level of the swell Server to ALL, but all i found was more or less the JSON messages that are sent for the letters that are typed. Then i played with enabling verbose JavaScript:

__swell_config = { websocketDebugLog: true, captureExceptions: true, websocketHeartbeatInterval: 30000 };

Also, when keeping to step on in the Debugger, sometimes (really not Always) i end up here. The call stack indicates some Annotation realated stuff. But i am not sure if this is still the same flow or just any other function that was called in another thread.

Von: Pablo Ojanguren Gesendet: Montag, 8. Oktober 2018 23:53 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I share some thoughts...

The bug seems me a race condition, that's why it is hard to reproduce.

According to the error message "range bla bla..." It happens on a mutation/edit of the local view of the text or on setting an annotation with end index out of document's size.

Caret annotations - which spans the size of the document- are a good candidate as source of problems. Eg. If a

one user sends these annotations before text changes it could make this error to happen.

I could try to disable caret annotations and you could try to reproduce the bug with your system


Tomorrow afternoon I expect to explore this hypothesis.

El 8 oct. 2018 7:53 p. m., haraldjordan78 notifications@github.com escribió:

Hey,

thanks for the Infos. Now i am able to set breakpoints in the debug Server from the Chrome Debugger Tools.

Unfortunately it doesn’t lead me too far until now, i just end up in the „OnMessage“ function but and i see that the Server did send a message to the Client, but i have not yet any indication what class/function in the Server caused this.

As next step i will try to figure out how to enable debug logging on the Server. If that also leads nowhere, i’ll fall back to the easy method: find out the last Version where it worked and get out what changes were done to the next Version.

Cheers! Harry

Von: Pablo Ojanguren Gesendet: Sonntag, 7. Oktober 2018 12:52 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

My bad... I read it too fast! Well, regarding the screenshot showing the error in the browser's console, I am not sure that both are related, "Illegal State Exception" and "ERROR[WaveWebSocketClient]". To check this properly, I fixed the first exception in the develop/ branch. About the second error, it seems a race condition. I paste below all the methods that can trigger this error. Also, I suggest to enable the following property to get detailed error messages: __swell_config = { captureExceptions: true, };

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SwellRT/swellrt/issues/244#issuecomment-428074919, or mute the thread https://github.com/notifications/unsubscribe-auth/AEP6D4nxulfjxtGkCaczutk3OgzZCsRMks5ujEFsgaJpZM4WVn0A .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

emcodemall commented 6 years ago

YES! Thanks a lot Pablo!

After 10 minutes text Input using Dragon naturally speaking, i can 100% confirm that everything works now just as in Version <2.x

Obviously there are a lot of Events Happening that can cause Troubles but are not needed for my usecase at all. I will Need to find a way how to disable all heavy stuff one by one.

To be honest, i am currently not sure what is more work: diving into this Project to the Level that is required to use it as my base Technology or re-writing the parts that i Need. Anyway, i started with this, knowing that it will be veeery hard to debug the stuff. Now i’ll try to dive into this.

Let me know if you Need any further help on this issue. I was able to automate the speech Input for Dragon naturally speaking now by just playing a YouTube vid. So i am able to do automated Tests for my usecase now…

Cheers, Harry

Von: Harald Jordan Gesendet: Dienstag, 9. Oktober 2018 21:21 An: SwellRT/swellrt; SwellRT/swellrt Cc: Comment Betreff: AW: [SwellRT/swellrt] Client error writing in a large object (#244)

I was able to do text Input for 2 minutes without Problems now. Typically i would have been able to Input a maximum of 30 seconds. Sure i will continue inputting more text but i am 99% sure the issue will not Show up anymore.

Von: Harald Jordan Gesendet: Dienstag, 9. Oktober 2018 21:03 An: SwellRT/swellrt; SwellRT/swellrt Cc: Comment Betreff: AW: [SwellRT/swellrt] Client error writing in a large object (#244)

Great! On it…

Von: Pablo Ojanguren Gesendet: Dienstag, 9. Oktober 2018 21:02 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I've just pushed agaisnt "develop" branch on GitHub a commit disabling caret annotations by default. Could you build this branch and try again? I am also running some tests with selenium, sometimes I run into the issue with them.

El mar., 9 oct. 2018 a las 8:25, haraldjordan78 (notifications@github.com) escribió:

Sounds great disabling annotations, i am Looking Forward to see how you do this 😊

By the way, i raised log level of the swell Server to ALL, but all i found was more or less the JSON messages that are sent for the letters that are typed. Then i played with enabling verbose JavaScript:

__swell_config = { websocketDebugLog: true, captureExceptions: true, websocketHeartbeatInterval: 30000 };

Also, when keeping to step on in the Debugger, sometimes (really not Always) i end up here. The call stack indicates some Annotation realated stuff. But i am not sure if this is still the same flow or just any other function that was called in another thread.

Von: Pablo Ojanguren Gesendet: Montag, 8. Oktober 2018 23:53 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I share some thoughts...

The bug seems me a race condition, that's why it is hard to reproduce.

According to the error message "range bla bla..." It happens on a mutation/edit of the local view of the text or on setting an annotation with end index out of document's size.

Caret annotations - which spans the size of the document- are a good candidate as source of problems. Eg. If a

one user sends these annotations before text changes it could make this error to happen.

I could try to disable caret annotations and you could try to reproduce the bug with your system


Tomorrow afternoon I expect to explore this hypothesis.

El 8 oct. 2018 7:53 p. m., haraldjordan78 notifications@github.com escribió:

Hey,

thanks for the Infos. Now i am able to set breakpoints in the debug Server from the Chrome Debugger Tools.

Unfortunately it doesn’t lead me too far until now, i just end up in the „OnMessage“ function but and i see that the Server did send a message to the Client, but i have not yet any indication what class/function in the Server caused this.

As next step i will try to figure out how to enable debug logging on the Server. If that also leads nowhere, i’ll fall back to the easy method: find out the last Version where it worked and get out what changes were done to the next Version.

Cheers! Harry

Von: Pablo Ojanguren Gesendet: Sonntag, 7. Oktober 2018 12:52 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

My bad... I read it too fast! Well, regarding the screenshot showing the error in the browser's console, I am not sure that both are related, "Illegal State Exception" and "ERROR[WaveWebSocketClient]". To check this properly, I fixed the first exception in the develop/ branch. About the second error, it seems a race condition. I paste below all the methods that can trigger this error. Also, I suggest to enable the following property to get detailed error messages: __swell_config = { captureExceptions: true, };

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SwellRT/swellrt/issues/244#issuecomment-428074919, or mute the thread https://github.com/notifications/unsubscribe-auth/AEP6D4nxulfjxtGkCaczutk3OgzZCsRMks5ujEFsgaJpZM4WVn0A .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

pablojan commented 6 years ago

Good so far!

But I am not 100% sure all bugs are gone. In my selenium tests, one client failed after some minutes because an error in the server, really weird. I will keep doing tests tomorrow.

Regarding events and your needs, please let me know via email and I will give you my honest opinion :)

El 9 oct. 2018 11:03 p. m., haraldjordan78 notifications@github.com escribió:

YES! Thanks a lot Pablo!

After 10 minutes text Input using Dragon naturally speaking, i can 100% confirm that everything works now just as in Version <2.x

Obviously there are a lot of Events Happening that can cause Troubles but are not needed for my usecase at all. I will Need to find a way how to disable all heavy stuff one by one.

To be honest, i am currently not sure what is more work: diving into this Project to the Level that is required to use it as my base Technology or re-writing the parts that i Need. Anyway, i started with this, knowing that it will be veeery hard to debug the stuff. Now i’ll try to dive into this.

Let me know if you Need any further help on this issue. I was able to automate the speech Input for Dragon naturally speaking now by just playing a YouTube vid. So i am able to do automated Tests for my usecase now…

Cheers, Harry

Von: Harald Jordan Gesendet: Dienstag, 9. Oktober 2018 21:21 An: SwellRT/swellrt; SwellRT/swellrt Cc: Comment Betreff: AW: [SwellRT/swellrt] Client error writing in a large object (#244)

I was able to do text Input for 2 minutes without Problems now. Typically i would have been able to Input a maximum of 30 seconds. Sure i will continue inputting more text but i am 99% sure the issue will not Show up anymore.

Von: Harald Jordan Gesendet: Dienstag, 9. Oktober 2018 21:03 An: SwellRT/swellrt; SwellRT/swellrt Cc: Comment Betreff: AW: [SwellRT/swellrt] Client error writing in a large object (#244)

Great! On it…

Von: Pablo Ojanguren Gesendet: Dienstag, 9. Oktober 2018 21:02 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I've just pushed agaisnt "develop" branch on GitHub a commit disabling caret annotations by default. Could you build this branch and try again? I am also running some tests with selenium, sometimes I run into the issue with them.

El mar., 9 oct. 2018 a las 8:25, haraldjordan78 (notifications@github.com) escribió:

Sounds great disabling annotations, i am Looking Forward to see how you do this 😊

By the way, i raised log level of the swell Server to ALL, but all i found was more or less the JSON messages that are sent for the letters that are typed. Then i played with enabling verbose JavaScript:

__swell_config = { websocketDebugLog: true, captureExceptions: true, websocketHeartbeatInterval: 30000 };

Also, when keeping to step on in the Debugger, sometimes (really not Always) i end up here. The call stack indicates some Annotation realated stuff. But i am not sure if this is still the same flow or just any other function that was called in another thread.

Von: Pablo Ojanguren Gesendet: Montag, 8. Oktober 2018 23:53 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I share some thoughts...

The bug seems me a race condition, that's why it is hard to reproduce.

According to the error message "range bla bla..." It happens on a mutation/edit of the local view of the text or on setting an annotation with end index out of document's size.

Caret annotations - which spans the size of the document- are a good candidate as source of problems. Eg. If a

one user sends these annotations before text changes it could make this error to happen.

I could try to disable caret annotations and you could try to reproduce the bug with your system


Tomorrow afternoon I expect to explore this hypothesis.

El 8 oct. 2018 7:53 p. m., haraldjordan78 notifications@github.com escribió:

Hey,

thanks for the Infos. Now i am able to set breakpoints in the debug Server from the Chrome Debugger Tools.

Unfortunately it doesn’t lead me too far until now, i just end up in the „OnMessage“ function but and i see that the Server did send a message to the Client, but i have not yet any indication what class/function in the Server caused this.

As next step i will try to figure out how to enable debug logging on the Server. If that also leads nowhere, i’ll fall back to the easy method: find out the last Version where it worked and get out what changes were done to the next Version.

Cheers! Harry

Von: Pablo Ojanguren Gesendet: Sonntag, 7. Oktober 2018 12:52 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

My bad... I read it too fast! Well, regarding the screenshot showing the error in the browser's console, I am not sure that both are related, "Illegal State Exception" and "ERROR[WaveWebSocketClient]". To check this properly, I fixed the first exception in the develop/ branch. About the second error, it seems a race condition. I paste below all the methods that can trigger this error. Also, I suggest to enable the following property to get detailed error messages: __swell_config = { captureExceptions: true, };

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SwellRT/swellrt/issues/244#issuecomment-428074919, or mute the thread https://github.com/notifications/unsubscribe-auth/AEP6D4nxulfjxtGkCaczutk3OgzZCsRMks5ujEFsgaJpZM4WVn0A .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

emcodemall commented 6 years ago

Hmmm i ran another 20 minute test without any Trouble but to be 100% sure, i would Need to run a 3 hour test which i attempt ASAP.

Let me explain my usecase in another email. Do you like me to Play and test with this latest Version or should i wait for some other Version?

Thanks, Harry

Von: Pablo Ojanguren Gesendet: Mittwoch, 10. Oktober 2018 00:16 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

Good so far!

But I am not 100% sure all bugs are gone. In my selenium tests, one client failed after some minutes because an error in the server, really weird. I will keep doing tests tomorrow.

Regarding events and your needs, please let me know via email and I will give you my honest opinion :)

El 9 oct. 2018 11:03 p. m., haraldjordan78 notifications@github.com escribió:

YES! Thanks a lot Pablo!

After 10 minutes text Input using Dragon naturally speaking, i can 100% confirm that everything works now just as in Version <2.x

Obviously there are a lot of Events Happening that can cause Troubles but are not needed for my usecase at all. I will Need to find a way how to disable all heavy stuff one by one.

To be honest, i am currently not sure what is more work: diving into this Project to the Level that is required to use it as my base Technology or re-writing the parts that i Need. Anyway, i started with this, knowing that it will be veeery hard to debug the stuff. Now i’ll try to dive into this.

Let me know if you Need any further help on this issue. I was able to automate the speech Input for Dragon naturally speaking now by just playing a YouTube vid. So i am able to do automated Tests for my usecase now…

Cheers, Harry

Von: Harald Jordan Gesendet: Dienstag, 9. Oktober 2018 21:21 An: SwellRT/swellrt; SwellRT/swellrt Cc: Comment Betreff: AW: [SwellRT/swellrt] Client error writing in a large object (#244)

I was able to do text Input for 2 minutes without Problems now. Typically i would have been able to Input a maximum of 30 seconds. Sure i will continue inputting more text but i am 99% sure the issue will not Show up anymore.

Von: Harald Jordan Gesendet: Dienstag, 9. Oktober 2018 21:03 An: SwellRT/swellrt; SwellRT/swellrt Cc: Comment Betreff: AW: [SwellRT/swellrt] Client error writing in a large object (#244)

Great! On it…

Von: Pablo Ojanguren Gesendet: Dienstag, 9. Oktober 2018 21:02 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I've just pushed agaisnt "develop" branch on GitHub a commit disabling caret annotations by default. Could you build this branch and try again? I am also running some tests with selenium, sometimes I run into the issue with them.

El mar., 9 oct. 2018 a las 8:25, haraldjordan78 (notifications@github.com) escribió:

Sounds great disabling annotations, i am Looking Forward to see how you do this 😊

By the way, i raised log level of the swell Server to ALL, but all i found was more or less the JSON messages that are sent for the letters that are typed. Then i played with enabling verbose JavaScript:

__swell_config = { websocketDebugLog: true, captureExceptions: true, websocketHeartbeatInterval: 30000 };

Also, when keeping to step on in the Debugger, sometimes (really not Always) i end up here. The call stack indicates some Annotation realated stuff. But i am not sure if this is still the same flow or just any other function that was called in another thread.

Von: Pablo Ojanguren Gesendet: Montag, 8. Oktober 2018 23:53 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I share some thoughts...

The bug seems me a race condition, that's why it is hard to reproduce.

According to the error message "range bla bla..." It happens on a mutation/edit of the local view of the text or on setting an annotation with end index out of document's size.

Caret annotations - which spans the size of the document- are a good candidate as source of problems. Eg. If a

one user sends these annotations before text changes it could make this error to happen.

I could try to disable caret annotations and you could try to reproduce the bug with your system


Tomorrow afternoon I expect to explore this hypothesis.

El 8 oct. 2018 7:53 p. m., haraldjordan78 notifications@github.com escribió:

Hey,

thanks for the Infos. Now i am able to set breakpoints in the debug Server from the Chrome Debugger Tools.

Unfortunately it doesn’t lead me too far until now, i just end up in the „OnMessage“ function but and i see that the Server did send a message to the Client, but i have not yet any indication what class/function in the Server caused this.

As next step i will try to figure out how to enable debug logging on the Server. If that also leads nowhere, i’ll fall back to the easy method: find out the last Version where it worked and get out what changes were done to the next Version.

Cheers! Harry

Von: Pablo Ojanguren Gesendet: Sonntag, 7. Oktober 2018 12:52 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

My bad... I read it too fast! Well, regarding the screenshot showing the error in the browser's console, I am not sure that both are related, "Illegal State Exception" and "ERROR[WaveWebSocketClient]". To check this properly, I fixed the first exception in the develop/ branch. About the second error, it seems a race condition. I paste below all the methods that can trigger this error. Also, I suggest to enable the following property to get detailed error messages: __swell_config = { captureExceptions: true, };

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SwellRT/swellrt/issues/244#issuecomment-428074919, or mute the thread https://github.com/notifications/unsubscribe-auth/AEP6D4nxulfjxtGkCaczutk3OgzZCsRMks5ujEFsgaJpZM4WVn0A .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

pablojan commented 6 years ago

Cool! please go ahead with your tests with the latest commit on the develop branch. I am going to keep testing this branch some days until I got confident to make a new release. Btw, how many concurrent (reader/writer) clients are going to participate in your test scenario?

Thanks

El mié., 10 oct. 2018 a las 19:26, haraldjordan78 (notifications@github.com) escribió:

Hmmm i ran another 20 minute test without any Trouble but to be 100% sure, i would Need to run a 3 hour test which i attempt ASAP.

Let me explain my usecase in another email. Do you like me to Play and test with this latest Version or should i wait for some other Version?

Thanks, Harry

Von: Pablo Ojanguren Gesendet: Mittwoch, 10. Oktober 2018 00:16 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

Good so far!

But I am not 100% sure all bugs are gone. In my selenium tests, one client failed after some minutes because an error in the server, really weird. I will keep doing tests tomorrow.

Regarding events and your needs, please let me know via email and I will give you my honest opinion :)

El 9 oct. 2018 11:03 p. m., haraldjordan78 notifications@github.com escribió:

YES! Thanks a lot Pablo!

After 10 minutes text Input using Dragon naturally speaking, i can 100% confirm that everything works now just as in Version <2.x

Obviously there are a lot of Events Happening that can cause Troubles but are not needed for my usecase at all. I will Need to find a way how to disable all heavy stuff one by one.

To be honest, i am currently not sure what is more work: diving into this Project to the Level that is required to use it as my base Technology or re-writing the parts that i Need. Anyway, i started with this, knowing that it will be veeery hard to debug the stuff. Now i’ll try to dive into this.

Let me know if you Need any further help on this issue. I was able to automate the speech Input for Dragon naturally speaking now by just playing a YouTube vid. So i am able to do automated Tests for my usecase now…

Cheers, Harry

Von: Harald Jordan Gesendet: Dienstag, 9. Oktober 2018 21:21 An: SwellRT/swellrt; SwellRT/swellrt Cc: Comment Betreff: AW: [SwellRT/swellrt] Client error writing in a large object (#244)

I was able to do text Input for 2 minutes without Problems now. Typically i would have been able to Input a maximum of 30 seconds. Sure i will continue inputting more text but i am 99% sure the issue will not Show up anymore.

Von: Harald Jordan Gesendet: Dienstag, 9. Oktober 2018 21:03 An: SwellRT/swellrt; SwellRT/swellrt Cc: Comment Betreff: AW: [SwellRT/swellrt] Client error writing in a large object (#244)

Great! On it…

Von: Pablo Ojanguren Gesendet: Dienstag, 9. Oktober 2018 21:02 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I've just pushed agaisnt "develop" branch on GitHub a commit disabling caret annotations by default. Could you build this branch and try again? I am also running some tests with selenium, sometimes I run into the issue with them.

El mar., 9 oct. 2018 a las 8:25, haraldjordan78 (<notifications@github.com

) escribió:

Sounds great disabling annotations, i am Looking Forward to see how you do this 😊

By the way, i raised log level of the swell Server to ALL, but all i found was more or less the JSON messages that are sent for the letters that are typed. Then i played with enabling verbose JavaScript:

__swell_config = { websocketDebugLog: true, captureExceptions: true, websocketHeartbeatInterval: 30000 };

Also, when keeping to step on in the Debugger, sometimes (really not Always) i end up here. The call stack indicates some Annotation realated stuff. But i am not sure if this is still the same flow or just any other function that was called in another thread.

Von: Pablo Ojanguren Gesendet: Montag, 8. Oktober 2018 23:53 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I share some thoughts...

The bug seems me a race condition, that's why it is hard to reproduce.

According to the error message "range bla bla..." It happens on a mutation/edit of the local view of the text or on setting an annotation with end index out of document's size.

Caret annotations - which spans the size of the document- are a good candidate as source of problems. Eg. If a

one user sends these annotations before text changes it could make this error to happen.

I could try to disable caret annotations and you could try to reproduce the bug with your system


Tomorrow afternoon I expect to explore this hypothesis.

El 8 oct. 2018 7:53 p. m., haraldjordan78 notifications@github.com escribió:

Hey,

thanks for the Infos. Now i am able to set breakpoints in the debug Server from the Chrome Debugger Tools.

Unfortunately it doesn’t lead me too far until now, i just end up in the „OnMessage“ function but and i see that the Server did send a message to the Client, but i have not yet any indication what class/function in the Server caused this.

As next step i will try to figure out how to enable debug logging on the Server. If that also leads nowhere, i’ll fall back to the easy method: find out the last Version where it worked and get out what changes were done to the next Version.

Cheers! Harry

Von: Pablo Ojanguren Gesendet: Sonntag, 7. Oktober 2018 12:52 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

My bad... I read it too fast! Well, regarding the screenshot showing the error in the browser's console, I am not sure that both are related, "Illegal State Exception" and "ERROR[WaveWebSocketClient]". To check this properly, I fixed the first exception in the develop/ branch. About the second error, it seems a race condition. I paste below all the methods that can trigger this error. Also, I suggest to enable the following property to get detailed error messages: __swell_config = { captureExceptions: true, };

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SwellRT/swellrt/issues/244#issuecomment-428074919, or mute the thread < https://github.com/notifications/unsubscribe-auth/AEP6D4nxulfjxtGkCaczutk3OgzZCsRMks5ujEFsgaJpZM4WVn0A

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SwellRT/swellrt/issues/244#issuecomment-428659124, or mute the thread https://github.com/notifications/unsubscribe-auth/AEP6D8-BTd8YKKgEx05QI-xEKuJFOJ8Eks5uji3HgaJpZM4WVn0A .

emcodemall commented 6 years ago

In my Tests there are typically just the 2 editors connected. Currently i even Focus on one Editor and one Viewer only. I plan to enable a second Editor, correcting Inputs of the first soon and then add a few (up to 10) concurrent connected Viewers.

So i’ll look into making my speech to text Tests stable using the Version from yesterday then 😊

Thanks for your efforts Pablo!

Harry

Von: Pablo Ojanguren Gesendet: Mittwoch, 10. Oktober 2018 19:38 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

Cool! please go ahead with your tests with the latest commit on the develop branch. I am going to keep testing this branch some days until I got confident to make a new release. Btw, how many concurrent (reader/writer) clients are going to participate in your test scenario?

Thanks

El mié., 10 oct. 2018 a las 19:26, haraldjordan78 (notifications@github.com) escribió:

Hmmm i ran another 20 minute test without any Trouble but to be 100% sure, i would Need to run a 3 hour test which i attempt ASAP.

Let me explain my usecase in another email. Do you like me to Play and test with this latest Version or should i wait for some other Version?

Thanks, Harry

Von: Pablo Ojanguren Gesendet: Mittwoch, 10. Oktober 2018 00:16 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

Good so far!

But I am not 100% sure all bugs are gone. In my selenium tests, one client failed after some minutes because an error in the server, really weird. I will keep doing tests tomorrow.

Regarding events and your needs, please let me know via email and I will give you my honest opinion :)

El 9 oct. 2018 11:03 p. m., haraldjordan78 notifications@github.com escribió:

YES! Thanks a lot Pablo!

After 10 minutes text Input using Dragon naturally speaking, i can 100% confirm that everything works now just as in Version <2.x

Obviously there are a lot of Events Happening that can cause Troubles but are not needed for my usecase at all. I will Need to find a way how to disable all heavy stuff one by one.

To be honest, i am currently not sure what is more work: diving into this Project to the Level that is required to use it as my base Technology or re-writing the parts that i Need. Anyway, i started with this, knowing that it will be veeery hard to debug the stuff. Now i’ll try to dive into this.

Let me know if you Need any further help on this issue. I was able to automate the speech Input for Dragon naturally speaking now by just playing a YouTube vid. So i am able to do automated Tests for my usecase now…

Cheers, Harry

Von: Harald Jordan Gesendet: Dienstag, 9. Oktober 2018 21:21 An: SwellRT/swellrt; SwellRT/swellrt Cc: Comment Betreff: AW: [SwellRT/swellrt] Client error writing in a large object (#244)

I was able to do text Input for 2 minutes without Problems now. Typically i would have been able to Input a maximum of 30 seconds. Sure i will continue inputting more text but i am 99% sure the issue will not Show up anymore.

Von: Harald Jordan Gesendet: Dienstag, 9. Oktober 2018 21:03 An: SwellRT/swellrt; SwellRT/swellrt Cc: Comment Betreff: AW: [SwellRT/swellrt] Client error writing in a large object (#244)

Great! On it…

Von: Pablo Ojanguren Gesendet: Dienstag, 9. Oktober 2018 21:02 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I've just pushed agaisnt "develop" branch on GitHub a commit disabling caret annotations by default. Could you build this branch and try again? I am also running some tests with selenium, sometimes I run into the issue with them.

El mar., 9 oct. 2018 a las 8:25, haraldjordan78 (<notifications@github.com

) escribió:

Sounds great disabling annotations, i am Looking Forward to see how you do this 😊

By the way, i raised log level of the swell Server to ALL, but all i found was more or less the JSON messages that are sent for the letters that are typed. Then i played with enabling verbose JavaScript:

__swell_config = { websocketDebugLog: true, captureExceptions: true, websocketHeartbeatInterval: 30000 };

Also, when keeping to step on in the Debugger, sometimes (really not Always) i end up here. The call stack indicates some Annotation realated stuff. But i am not sure if this is still the same flow or just any other function that was called in another thread.

Von: Pablo Ojanguren Gesendet: Montag, 8. Oktober 2018 23:53 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

I share some thoughts...

The bug seems me a race condition, that's why it is hard to reproduce.

According to the error message "range bla bla..." It happens on a mutation/edit of the local view of the text or on setting an annotation with end index out of document's size.

Caret annotations - which spans the size of the document- are a good candidate as source of problems. Eg. If a

one user sends these annotations before text changes it could make this error to happen.

I could try to disable caret annotations and you could try to reproduce the bug with your system


Tomorrow afternoon I expect to explore this hypothesis.

El 8 oct. 2018 7:53 p. m., haraldjordan78 notifications@github.com escribió:

Hey,

thanks for the Infos. Now i am able to set breakpoints in the debug Server from the Chrome Debugger Tools.

Unfortunately it doesn’t lead me too far until now, i just end up in the „OnMessage“ function but and i see that the Server did send a message to the Client, but i have not yet any indication what class/function in the Server caused this.

As next step i will try to figure out how to enable debug logging on the Server. If that also leads nowhere, i’ll fall back to the easy method: find out the last Version where it worked and get out what changes were done to the next Version.

Cheers! Harry

Von: Pablo Ojanguren Gesendet: Sonntag, 7. Oktober 2018 12:52 An: SwellRT/swellrt Cc: haraldjordan78; Comment Betreff: Re: [SwellRT/swellrt] Client error writing in a large object (#244)

My bad... I read it too fast! Well, regarding the screenshot showing the error in the browser's console, I am not sure that both are related, "Illegal State Exception" and "ERROR[WaveWebSocketClient]". To check this properly, I fixed the first exception in the develop/ branch. About the second error, it seems a race condition. I paste below all the methods that can trigger this error. Also, I suggest to enable the following property to get detailed error messages: __swell_config = { captureExceptions: true, };

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SwellRT/swellrt/issues/244#issuecomment-428074919, or mute the thread < https://github.com/notifications/unsubscribe-auth/AEP6D4nxulfjxtGkCaczutk3OgzZCsRMks5ujEFsgaJpZM4WVn0A

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SwellRT/swellrt/issues/244#issuecomment-428659124, or mute the thread https://github.com/notifications/unsubscribe-auth/AEP6D8-BTd8YKKgEx05QI-xEKuJFOJ8Eks5uji3HgaJpZM4WVn0A .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.