pike issueshttps://git.lysator.liu.se/pikelang/pike/-/issues2021-02-03T15:49:32Zhttps://git.lysator.liu.se/pikelang/pike/-/issues/10059Race condition in Filesystem.Monitor.basic.InotifyMonitor()->register_path()2021-02-03T15:49:32ZHenrik (Grubba) GrubbströmRace condition in Filesystem.Monitor.basic.InotifyMonitor()->register_path()Observed on Ubuntu 18.04:
```
inotify_add_watch failed: No such file or directory
pike/lib/modules/System.pmod/_Inotify.so:1: System._Inotify._Instance()->add_watch("/.../feeds/testdir0/test_move_col_depth_header_infinity/A/X/Y",53688315...Observed on Ubuntu 18.04:
```
inotify_add_watch failed: No such file or directory
pike/lib/modules/System.pmod/_Inotify.so:1: System._Inotify._Instance()->add_watch("/.../feeds/testdir0/test_move_col_depth_header_infinity/A/X/Y",536883150)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1102: FeedImportMonitor("/.../feeds/testdir0/test_move_col_depth_header_infinity/A/X/Y", 15, next: Thu Jan 1 01:00:00 1970, st: 0)->register_path(1)
packages/feedimport/modules/feed-import.pike (4e82006b):955: FeedImportMonitor("/.../feeds/testdir0/test_move_col_depth_header_infinity/A/X/Y", 15, next: Thu Jan 1 01:00:00 1970, st: 0)->register_path(1)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:298: FeedImportMonitor("/.../feeds/testdir0/test_move_col_depth_header_infinity/A/X/Y", 15, next: Thu Jan 1 01:00:00 1970, st: 0)->create("/.../feeds/testdir0/test_move_col_depth_header_infinity/A/X/Y",15,UNDEFINED,UNDEFINED,UNDEFINED)
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/8042System Inotify attempts to call destructed functions2020-03-22T16:59:46ZPeter BortasSystem Inotify attempts to call destructed functionsImported from https://youtrack.roxen.com/issue/PIKE-42
Reported by KG Sterneberg <kg@roxen.com>
```
Unknown program: destructed object->function(1,32768,0,"")
pike/lib/modules/System.pmod/_Inotify.so:1: System._Inotify._Instance()->po...Imported from https://youtrack.roxen.com/issue/PIKE-42
Reported by KG Sterneberg <kg@roxen.com>
```
Unknown program: destructed object->function(1,32768,0,"")
pike/lib/modules/System.pmod/_Inotify.so:1: System._Inotify._Instance()->poll()
-:1: Pike.Backend(0)->`()(3600.0)
```Pike 8.0https://git.lysator.liu.se/pikelang/pike/-/issues/3935Filesystem.Traversion doesn't check if directory listing succeeded2022-08-28T19:40:46ZPeter BortasFilesystem.Traversion doesn't check if directory listing succeededImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3935
Reported by Adam Montague, Sirius Hosting <amontague@siriushosting.com>
If you create a Filesystem.Traversion object for a directory that contains
a directory that y...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3935
Reported by Adam Montague, Sirius Hosting <amontague@siriushosting.com>
If you create a Filesystem.Traversion object for a directory that contains
a directory that you do not have permissions to list (execute), then you
get a non-obvious and lengthy error message. I think its assuming that
listing of directories succeeds, instead of either skipping directories
with no permission to list, or throwing an exception. Here's the error I
get if I foreach a Filesystem.Travsion(".") object when I don't have
permission to list the ./models directory:
```
Bad argument 1 to sizeof().
/usr/local/lib/pike/modules/Filesystem.pmod/module.pmod:287:
/${PIKE_MODULE_PATH}/Filesystem.pmod/module.Traversion()->create("./
models",0)
/usr/local/lib/pike/modules/Filesystem.pmod/module.pmod:226:
/${PIKE_MODULE_PATH}/Filesystem.pmod/module->Traversion()
/usr/local/lib/pike/modules/Filesystem.pmod/module.pmod:301:
/${PIKE_MODULE_PATH}/Filesystem.pmod/module.Traversion()->set_current()
/usr/local/lib/pike/modules/Filesystem.pmod/module.pmod:324:
/${PIKE_MODULE_PATH}/Filesystem.pmod/module.Traversion()->add(1)
/usr/local/lib/pike/modules/Filesystem.pmod/module.pmod:329:
/${PIKE_MODULE_PATH}/Filesystem.pmod/module.Traversion()->`+=(1)
```Pike 7.8https://git.lysator.liu.se/pikelang/pike/-/issues/8067Consider backporting Inotify add_watch() initialization fix to Pike 8.02020-03-10T09:23:45ZPeter BortasConsider backporting Inotify add_watch() initialization fix to Pike 8.0Imported from https://youtrack.roxen.com/issue/PIKE-67
Reported by Marcus Wellhardh <wellhard@roxen.com>
commit 046e084434a24384350f7c95487c7fc2e0e16550\
Author: Henrik Grubbström (Grubba) <grubba@grubba.org>\
Date: Wed Jun 14 11:59:...Imported from https://youtrack.roxen.com/issue/PIKE-67
Reported by Marcus Wellhardh <wellhard@roxen.com>
commit 046e084434a24384350f7c95487c7fc2e0e16550\
Author: Henrik Grubbström (Grubba) <grubba@grubba.org>\
Date: Wed Jun 14 11:59:04 2017 +0200
Inotify: Improved initialization in add_watch().
Make sure that the backend is woken up after scheduling the
artifical initialization events. Otherwise they may stay
pending indefinitely.
https://git.lysator.liu.se/pikelang/pike/-/issues/8016The Inotify accelerated filesystem monitor may lose acceleration in some cases.2020-03-08T13:54:07ZPeter BortasThe Inotify accelerated filesystem monitor may lose acceleration in some cases.Imported from https://youtrack.roxen.com/issue/PIKE-16
Reported by @grubba
The MacOS X Finder is apparently fond of the access pattern when copying files:
```mermaid
graph LR
C1[Create]==>Delete
Delete==>C2[Create]
```
The monito...Imported from https://youtrack.roxen.com/issue/PIKE-16
Reported by @grubba
The MacOS X Finder is apparently fond of the access pattern when copying files:
```mermaid
graph LR
C1[Create]==>Delete
Delete==>C2[Create]
```
The monitor for the resulting file may get lost if the second create comes before the parent directory has been scanned.https://git.lysator.liu.se/pikelang/pike/-/issues/7684Feed: Recursive mutex locks2022-11-06T09:16:07ZPeter BortasFeed: Recursive mutex locksImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7684
Reported by Marcus Wellhardh <wellhard@roxen.com>
Noticed this backtrace when debugging [RT 26947]:
```
: Server start command:
: /usr/local/...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7684
Reported by Marcus Wellhardh <wellhard@roxen.com>
Noticed this backtrace when debugging [RT 26947]:
```
: Server start command:
: /usr/local/roxen/server-6.0.130/bin/roxen
: -DLOG_GC_TIMESTAMPS
: -DINHIBIT_INOTIFY_MONITOR
: -DDEBUG_ADMANAGER
: -DRAM_CACHE
: -DHTTP_COMPRESSION
: -M/usr/local/roxen/server-6.0.130/etc/modules
: -M/usr/local/roxen/local/pike_modules
: -I/usr/local/roxen/server-6.0.130/etc/include
: -I/usr/local/roxen/server-6.0.130/base_server
: -P/usr/local/roxen/server-6.0.130/base_server
: -P/usr/local/roxen/server-6.0.130
: base_server/roxenloader.pike
: --pid-file=../configurations/_roxen_pid
pike/lib/modules/___Oracle.so:-: Warning: Failed to load library: libclntsh.so.12.1: kan inte öppna delad objektfil: Filen eller katalogen finns inte
pike/lib/modules/Odbc.so:-: Warning: Failed to load library: libodbc.so.2: kan inte öppna delad objektfil: Filen eller katalogen finns inte
5:00:02 : Support for IPv6 enabled.
0m 0.0s : Adding package /usr/local/roxen/local.
: Adding package packages/feedimport (Version 6.0.130).
: Adding package packages/imageproc (Version 6.0.130).
: Adding package packages/logview (Version 6.0.130).
: Adding package packages/print (Version 6.0.130).
5:00:02 : Adding package packages/search (Version 6.0.130).
0m 0.1s : Adding package packages/sitebuilder (Version 6.0.130).
: -----------------------------------------------------------------
: Pike version: Pike v8.0 release 232
: Product version: Roxen EP 6.0.130-r1
: Operating system: Linux 3.10.0-327.13.1.el7.x86_64 (x86_64)
5:00:02 : Starting MySQL ... Was running 10.1.12-MariaDB [10.1ms]
0m 0.1s : Installed patches:
: 2016-04-20T143129
: 2016-04-22T141034
: 2016-04-22T141702
: 2016-04-22T142057
5:00:02 : 2016-04-25T103337
0m 0.1s : 2016-04-25T112131
: 2016-04-25T112359
: 2016-04-28T160526
: 2016-04-29T103046
:
5:00:02 : Loading Pike modules ... Done [303.0ms]
0m 0.6s : Loading Roxen ...
: Server version ... 6.0.130
: Dist version ... 6.0.130
: Platform ... rhel7_x86_64
: Product code ... rep
5:00:03 : Done [522.3ms]
```
[...]
```
: GC runs at Sun May 8 09:11:12 2016
: GC done after 159117us
9:11:13 : Internal server error: Recursive mutex locks!
-:1: _static_modules.Builtin()->mutex()->lock()
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:221: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/2861ead4434a45ac83fbde5823204688", 7, next: Sun May 8 06:39:09 2016, st: 0)->unregister_path(1)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1100: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/2861ead4434a45ac83fbde5823204688", 7, next: Sun May 8 06:39:09 2016, st: 0)->unregister_path(1)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:722: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/2861ead4434a45ac83fbde5823204688", 7, next: Sun May 8 06:39:09 2016, st: 0)->destroy()
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:227: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/346a6eaebe9749a88c8ac6b4662ecb31/0db6bd0f667a476199d3f65d3c86957f-f9490.jpg", 15, next: Sun May 8 10:01:12 2016, st: Stat(-rw-r--r-- 2698881
b))->`>(1462716675)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:226: Monitor("/usr/local/roxen/feeds/wirefeeds/universal/XML/notas_N", 15, next: Sun May 8 09:11:15 2016, st: Stat(drwxr-xr-x 77824b))->`<(,,,0)
pike/lib/modules/ADT.pmod/Heap.pike:65: ADT.Heap(14618 elements, top: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/ebb750fff66e4d5ab3250f0ee50b48fc/80f3e1042f963517980f6a7067008cd4-6b2c1.jpg", 15, next: Sun May 8 09:11:06 2016, st: Stat(-rw-r--r--
783813b)))->adjust_down(1535)
pike/lib/modules/ADT.pmod/Heap.pike:143: ADT.Heap(14618 elements, top: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/ebb750fff66e4d5ab3250f0ee50b48fc/80f3e1042f963517980f6a7067008cd4-6b2c1.jpg", 15, next: Sun May 8 09:11:06 2016, st: Stat(-rw-r--r-
- 783813b)))->adjust(,,,0)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1233: RoxenModule(EP/feed-import#0)->feed_monitor->monitor->adjust_monitor(@0)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:437: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/346a6eaebe9749a88c8ac6b4662ecb31/0db6bd0f667a476199d3f65d3c86957f-f9490.jpg", 15, next: Sun May 8 10:01:12 2016, st: Stat(-rw-r--r-- 2698881
b))->update(Stat(-rw-r--r-- 2698881b))
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:583: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/346a6eaebe9749a88c8ac6b4662ecb31/0db6bd0f667a476199d3f65d3c86957f-f9490.jpg", 15, next: Sun May 8 10:01:12 2016, st: Stat(-rw-r--r-- 2698881
b))->check(UNDEFINED)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1420: RoxenModule(EP/feed-import#0)->feed_monitor->monitor->check_monitor(@0,UNDEFINED)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1524: RoxenModule(EP/feed-import#0)->feed_monitor->monitor->check(UNDEFINED,1000,([]))
packages/feedimport/modules/feed-import.pike (ef807040):1508: RoxenModule(EP/feed-import#0)->feed_monitor->monitor->check(UNDEFINED,1000,@1=([]))
packages/feedimport/modules/feed-import.pike (ef807040):2245: RoxenModule(EP/feed-import#0)->feed_monitor->periodic_scan()
packages/feedimport/modules/feed-import.pike (ef807040):2295: RoxenModule(EP/feed-import#0)->feed_monitor->periodic_scan_dispatch()
```Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbström