ruby-devise tmpfail issue on riscv64 debci
About ruby-devise with tmpfail[0] issue. I do not have a conclusion to
explain why it happened now. But maybe I found the difference that
happened on debci between riscv64 and amd64 including arm64.
>From the log[1]:
```
...
autopkgtest [18:09:56]: test smoke-test: -----------------------]
smoke-test PASS
autopkgtest [18:09:57]: test smoke-test: - - - - - - - - - - results
- - - - - - - - - -
autopkgtest [18:10:15]: ERROR: "rm -rf
/tmp/autopkgtest-lxc.g1pgc3ei/downtmp/smoke-test-artifacts
/tmp/autopkgtest-lxc.g1pgc3ei/downtmp/autopkgtest_tmp" failed with
stderr "rm: cannot remove
'/tmp/autopkgtest-lxc.g1pgc3ei/downtmp/autopkgtest_tmp/myapp/tmp/cache/bootsnap/compile-cache-iseq':
Directory not empty
```
It seems it has passed the autopkgtest but failed to rm
`'/tmp/autopkgtest-lxc.g1pgc3ei/downtmp/autopkgtest_tmp/myapp/tmp/cache/bootsnap/compile-cache-iseq`.
The `myapp/tmp/cache/bootsnap/compile-cache-iseq` is Compilation
Caching directory[2] to let Ruby code execute faster. I compared the
differences between riscv64 and amd64&arm64 in this directory (the
latter two have no tmpfail issue).
On amd64&arm64:
```
root@autopkgtest-lxc-lwsxvt:/tmp/autopkgtest-lxc.1ry5uher/downtmp/build.tMm/real-tree#
ls ../../autopkgtest_tmp/myapp/tmp/cache/bootsnap/compile-cache-iseq/
00 08 10 18 20 28 30 38 40 48 50 58 60 68 70 78 80 88
90 98 a0 a8 b0 b9 c1 c9 d1 d9 e1 e9 f1 f9
01 09 11 19 21 29 31 39 41 49 51 59 61 69 71 79 81 89
91 99 a1 a9 b1 ba c2 ca d2 da e2 ea f2 fa
02 0a 12 1a 22 2a 32 3a 42 4a 52 5a 62 6a 72 7a 82 8a
92 9a a2 aa b2 bb c3 cb d3 db e3 eb f3 fb
03 0b 13 1b 23 2b 33 3b 43 4b 53 5b 63 6b 73 7b 83 8b
93 9b a3 ab b3 bc c4 cc d4 dc e4 ec f4 fc
04 0c 14 1c 24 2c 34 3c 44 4c 54 5c 64 6c 74 7c 84 8c
94 9c a4 ac b4 bd c5 cd d5 dd e5 ed f5 fd
05 0d 15 1d 25 2d 35 3d 45 4d 55 5d 65 6d 75 7d 85 8d
95 9d a5 ad b6 be c6 ce d6 de e6 ee f6 fe
06 0e 16 1e 26 2e 36 3e 46 4e 56 5e 66 6e 76 7e 86 8e
96 9e a6 ae b7 bf c7 cf d7 df e7 ef f7 ff
07 0f 17 1f 27 2f 37 3f 47 4f 57 5f 67 6f 77 7f 87 8f
97 9f a7 af b8 c0 c8 d0 d8 e0 e8 f0 f8
```
On riscv64:
```
root@autopkgtest-lxc-kdxynz:/tmp/autopkgtest-lxc.afkk7nwp/downtmp/build.Nh1/real-tree#
ls ../../autopkgtest_tmp/myapp/tmp/cache/bootsnap/compile-cache-iseq/
00 08 10 18 20 28 30 38 40 48 50 58 60 68 70 78 80 88
90 98 a1 a9 b1 b9 c1 c9 d1 d9 e1 e9 f2 fa
01 09 11 19 21 29 31 39 41 49 51 59 61 69 71 79 81 89
91 9a a2 aa b2 ba c2 ca d2 da e2 ea f3 fb
02 0a 12 1a 22 2a 32 3a 42 4a 52 5a 62 6a 72 7a 82 8a
92 9b a3 ab b3 bb c3 cb d3 db e3 eb f4 fc
03 0b 13 1b 23 2b 33 3b 43 4b 53 5b 63 6b 73 7b 83 8b
93 9c a4 ac b4 bc c4 cc d4 dc e4 ec f5 fd
04 0c 14 1c 24 2c 34 3c 44 4c 54 5c 64 6c 74 7c 84 8c
94 9d a5 ad b5 bd c5 cd d5 dd e5 ed f6 fe
05 0d 15 1d 25 2d 35 3d 45 4d 55 5d 65 6d 75 7d 85 8d
95 9e a6 ae b6 be c6 ce d6 de e6 ee f7 ff
06 0e 16 1e 26 2e 36 3e 46 4e 56 5e 66 6e 76 7e 86 8e
96 9f a7 af b7 bf c7 cf d7 df e7 ef f8
07 0f 17 1f 27 2f 37 3f 47 4f 57 5f 67 6f 77 7f 87 8f
97 a0 a8 b0 b8 c0 c8 d0 d8 e0 e8 f0 f9
```
Here riscv64 has one more `b5` directory, I grasped the content under the dir:
```
root@autopkgtest-lxc-sygpvf:/tmp/autopkgtest-lxc.eeaar_3u/downtmp/build.W7P/real-tree#
strings ../../autopkgtest_tmp/myapp/tmp/cache/bootsnap/compile-cache-iseq/b5/2455131736f1e6
YARB
riscv64-linux-gnu
...
!u#cGe-%u#cGe-+
/usr/lib/riscv64-linux-gnu/rubygems-integration/3.1.0/gems/nokogiri-1.13.10/lib/nokogiri/xml/syntax_error.rb
<main>
Nokogiri
#<module:Nokogiri>
<module:XML>
SyntaxError
'<class:SyntaxError>
domain
code
...
column
none?
warning?
error?
fatal?
to_s
level_to_s
nil_or_zero?
location_to_s
attr_reader
private
none?
warning?
error?
fatal?
to_s
message
chomp
compact
join
encoding
force_encoding
level_to_s
MwIy{}E
FATALE
ERRORE
WARNING
nil_or_zero?
attribute
nil?
zero?E
location_to_sE
root@autopkgtest-lxc-sygpvf:/tmp/autopkgtest-lxc.eeaar_3u/downtmp/build.W7P/real-tree#
strings ../../autopkgtest_tmp/myapp/tmp/cache/bootsnap/compile-cache-iseq/b5/4d9dd465fc677b
YARB
riscv64-linux-gnu
/tmp/autopkgtest-lxc.eeaar_3u/downtmp/autopkgtest_tmp/myapp/config/initializers/permissions_policy.rbE
<main>
root@autopkgtest-lxc-sygpvf:/tmp/autopkgtest-lxc.eeaar_3u/downtmp/build.W7P/real-tree#
strings ../../autopkgtest_tmp/myapp/tmp/cache/bootsnap/compile-cache-iseq/b5/d8f114df6cb307
YARB
riscv64-linux-gnu
#cE]
/usr/share/rubygems-integration/all/gems/activesupport-6.1.7.3/lib/active_support/core_ext/kernel/concern.rb
<main>
Sactive_support/core_ext/module/concerning
Kernel
require
<module:Kernel>
concern
module_function
concern
Object
topic
#module_definition
```
I have no knowledge about ruby, so I do not know what meaning for
ruby-devise from these gems.
And I guess there may be something on the riscv64 side that triggered
the generation of this
directory, but I'm not sure.
Next step I plan to ask for help from ruby upstream to confirm the
meaning for here.
BTW, another interesting thing is that if running autopkgtest with
`--shell` to interact with it then
exit it directly without doing anything, the autopkgtest can remove
the testbed successfully.
BR,
Bo
[0]: https://ci.debian.net/status/alerts/?arch%5B%5D=riscv64
[1]: https://ci.debian.net/data/autopkgtest/unstable/riscv64/r/ruby-devise/32383976/log.gz
[2]: https://stackoverflow.com/questions/54873963/files-in-tmp-cache-of-a-new-rails-application-258-directories-1404-files
Reply to: