NEWS
UNSOLVED [gelöst] BUG: sayit funktioniert bei win nicht zuverlässig.
-
Danke für die Antwort.
Wäre doch schön, wenn dieser Standard-Adapter, der schon lange existiert endlich einmal richtig funktionieren würde!
mfg
-
Haben die anderen die den Fehler haben auch das Problem wie in https://github.com/ioBroker/ioBroker.sayit/issues/93 beschrieben ... also mit EBUSY?
Windows oder auch Linux?
-
@apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
Haben die anderen die den Fehler haben auch das Problem wie in https://github.com/ioBroker/ioBroker.sayit/issues/93 beschrieben ... also mit EBUSY?
Windows oder auch Linux?
Gibt es hier was Neues?
Wäre doch schön wenn wir dies Problem lösen könnten. -
Vielleicht hilft dies zur Fehlersuche:
- sayit Instanz neu gestartet
- in sayit debug eingeschaltet.
setState('sayit.2.tts.text', "a b c ");
Im log kommt:
sayit.2 2020-07-27 09:17:53.686 debug (6940) Duration "a b c ": 0 sayit.2 2020-07-27 09:17:53.685 error (6940) File error: Error: EBUSY: resource busy or locked, open 'C:\iobroker\node_modules\iobroker.sayit\sayit.2.say.mp3' sayit.2 2020-07-27 09:17:53.582 debug (6940) Cache File C:\iobroker\cache\97531baa945533aab17f6d0f5c9cba36.mp3 for "de;a b c " not found sayit.2 2020-07-27 09:17:53.581 info (6940) saying: a b c
Fragen:
Wieso findet er ein cache file nicht?
wieso busy or locked ? -
@bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
Gibt es hier was Neues?
Wäre doch schön wenn wir dies Problem lösen könnten.Was soll ich sagen ... Google gibt leider nichts sinnvolles her was mich zu irgendwelchen Vermutungen bringt.
EIne Interessante Frage wäre ob das nur bei Windows auftritt oder auch auf Linux ... wir hatten letztens schonmal Fälle wo bei Windows unbekannterweise File Descriptoren offen geblieben waren und so logfiles nicht entfernt wurden bzw noch als "da" erkannt wurden.
Habe da gerade keinen echten AnsatzpunktWeiter beobachten und dokumentieren ... vllt kommt ja irgendwann mal die relevante Info
-
Weißt du eine Alternative wie man mp3 files erzeugen kann.
hatte das hier:
https://forum.iobroker.net/topic/33635/text-to-mp3
schon mal probiert.Hat aber nicht so richtig geklappt.
-
@bahnuhr Naja die Frage ist ja ... wenn es mit dem nicht tut warum sollte was anderes tun ... Man muss rausfinden wo dieses BUSY herkommt
-
Gerade unter Win getestet, funktioniert einwandfrei.
setState('sayit.0.tts.text', "a b c ");
sayit.0 2020-07-27 10:27:28.741 debug (36764) Duration "a b c ": 4 sayit.0 2020-07-27 10:27:28.719 info (36764) saying: a b c sayit.0 2020-07-27 10:27:19.713 debug (36764) Duration "C:\Program Files\iobroker\Test\node_modules\iobroker.sayit/gong.mp3": 9 sayit.0 2020-07-27 10:27:19.662 info (36764) saying: C:\Program Files\iobroker\Test\node_modules\iobroker.sayit/gong.mp3
Hast du mehrer SayIt Instanzen?
-
@sigi234 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
Gerade unter Win getestet, funktioniert einwandfrei.
setState('sayit.0.tts.text', "a b c ");
sayit.0 2020-07-27 10:27:28.741 debug (36764) Duration "a b c ": 4 sayit.0 2020-07-27 10:27:28.719 info (36764) saying: a b c sayit.0 2020-07-27 10:27:19.713 debug (36764) Duration "C:\Program Files\iobroker\Test\node_modules\iobroker.sayit/gong.mp3": 9 sayit.0 2020-07-27 10:27:19.662 info (36764) saying: C:\Program Files\iobroker\Test\node_modules\iobroker.sayit/gong.mp3
Hast du mehrer SayIt Instanzen?
Manchmal klappt es, sehr oft aber nicht.
Wenn du es direkt hintereinander probierst dann klappt es meistens nicht.und ja, habe 3 sayit instanzen
-
@bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
und ja, habe 3 sayit instanzen
Und die schreiben alle ins kleiche File? ... hm ... vllt sollte man da mal den Filenamen "zufälliger" machen (also pro instanz oder so)
-
@apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
Und die schreiben alle ins kleiche File? ... hm ... vllt sollte man da mal den Filenamen "zufälliger" machen (also pro instanz oder so)
das versteh ich jetzt nicht.
-
Das hat aber eigentlich nichts mit den Instanzen zu tun (glaub ich zumindest).
hat ja früher mit meinem win Laptop auch nicht funktioniert.
-
@bahnuhr Ja war auch blödsinn ... ist ja schon instanzspezifisch: sayit.2.say.mp3 Schade
Ein Log mit nem "grösseren zeitrum drim rum gibt auch nix her oder ?!
-
@apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
@bahnuhr Ja war auch blödsinn ... ist ja schon instanzspezifisch: sayit.2.say.mp3 Schade
Ein Log mit nem "grösseren zeitrum drim rum gibt auch nix her oder ?!
Eigentlich nicht; zumindest fällt mir nichts auf.
Wie schon erwähnt, hab ich das problem aber schon ganz lange.
Und auch schon auf dem alten Rechner.P.S.
Ich weiß, dass ist jetzt nicht sehr aussagefähig.
Aber wo soll man ansetzen? -
Ok, installiere mal von Githbu (version bleibt gleich). Ich habe jetzt mal verhindert das versucht wird das File parallel zu beschreiben ... da gab es zwei Stellen im Code die schreiben wollten ... Keine Ahnung ob es was hilft. Wenn ja ist cool ... wenn nein bin ich erstmal wieder am Ende meiner Ideen
-
@apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
Ok, installiere mal von Githbu (version bleibt gleich). Ich habe jetzt mal verhindert das versucht wird das File parallel zu beschreiben ... da gab es zwei Stellen im Code die schreiben wollten ... Keine Ahnung ob es was hilft. Wenn ja ist cool ... wenn nein bin ich erstmal wieder am Ende meiner Ideen
Habs probiert, kam aber Fehler 25
$ ./iobroker url "https://github.com/ioBroker/ioBroker.sayit/tarball/master" sayit install https://github.com/ioBroker/ioBroker.sayit/tarball/master NPM version: 6.14.4 npm install https://github.com/ioBroker/ioBroker.sayit/tarball/master --loglevel error (System call) npm ERR! code EPERMnpm ERR! syscall unlinknpm ERR! path C:\iobroker\node_modules\iobroker.sayit\sayit.2.say.mp3npm ERR! errno -4048 npm ERR! Error: EPERM: operation not permitted, unlink 'C:\iobroker\node_modules\iobroker.sayit\sayit.2.say.mp3'npm ERR! [OperationalError: EPERM: operation not permitted, unlink 'C:\iobroker\node_modules\iobroker.sayit\sayit.2.say.mp3'] {npm ERR! cause: [Error: EPERM: operation not permitted, unlink 'C:\iobroker\node_modules\iobroker.sayit\sayit.2.say.mp3'] {npm ERR! errno: -4048,npm ERR! code: 'EPERM',npm ERR! syscall: 'unlink',npm ERR! path: 'C:\\iobroker\\node_modules\\iobroker.sayit\\sayit.2.say.mp3'npm ERR! },npm ERR! errno: -4048,npm ERR! code: 'EPERM',npm ERR! syscall: 'unlink',npm ERR! path: 'C:\\iobroker\\node_modules\\iobroker.sayit\\sayit.2.say.mp3',npm ERR! parent: 'iobroker'npm ERR! }npm ERR! npm ERR! The operation was rejected by your operating system.npm ERR! It's possible that the file was already in use (by a text editor or antivirus),npm ERR! or that you lack permissions to access it.npm ERR! npm ERR! If you believe this might be a permissions issue, please double-check thenpm ERR! permissions of the file and its containing directories, or try runningnpm ERR! the command again as root/Administrator. npm ERR! A complete log of this run can be found in:npm ERR! C:\Users\iobroker\AppData\Roaming\npm-cache\_logs\2020-07-27T09_25_58_104Z-debug.log ERROR: host.NUC-Buero Cannot install https://github.com/ioBroker/ioBroker.sayit/tarball/master: 4294963248 ERROR: process exited with code 25
Ich versuch es gleich nochmal.
-
@bahnuhr stoppe mal die Instanz, sieht so aus als ob er das File löschen wollte als versucht wurde was rein zu schreiben
-
Instanz gestoppt und neu versucht.
Weiterhin Fehler 25:
$ ./iobroker url "https://github.com/ioBroker/ioBroker.sayit/tarball/master" sayit install https://github.com/ioBroker/ioBroker.sayit/tarball/master NPM version: 6.14.4 npm install https://github.com/ioBroker/ioBroker.sayit/tarball/master --loglevel error (System call) npm ERR! code EPERMnpm ERR! syscall renamenpm ERR! path C:\iobroker\node_modules\iobroker.sayitnpm ERR! dest C:\iobroker\node_modules\.iobroker.sayit.DELETEnpm ERR! errno -4048 npm ERR! Error: EPERM: operation not permitted, rename 'C:\iobroker\node_modules\iobroker.sayit' -> 'C:\iobroker\node_modules\.iobroker.sayit.DELETE'npm ERR! [OperationalError: EPERM: operation not permitted, rename 'C:\iobroker\node_modules\iobroker.sayit' -> 'C:\iobroker\node_modules\.iobroker.sayit.DELETE'] {npm ERR! cause: [Error: EPERM: operation not permitted, rename 'C:\iobroker\node_modules\iobroker.sayit' -> 'C:\iobroker\node_modules\.iobroker.sayit.DELETE'] {npm ERR! errno: -4048,npm ERR! code: 'EPERM',npm ERR! syscall: 'rename',npm ERR! path: 'C:\\iobroker\\node_modules\\iobroker.sayit',npm ERR! dest: 'C:\\iobroker\\node_modules\\.iobroker.sayit.DELETE'npm ERR! },npm ERR! errno: -4048,npm ERR! code: 'EPERM',npm ERR! syscall: 'rename',npm ERR! path: 'C:\\iobroker\\node_modules\\iobroker.sayit',npm ERR! dest: 'C:\\iobroker\\node_modules\\.iobroker.sayit.DELETE',npm ERR! parent: 'iobroker'npm ERR! }npm ERR! npm ERR! The operation was rejected by your operating system.npm ERR! It's possible that the file was already in use (by a text editor or antivirus),npm ERR! or that you lack permissions to access it.npm ERR! npm ERR! If you believe this might be a permissions issue, please double-check thenpm ERR! permissions of the file and its containing directories, or try runningnpm ERR! the command again as root/Administrator. npm ERR! A complete log of this run can be found in:npm ERR! C:\Users\iobroker\AppData\Roaming\npm-cache\_logs\2020-07-27T09_30_00_889Z-debug.log ERROR: host.NUC-Buero Cannot install https://github.com/ioBroker/ioBroker.sayit/tarball/master: 4294963248 ERROR: process exited with code 25
-
@bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
EPERM: operation not permitted
Irgendetwas sagt das npm das nichtdarf ... lösch das verzeichnis doch mal "per hand"
-
@apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
@bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
EPERM: operation not permitted
Irgendetwas sagt das npm das nichtdarf ... lösch das verzeichnis doch mal "per hand"
Instanzen gelöscht.
Dienst beendet.
versucht ..node_modules.iobroker.sayit.sayit.2.say.mp3 zulöschen; hat aber nicht geklappt. mp3 Datei wurde ständig wieder neu erstellt.
rechner komplett runter gefahren und neu gestartet.
jetzt verzeichnis ...node_modules.iobroker.sayit gelöscht.
auch auch verzeichnisse ...iobroker-data.files.sayit ... gelöschtdienst gestartet.
warten bis alle Instanzen wieder da waren.
Und dann: über git sayit neu installiert.
mit code 0 (also alles ok).
Verzeichnis unter ...node_modules und ...iobroker-data sind wieder da.
Dann Instanzen 2,3,4 neu installiert.
hat alles geklappt.Dann Script:
setState('sayit.2.tts.text', "a b c ");
und gleich Fehler im log:
host.NUC-Buero 2020-07-27 11:57:53.449 error instance system.adapter.sayit.2 terminated with code 1 (JS_CONTROLLER_STOPPED) host.NUC-Buero 2020-07-27 11:57:53.449 error Caught by controller[0]: at processTicksAndRejections (internal/process/task_queues.js:84:21) host.NUC-Buero 2020-07-27 11:57:53.449 error Caught by controller[0]: at endReadableNT (_stream_readable.js:1221:12) host.NUC-Buero 2020-07-27 11:57:53.449 error Caught by controller[0]: at IncomingMessage.EventEmitter.emit (domain.js:482:12) host.NUC-Buero 2020-07-27 11:57:53.448 error Caught by controller[0]: at IncomingMessage.emit (events.js:327:22) host.NUC-Buero 2020-07-27 11:57:53.448 error Caught by controller[0]: at IncomingMessage.<anonymous> (C:\iobroker\node_modules\iobroker.sayit\lib\text2speech.js:165:40) host.NUC-Buero 2020-07-27 11:57:53.447 error Caught by controller[0]: ReferenceError: error is not defined sayit.2 2020-07-27 11:57:53.275 info (8896) stopping... sayit.2 2020-07-27 11:57:53.274 error (8896) ReferenceError: error is not defined at IncomingMessage.<anonymous> (C:\iobroker\node_modules\iobroker.sayit\lib\text2speech.js:165:40) at IncomingMessage.emit (events.js:327:22) at sayit.2 2020-07-27 11:57:53.274 error (8896) uncaught exception: error is not defined sayit.2 2020-07-27 11:57:53.144 info (8896) saying: a b c``` mfg Dieter