Coder Social home page Coder Social logo

inotify stopped working about gerbera HOT 36 CLOSED

nobanzai avatar nobanzai commented on June 8, 2024
inotify stopped working

from gerbera.

Comments (36)

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

I experienced some strange behaviour on my 15.4 also (I plan to update to 15.5 soon) and updated some code in current development branch.

Anyway, Gerbera 1.5.1 is quite old, so I recommend to update your box (https://build.opensuse.org/package/show/multimedia:apps/gerbera) and see whether the issue still exists.

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

Sorry, I have 1.12.1 installed!
After updating to this version, the problems occurred.

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

Which package did you install? MultiMedia:apps?

Did you try to reinstall after updating to LEAP 15.5?

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

I had installed gerbera before updating to 15.5. And AFAIR the Update to 15.5 also updated gerbera. And there was at least one more update since then.

rpm says:

Name : gerbera
Version : 1.12.1
Release : lp155.36.2
Architecture: x86_64
Install Date: Sun Nov 12 14:46:30 2023
Group : Productivity/Multimedia/Other
Size : 7361471
License : GPL-2.0-only
Signature : RSA/SHA256, Tue Oct 24 01:24:52 2023, Key ID 77ec2301f23c6aa3
Source RPM : gerbera-1.12.1-lp155.36.2.src.rpm
Build Date : Tue Oct 24 01:23:59 2023

And zypper says:

i+ | gerbera | package | 1.12.1-lp155.36.2 | x86_64 | Multimedia - Apps - Leap 15.5

So it is the version from Multimedia:Apps

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

Can you run gerbera --compile-info

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

gerbera --compile-info

Gerbera UPnP Server 1.12.1
Copyright 2016-2022 Gerbera Contributors.
Licence GPLv2: GNU GPL version 2.
This is free software: you are free to change and redistribute it.

Compile info

WITH_NPUPNP=NO
WITH_MAGIC=1
WITH_MYSQL=NO
WITH_CURL=YES
WITH_INOTIFY=1
WITH_JS=1
WITH_TAGLIB=1
WITH_AVCODEC=1
WITH_FFMPEGTHUMBNAILER=1
WITH_EXIF=0
WITH_EXIV2=1
WITH_MATROSKA=YES
WITH_WAVPACK=NO
WITH_SYSTEMD=1
WITH_LASTFM=NO
WITH_DEBUG=YES
WITH_DEBUG_OPTIONS=YES
WITH_TESTS=1

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

I'm on 15.5 now also and don't see an issue with inotify.

I recently fixed an issue when you manually renamed a new folder (on my samba share) and then added something into that folder. Maybe that's your scenario as well.

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

No, in my scenario I add a new folder with some new songs to one of the autoscan hierarchies. In this case the songs are not added to the database until gerbera is restarted.

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

That sounds very similar. I did not investigate into all scenarios, but the new files show up again.

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

But isn't that the normal scenario for autoscan usage? Adding new folders or files, modfying files and so on? In none of those cases the modifications are seen by gerbera.

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

In my case it was the contents of a new folder. Been broken along the way. Gerbera did not route the changes to the correct target anymore.

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

Do you know, when your fixes will be available for openSUSE Leap 15.5?
The package in the multimedia repo still is the old one from about a year ago.

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

I am working on the new gerbera version which hopefully will be picked up by the tumbleweed package maintainer to make it publicly available.

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

I got 1.12.1 from multimedia:apps, but still inotify does not work - neither for modfied nor for new files nor for new directories nor for new or modifed playlists.
Any idea?

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

The change was made after 1.12.1. So you have to hope for #2944.
Otherwise it's worth another release afterwards

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

Would it be possible to build a 1.12.2 Version including this patch?

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

There is no way to extract that single patch (if its only one) from the history of more than 100 commits.

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

Uhm, no, I meant, can you build a version with all new commits in the near future - including this patch?

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

I already started the PR #2944. I am only waiting for one more feedback on #2917 and my local tests after the latest changes.

from gerbera.

jimishol avatar jimishol commented on June 8, 2024

I am on opensuse tubleweed. After resent update that fixed a crash on start issue, i noticed that some songs in Music folder was not in database. (Anyway I always prefer manual scans than auto ones.) I did not see any option for manually scan folders in web interface (that i would like to have). My only option seemed to be to delete Music folder and add it again so as a new database to be created.
I write this to confirm that neither inotify nor timed scan entering of some folder to database is working.
I tried to enter manually the Music folder path through expert config option of web interface but even if an entry was created and saved, the path record remained empty with some error warning. (If it tried to edit the config in /etc/ as user it would normal to fail but i expected to try to edit the configuration in user's folder.)
My music folder contains no files but only folders and it is actually a link, but following links is enabled.
There is a config xml in /etc/ folder but i actually use a configuration that exist in my /home/user/ directory and in config tab of web interface i see that indeed my home's configuration is used.
It is possible though that my configuration is faulty as it is probably rooted many many years ago to mediatob use before switching to gerbera.

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

Restarting gerbera leads to a database update here.
It is annoying, but works.

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

I installed

Name : gerbera
Version : 2.0.0
Release : lp155.40.2
Architecture: x86_64
Install Date: Sa 13 Jan 2024 17:40:44 CET
Group : Productivity/Multimedia/Other
Size : 7859356
License : GPL-2.0-only
Signature : RSA/SHA256, Di 09 Jan 2024 02:22:56 CET, Key ID 77ec2301f23c6aa3
Source RPM : gerbera-2.0.0-lp155.40.2.src.rpm
Build Date : Di 09 Jan 2024 02:22:02 CET

today, but the problem remains - inotify doesn't seem to work.

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

Can you comment out the hardening additions in gerbera.service. They may block inotify. Also, you may add debug-mode="autoscan" in the <server tag to see what happens under the hood.

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

I commented out the hardening additions and added the debug option, but there is something really strange going on.
The debug output clearly shows, that gerbera gets inotify events, and afterwards the added songs are shown up in the database. But: My import script is never called - at least its output isn't shown in the log.
After removing the debug option, inotify seems to stop working. No new files show up in the database.
For every test I copied a folder with a few songs to one of the autoscan directories, always changed the name of the folder and the tags of the song according to the folder name.

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

If you want to get output, you need to use print. console.log does not work. You can add |script debug-mode to see the details of the scripting engine

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

Before installing this version, I got every "print" in gerbera.log. Has this changed?

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

Sorry, pushed that private change by accident. Thinking about a new function allowing to set mode to info or debug.

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

So what do I have to change in my scripts to get the log back?
And what about: After removing the debug option, inotify seems to stop working, while it seems to work with active debugging?

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

For the moment you have to keep the debug-mode.

Inotify should not depend on debug. Some hidden cause we have to find out.

In the meantime, I'm working on the print-fix

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

But even in debug mode my print statements don't show up?!?

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

Then we should focus on the autoscan messages or errors when loading the scripts on startup.

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

Ok, I "optimized" my import routines using the new import functions.
It seems to work at least partially (except for the prints).
But I don't understand the relationship between script-folder/import-function and virtual-layout/import-script.
I wanted to use the new method and added to my config a script-folder section and a custom folder containing one .js file with an addAudio function. I removed the database and started gerbera, but not my function was used but the default one, so the default layout was created. After setting virtual-layout type to js, once more deleting the database and restarting gerbera, my function was called and the desired layout was created. I didn't set an import-script, though.
To my understanding of the docs it shouldn't be necessary to set virtual-layout to js, if a custom script-folder is set, that contains a jscript with an addAudio function. And on the other hand it shouldn't work, if only virtual-layout is set to js, but no import script is defined.
Is this a bug or a fundamental misunderstaning on my side?

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

I tested a few more things. With debug-mode="script" I got back my print output.
But indeed my own js function only is called with virtual-layout type="js", not with virtual-layout type="builtin".

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

First of all virtual-layout type="js" is required to execute any js script (except playlist-parser).

The configuration of the javascript engine was changed between 1.12 and 2.0, which means that virtual-layou/import-script will be deprecated soon.

I'm working on a new function print2 to allow control of message type. print will be reverted to the former info level.

Is the inotify issue resolved with the js-layout mode?

from gerbera.

nobanzai avatar nobanzai commented on June 8, 2024

First of all virtual-layout type="js" is required to execute any js script (except playlist-parser).

Ok, good to know - so my actual configuration is as it should be for the given purpose.

The configuration of the javascript engine was changed between 1.12 and 2.0, which means that virtual-layou/import-script will be deprecated soon.

Ok.

I'm working on a new function print2 to allow control of message type. print will be reverted to the former info level.

Could it be named like printl or something like that?

Is the inotify issue resolved with the js-layout mode?

Seems so - adding a folder, adding a file to folder, renaming a file and deleting a file or folder works as expected.
Changing a tag does not trigger an action.

If I'd like to ask questions regarding other small problems, where would be the best place?

Thx4all.

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on June 8, 2024

NB: You can place you questions in under discussion. Some may already be answered there.

from gerbera.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.