ether / etherpad-lite

Etherpad: A modern really-real-time collaborative document editor.
http://docs.etherpad.org/
Apache License 2.0
16.02k stars 2.79k forks source link

Can't open new Pads since Version 1.9.0 #5979

Open gk4468 opened 7 months ago

gk4468 commented 7 months ago

Describe the bug I'm running Etherpad 1.9.3 in Openshift 4.12 and I can't open new Pads. When starting the application I get the following error.

[2023-10-16 07:31:03.460] [ERROR] console - (node:1) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated [2023-10-16 07:35:40.065] [ERROR] console - Error: Timeout: Did not receive an init message from worker after 10000ms. Make sure the worker calls expose(). at Timeout._onTimeout (/opt/etherpad-lite/src/node_modules/threads/dist/master/spawn.js:35:53) at listOnTimeout (node:internal/timers:569:17) at process.processTimers (node:internal/timers:512:7) [2023-10-16 07:35:40.066] [DEBUG] http - 500, GET /static/js/vendors/html10n.js?v=db2fee4b

Expected behavior I want new pads to be able to be opened again.

SamTV12345 commented 7 months ago

Could you please give a bit more context about your setup? Which version of Etherpad are you runing? Which plugins do you use? How can I reproduce the issue?

gk4468 commented 7 months ago

Hello SamTV12345,

I'm using Etherpad Version 1.9.3 without Plugins. The application is deployed in Openshift 4.12 with s2i from DockerHub https://hub.docker.com/r/etherpad/etherpad/

When I'm using the Etherpad Version 1.8.18, Etherpad is running without problems with the same setup.

SamTV12345 commented 7 months ago

Thanks for the prompt response @gk4468. Is there an easy way to replicate your setup? I always use K8s for HA.

gk4468 commented 7 months ago

I don't know how the setup can be easily recreated. The Openshift environment is provided to me.

SamTV12345 commented 7 months ago

I don't know how the setup can be easily recreated. The Openshift environment is provided to me.

Ok. I'll try to get started with OpenShift and replicate your setup.

SamTV12345 commented 3 months ago

Did you experience the issues again? I wasn't very successful with replicating the OpenShift setup

gk4468 commented 3 months ago

With version 1.9.7, etherpad can now be deployed in the Openshift cluster. However, when I connect a MySQL DB for persistence I get the same error message again.

SamTV12345 commented 3 months ago

With version 1.9.7, etherpad can now be deployed in the Openshift cluster. However, when I connect a MySQL DB for persistence I get the same error message again.

Can you paste which error you mean?

gk4468 commented 3 months ago

Here is the error I receive

[2024-02-21T07:38:12.311] [ERROR] settings - Error: Timeout: Did not receive an init message from worker after 10000ms. Make sure the worker calls expose().
at Timeout._onTimeout (/opt/etherpad-lite/src/node_modules/threads/dist/master/spawn.js:35:53)
at listOnTimeout (node:internal/timers:573:17)
at process.processTimers (node:internal/timers:514:7)
[2024-02-21T07:38:12.312] [DEBUG] http - 500, GET /static/js/vendors/html10n.js?v=67eecfd1
SamTV12345 commented 3 months ago

I'll check that out. I'm wondering where this error comes from. Can you set minify:false in your settings.json

gk4468 commented 3 months ago

Setting Minify to false solved the Problem with the Layout

minify:true withminify

minify:false withoutminify

But I have still Problem to create new Pads, when I enter a new pad name, for example "hello1234" it try to open the URL mydomain.de/?# and I still see the homepage. Here the logs when I try to create a new pad.

[2024-02-21T13:19:11.013] [DEBUG] http - 200, GET /stats
[2024-02-21T13:19:27.192] [DEBUG] http - 200, GET /stats
[2024-02-21T13:19:29.448] [DEBUG] SessionStore - GET Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN
[2024-02-21T13:19:29.448] [DEBUG] ueberDB - GET - sessionstorage:Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN - {"cookie":{"originalMaxAge":864000000,"expires":"2024-03-02T13:06:20.458Z","secure":false,"httpOnly":true,"path":"/","sameSite":"Lax"},"user":{"is_admin":true,"username":"admin"}} - from cache
[2024-02-21T13:19:29.451] [DEBUG] SessionStore - TOUCH Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN
[2024-02-21T13:19:29.453] [DEBUG] http - 200, GET /?
[2024-02-21T13:19:41.014] [DEBUG] http - 200, GET /stats

Then when I try to open the pad by the URL mydomain.de/p/hallo1234 it opens the pad and I can edit it. Here the logs

[2024-02-21T13:33:27.192] [DEBUG] http - 200, GET /stats
[2024-02-21T13:33:41.015] [DEBUG] http - 200, GET /stats
[2024-02-21T13:33:56.903] [DEBUG] SessionStore - GET Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN
[2024-02-21T13:33:56.904] [DEBUG] ueberDB - GET - sessionstorage:Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN - {"cookie":{"originalMaxAge":864000000,"expires":"2024-03-02T13:21:32.491Z","secure":false,"httpOnly":true,"path":"/","sameSite":"Lax"},"user":{"is_admin":true,"username":"admin","padAuthorizations":{"hallo12345":"create"}}} - from cache
[2024-02-21T13:33:56.906] [DEBUG] ueberDB - GET - pad:hallo12345 - {"atext":{"text":"Dies ist die K Instanz, bitte produktiv nur https://etherpad.muenchen.de nutzen.\n\nSupport https://git.muenchen.de/openshift/etherpad/\n\n","attribs":"|4+3r"},"pool":{"numToAttrib":{"0":["author","a.8uo5re59DFlbsC9m"]},"nextNum":1},"head":0,"chatHead":-1,"publicStatus":false,"savedRevisions":[]} - from cache
[2024-02-21T13:33:56.909] [DEBUG] SessionStore - TOUCH Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN
[2024-02-21T13:33:56.910] [DEBUG] http - 304, GET /p/hallo12345
[2024-02-21T13:33:57.036] [DEBUG] SessionStore - GET Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN
[2024-02-21T13:33:57.037] [DEBUG] ueberDB - GET - sessionstorage:Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN - {"cookie":{"originalMaxAge":864000000,"expires":"2024-03-02T13:21:32.491Z","secure":false,"httpOnly":true,"path":"/","sameSite":"Lax"},"user":{"is_admin":true,"username":"admin","padAuthorizations":{"hallo12345":"create"}}} - from cache
[2024-02-21T13:33:57.038] [DEBUG] socket.io - NIZo41NfZkG2zaR5AAAB connected from IP 10.138.120.1
[2024-02-21T13:33:57.194] [DEBUG] http - 200, GET /stats
[2024-02-21T13:33:57.279] [DEBUG] socket.io - from NIZo41NfZkG2zaR5AAAB: {
component: 'pad',
type: 'CLIENT_READY',
padId: 'hallo12345',
token: 't.f2T7eV2ye5fDaLWeBKjY',
userInfo: { colorId: null, name: null }
}
[2024-02-21T13:33:57.280] [DEBUG] ueberDB - GET - pad:hallo12345 - {"atext":{"text":"Dies ist die K Instanz, bitte produktiv nur https://etherpad.muenchen.de nutzen.\n\nSupport https://git.muenchen.de/openshift/etherpad/\n\n","attribs":"|4+3r"},"pool":{"numToAttrib":{"0":["author","a.8uo5re59DFlbsC9m"]},"nextNum":1},"head":0,"chatHead":-1,"publicStatus":false,"savedRevisions":[]} - from cache
[2024-02-21T13:33:57.280] [DEBUG] ueberDB - GET - pad2readonly:hallo12345 - "r.94b1d0f339463c5317674a7e820a6186" - from cache
SamTV12345 commented 3 months ago

This is weird behaviour. Normally it just doesn't minify the output. Could it be that something is cashed in your browser?

gk4468 commented 2 months ago

No, I cleared my cache and the application still behaves like this

gk4468 commented 2 months ago

Now I get a new Error when I try to create a new Pad

[2024-03-13T08:33:48.089] [DEBUG] socket.io - to qjH0RlkihOobrbRrAAAB: {"type":"CLIENT_VARS","data":{"skinName":"colibris","skinVariants":"super-light-toolbar super-light-editor light-background","randomVersionString":"c8f32510","accountPrivs":{"maxRevisions":100},"automaticReconnectionTimeout":0,"initialRevisionList":[],"initialOptions":{},"savedRevisions":[],"collab_client_vars":{"initialAttributedText":{"text":"Dies ist die K Instanz, bitte produktiv nur https://etherpad.muenchen.de nutzen.\n\nSupport https://git.muenchen.de/openshift/etherpad/\n\n","attribs":"|4+3r"},"clientIp":"127.0.0.1","padId":"seperatertest","historicalAuthorData":{"a.sVgEaJ3cbyFicXYL":{"name":null,"colorId":44}},"apool":{"numToAttrib":{},"nextNum":0},"rev":0,"time":1710318827985},"colorPalette":["#ffc7c7","#fff1c7","#e3ffc7","#c7ffd5","#c7ffff","#c7d5ff","#e3c7ff","#ffc7f1","#ffa8a8","#ffe699","#cfff9e","#99ffb3","#a3ffff","#99b3ff","#cc99ff","#ff99e5","#e7b1b1","#e9dcAf","#cde9af","#bfedcc","#b1e7e7","#c3cdee","#d2b8ea...
[2024-03-13T08:33:48.090] [DEBUG] socket.io - to qjH0RlkihOobrbRrAAAB: {"type":"COLLABROOM","data":{"type":"USER_NEWINFO","userInfo":{"colorId":44,"name":null,"userId":"a.sVgEaJ3cbyFicXYL"}}}
[2024-03-13T08:33:48.194] [WARN] client - Error: Attempt to load undefined module. -- {
errorId: 'PeAz9h8jtoO4lJ6NTf0M',
type: 'Unhandled Promise rejection',
msg: 'Error: Attempt to load undefined module.',
url: 'https://etherpad-test.muenchen.de/p/seperatertest',
source: 'https://etherpad-test.muenchen.de/static/js/require-kernel.js?v=c8f32510',
linenumber: 398,
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0',
stack: 'loadModule@https://etherpad-test.muenchen.de/static/js/require-kernel.js?v=c8f32510:398:15\n' +
'after@https://etherpad-test.muenchen.de/static/js/require-kernel.js?v=c8f32510:434:21\n' +
'fetchModuleSync@https://etherpad-test.muenchen.de/static/js/require-kernel.js?v=c8f32510:386:5\n' +
'_find@https://etherpad-test.muenchen.de/static/js/require-kernel.js?v=c8f32510:444:20\n' +
'_moduleAtPath@https://etherpad-test.muenchen.de/static/js/require-kernel.js?v=c8f32510:452:10\n' +
'moduleAtPathSync@https://etherpad-test.muenchen.de/static/js/require-kernel.js?v=c8f32510:488:20\n' +
'_designatedRequire@https://etherpad-test.muenchen.de/static/js/require-kernel.js?v=c8f32510:556:18\n' +
'designatedRequire@https://etherpad-test.muenchen.de/static/js/require-kernel.js?v=c8f32510:584:74\n' +
'requireRelative@https://etherpad-test.muenchen.de/static/js/require-kernel.js?v=c8f32510:589:12\n' +
'require@https://etherpad-test.muenchen.de/static/js/require-kernel.js?v=c8f32510:622:16\n' +
'(module ep_etherpad-lite/static/js/ace.js)/Ace2Editor/this.init@https://etherpad-test.muenchen.de/javascripts/lib/ep_etherpad-lite/static/js/pad.js?callback=require.define&v=c8f32510:3219:29\n'
}
[2024-03-13T08:33:48.197] [DEBUG] http - 200, POST /jserror

image

SamTV12345 commented 2 months ago

Setting Minify to false solved the Problem with the Layout

minify:true withminify

minify:false withoutminify

But I have still Problem to create new Pads, when I enter a new pad name, for example "hello1234" it try to open the URL mydomain.de/?# and I still see the homepage. Here the logs when I try to create a new pad.

[2024-02-21T13:19:11.013] [DEBUG] http - 200, GET /stats
[2024-02-21T13:19:27.192] [DEBUG] http - 200, GET /stats
[2024-02-21T13:19:29.448] [DEBUG] SessionStore - GET Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN
[2024-02-21T13:19:29.448] [DEBUG] ueberDB - GET - sessionstorage:Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN - {"cookie":{"originalMaxAge":864000000,"expires":"2024-03-02T13:06:20.458Z","secure":false,"httpOnly":true,"path":"/","sameSite":"Lax"},"user":{"is_admin":true,"username":"admin"}} - from cache
[2024-02-21T13:19:29.451] [DEBUG] SessionStore - TOUCH Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN
[2024-02-21T13:19:29.453] [DEBUG] http - 200, GET /?
[2024-02-21T13:19:41.014] [DEBUG] http - 200, GET /stats

Then when I try to open the pad by the URL mydomain.de/p/hallo1234 it opens the pad and I can edit it. Here the logs

[2024-02-21T13:33:27.192] [DEBUG] http - 200, GET /stats
[2024-02-21T13:33:41.015] [DEBUG] http - 200, GET /stats
[2024-02-21T13:33:56.903] [DEBUG] SessionStore - GET Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN
[2024-02-21T13:33:56.904] [DEBUG] ueberDB - GET - sessionstorage:Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN - {"cookie":{"originalMaxAge":864000000,"expires":"2024-03-02T13:21:32.491Z","secure":false,"httpOnly":true,"path":"/","sameSite":"Lax"},"user":{"is_admin":true,"username":"admin","padAuthorizations":{"hallo12345":"create"}}} - from cache
[2024-02-21T13:33:56.906] [DEBUG] ueberDB - GET - pad:hallo12345 - {"atext":{"text":"Dies ist die K Instanz, bitte produktiv nur https://etherpad.muenchen.de nutzen.\n\nSupport https://git.muenchen.de/openshift/etherpad/\n\n","attribs":"|4+3r"},"pool":{"numToAttrib":{"0":["author","a.8uo5re59DFlbsC9m"]},"nextNum":1},"head":0,"chatHead":-1,"publicStatus":false,"savedRevisions":[]} - from cache
[2024-02-21T13:33:56.909] [DEBUG] SessionStore - TOUCH Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN
[2024-02-21T13:33:56.910] [DEBUG] http - 304, GET /p/hallo12345
[2024-02-21T13:33:57.036] [DEBUG] SessionStore - GET Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN
[2024-02-21T13:33:57.037] [DEBUG] ueberDB - GET - sessionstorage:Z_Uleg2R5nC4OepOTKJMY2ZWZBevlFDN - {"cookie":{"originalMaxAge":864000000,"expires":"2024-03-02T13:21:32.491Z","secure":false,"httpOnly":true,"path":"/","sameSite":"Lax"},"user":{"is_admin":true,"username":"admin","padAuthorizations":{"hallo12345":"create"}}} - from cache
[2024-02-21T13:33:57.038] [DEBUG] socket.io - NIZo41NfZkG2zaR5AAAB connected from IP 10.138.120.1
[2024-02-21T13:33:57.194] [DEBUG] http - 200, GET /stats
[2024-02-21T13:33:57.279] [DEBUG] socket.io - from NIZo41NfZkG2zaR5AAAB: {
component: 'pad',
type: 'CLIENT_READY',
padId: 'hallo12345',
token: 't.f2T7eV2ye5fDaLWeBKjY',
userInfo: { colorId: null, name: null }
}
[2024-02-21T13:33:57.280] [DEBUG] ueberDB - GET - pad:hallo12345 - {"atext":{"text":"Dies ist die K Instanz, bitte produktiv nur https://etherpad.muenchen.de nutzen.\n\nSupport https://git.muenchen.de/openshift/etherpad/\n\n","attribs":"|4+3r"},"pool":{"numToAttrib":{"0":["author","a.8uo5re59DFlbsC9m"]},"nextNum":1},"head":0,"chatHead":-1,"publicStatus":false,"savedRevisions":[]} - from cache
[2024-02-21T13:33:57.280] [DEBUG] ueberDB - GET - pad2readonly:hallo12345 - "r.94b1d0f339463c5317674a7e820a6186" - from cache

This is the code for navigating. It just replaces the url in the browser with the pad url. I can't really think about anything why this should not work. Can you try it locally?

$(() => {
  $('#go2Name').on('submit', () => {
    const padname = $('#padname').val();
    if (padname.length > 0) {
      window.location = `p/${encodeURIComponent(padname.trim())}`;
    } else {
      alert('Please enter a name');
    }
    return false;
  });

  $('#button').on('click', () => {
    window.location = `p/${randomPadName()}`;
  });

  // start the custom js
  if (typeof window.customStart === 'function') window.customStart();
});