Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault (core dumped) #16

Closed
avgeeklucky opened this issue Jun 16, 2020 · 4 comments
Closed

Segmentation fault (core dumped) #16

avgeeklucky opened this issue Jun 16, 2020 · 4 comments
Assignees

Comments

@avgeeklucky
Copy link

Not entirely sure how to debug this, but rbfeeder keeps restarting due to a Segmentation fault (see Container Output).

I'm running docker community edition version 19.03.9 on Debian stretch with an AMD64 CPU. Container setup using docker-compose 1.24.1.

docker-compose.yaml

version: '2.0'

services:
    rbfeeder:
        image: mikenye/radarbox:latest
        restart: always
        container_name: rbfeeder
        restart: always
        environment:
            - TZ=UTC
            - BEASTHOST=192.168.1.20
            - LAT=52.###
            - LONG=4.###
            - ALT=9
            - SHARING_KEY=xxx

Image Details

docker image inspect mikenye/radarbox
[
    {
        "Id": "sha256:375ad043e151c2c0214eec4d31575d678150db2c6df4c68668f4a558da074eb5",
        "RepoTags": [
            "mikenye/radarbox:latest"
        ],
        "RepoDigests": [
            "mikenye/radarbox@sha256:e2e453b50649f3c45df75146eac865df0924c21baba8aa9ff6934283baf5d5f0"
        ],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2020-06-15T19:35:10.440867332Z",
        "Container": "",
        "ContainerConfig": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": null,
            "Cmd": null,
            "Image": "",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": null
        },
        "DockerVersion": "",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "30105/tcp": {},
                "32088/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "S6_BEHAVIOUR_IF_STAGE2_FAILS=2",
                "BEASTPORT=30005",
                "MLAT_SERVER=mlat1.rb24.com:40900"
            ],
            "Cmd": null,
            "Healthcheck": {
                "Test": [
                    "CMD-SHELL",
                    "/healthcheck.sh"
                ],
                "StartPeriod": 180000000000
            },
            "ArgsEscaped": true,
            "Image": "",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": [
                "/init"
            ],
            "OnBuild": null,
            "Labels": null
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 293928847,
        "VirtualSize": 293928847,
        "GraphDriver": {
            "Data": null,
            "Name": "aufs"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:b7f7d2967507ba709dbd1dd0426a5b0cdbe1ff936c131f8958c8d0f910eea19e",
                "sha256:a6ebef4a95c345c844c2bf43ffda8e36dd6e053887dd6e283ad616dcc2376be6",
                "sha256:838a37a24627f72df512926fc846dd97c93781cf145690516e23335cc0c27794",
                "sha256:28ba7458d04b8551ff45d2e17dc2abb768bf6ed1a46bb262f26a24d21d8d7233",
                "sha256:2177851f40642357ea4229a92a1dfcfec8f949cf792baa36c7ae7be1af46fb14",
                "sha256:f2215a63fc5556584c0c14c8e9347ec25f6570d2ca1d3ca1c9cf6dd83d50ab29",
                "sha256:518a911760b0848d5a452b5ef8f518db9dac7043b7ca059d4adfe1952801f7e8",
                "sha256:b16f91dccdef59ef6b2603473b572ed6aba7a49a157b17ab8720aabd4fbed500",
                "sha256:9ab5d86ea460bfb30c80ffcfab2cb939664ca4067987097c886d567550973d2e"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

Container Output

rbfeeder    | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
rbfeeder    | [s6-init] ensuring user provided files have correct perms...exited 0.
rbfeeder    | [fix-attrs.d] applying ownership & permissions fixes...
rbfeeder    | [fix-attrs.d] done.
rbfeeder    | [cont-init.d] executing container initialization scripts...
rbfeeder    | [cont-init.d] 01-rbfeeder: executing... 
rbfeeder    | [cont-init.d] 01-rbfeeder: exited 0.
rbfeeder    | [cont-init.d] done.
rbfeeder    | [services.d] starting services
rbfeeder    | [services.d] done.
rbfeeder    | [mlat-client] Delaying mlat-client startup until rbfeeder receives station sn...
rbfeeder    | [rbfeeder] [2020-06-16 21:29:25]  Starting RBFeeder Version 0.2.6 (build 20180313082038)
rbfeeder    | [rbfeeder] [2020-06-16 21:29:25]  Using configuration file: /etc/rbfeeder.ini
rbfeeder    | [rbfeeder] [2020-06-16 21:29:25]  Network-mode enabled.
rbfeeder    | [rbfeeder] [2020-06-16 21:29:25]  		Remote host to fetch data: 192.168.1.20
rbfeeder    | [rbfeeder] [2020-06-16 21:29:25]  		Remote port: 30005
rbfeeder    | [rbfeeder] [2020-06-16 21:29:25]  		Remote protocol: BEAST
rbfeeder    | [rbfeeder] [2020-06-16 21:29:25]  System: raspberry
rbfeeder    | [rbfeeder] [2020-06-16 21:29:25]  Start date/time: 2020-06-16 21:29:25
rbfeeder    | [rbfeeder] [2020-06-16 21:29:25]  Socket for ANRB created. Waiting for connections on port 32088
rbfeeder    | [rbfeeder] [2020-06-16 21:29:26]  Connection established.
rbfeeder    | [rbfeeder] [2020-06-16 21:29:26]  Connection with RadarBox24 server OK! Key accepted by server.
rbfeeder    | [rbfeeder] [2020-06-16 21:29:55]  ******** Statistics updated every 30 seconds ********
rbfeeder    | [rbfeeder] [2020-06-16 21:29:55]  Packets sent in the last 30 seconds: 114, Total packets sent since startup: 114
rbfeeder    | [mlat-client] Tue Jun 16 21:29:55 2020 mlat-client 0.2.11 starting up
rbfeeder    | [mlat-client] Tue Jun 16 21:29:55 2020 Listening for Beast-format results connection on port 30105
rbfeeder    | [mlat-client] Tue Jun 16 21:29:55 2020 Connected to multilateration server at mlat1.rb24.com:40900, handshaking
rbfeeder    | [mlat-client] Tue Jun 16 21:29:55 2020 Server says: 
rbfeeder    | [mlat-client] 
rbfeeder    | [mlat-client]         AirNAv Server
rbfeeder    | [mlat-client] 
rbfeeder    | [mlat-client]         The multilateration server source code is available under
rbfeeder    | [mlat-client]         the terms of the Affero GPL (v3 or later). You may obtain
rbfeeder    | [mlat-client]         a copy of this server's source code at the following
rbfeeder    | [mlat-client]         location: https://github.com/mutability/mlat-server
rbfeeder    | [mlat-client]         
rbfeeder    | [mlat-client] Tue Jun 16 21:29:55 2020 Handshake complete.
rbfeeder    | [mlat-client] Tue Jun 16 21:29:55 2020   Compression:       zlib2
rbfeeder    | [mlat-client] Tue Jun 16 21:29:55 2020   UDP transport:     disabled
rbfeeder    | [mlat-client] Tue Jun 16 21:29:55 2020   Split sync:        disabled
rbfeeder    | [mlat-client] Tue Jun 16 21:29:55 2020 Input connected to 192.168.1.20:30005
rbfeeder    | [mlat-client] Tue Jun 16 21:29:55 2020 Input format changed to BEAST, 12MHz clock
rbfeeder    | Segmentation fault (core dumped)
rbfeeder    | [rbfeeder] [2020-06-16 21:30:25]  Starting RBFeeder Version 0.2.6 (build 20180313082038)
rbfeeder    | [rbfeeder] [2020-06-16 21:30:25]  Using configuration file: /etc/rbfeeder.ini
rbfeeder    | [rbfeeder] [2020-06-16 21:30:25]  Network-mode enabled.
rbfeeder    | [rbfeeder] [2020-06-16 21:30:25]  		Remote host to fetch data: 192.168.1.20
rbfeeder    | [rbfeeder] [2020-06-16 21:30:25]  		Remote port: 30005
rbfeeder    | [rbfeeder] [2020-06-16 21:30:25]  		Remote protocol: BEAST
rbfeeder    | [rbfeeder] [2020-06-16 21:30:25]  System: raspberry
rbfeeder    | [rbfeeder] [2020-06-16 21:30:25]  Start date/time: 2020-06-16 21:30:25
rbfeeder    | [rbfeeder] [2020-06-16 21:30:25]  Socket for ANRB created. Waiting for connections on port 32088
rbfeeder    | [rbfeeder] [2020-06-16 21:30:26]  Connection established.
rbfeeder    | [rbfeeder] [2020-06-16 21:30:37]  Could not start connection. Timeout.
rbfeeder    | [rbfeeder] [2020-06-16 21:30:55]  ******** Statistics updated every 30 seconds ********
rbfeeder    | [rbfeeder] [2020-06-16 21:30:55]  Packets sent in the last 30 seconds: 0, Total packets sent since startup: 0
rbfeeder    | [rbfeeder] [2020-06-16 21:31:07]  Connection established.
rbfeeder    | [rbfeeder] [2020-06-16 21:31:07]  Connection with RadarBox24 server OK! Key accepted by server.
rbfeeder    | Segmentation fault (core dumped)
rbfeeder    | [rbfeeder] [2020-06-16 21:31:26]  Starting RBFeeder Version 0.2.6 (build 20180313082038)
rbfeeder    | [rbfeeder] [2020-06-16 21:31:26]  Using configuration file: /etc/rbfeeder.ini
rbfeeder    | [rbfeeder] [2020-06-16 21:31:26]  Network-mode enabled.
rbfeeder    | [rbfeeder] [2020-06-16 21:31:26]  		Remote host to fetch data: 192.168.1.20
rbfeeder    | [rbfeeder] [2020-06-16 21:31:26]  		Remote port: 30005
rbfeeder    | [rbfeeder] [2020-06-16 21:31:26]  		Remote protocol: BEAST
rbfeeder    | [rbfeeder] [2020-06-16 21:31:26]  System: raspberry
rbfeeder    | [rbfeeder] [2020-06-16 21:31:26]  Start date/time: 2020-06-16 21:31:26
rbfeeder    | [rbfeeder] [2020-06-16 21:31:26]  Socket for ANRB created. Waiting for connections on port 32088
rbfeeder    | [rbfeeder] [2020-06-16 21:31:27]  Connection established.
rbfeeder    | [rbfeeder] [2020-06-16 21:31:37]  Could not start connection. Timeout.
rbfeeder    | [rbfeeder] [2020-06-16 21:31:56]  ******** Statistics updated every 30 seconds ********
rbfeeder    | [rbfeeder] [2020-06-16 21:31:56]  Packets sent in the last 30 seconds: 0, Total packets sent since startup: 0
rbfeeder    | [rbfeeder] [2020-06-16 21:32:07]  Connection established.
rbfeeder    | [rbfeeder] [2020-06-16 21:32:08]  Connection with RadarBox24 server OK! Key accepted by server.
rbfeeder    | Segmentation fault (core dumped)
...

@mikenye mikenye self-assigned this Jun 16, 2020
@mikenye
Copy link
Member

mikenye commented Jun 16, 2020

Hi @avgeeklucky,

Have a read of this comment onwards:

#9 (comment)

Short version is that the rbfeeder code is trying to access a temperature sensor that may not exist on your system (as rbfeeder is really only designed to run on a pi) which causes a segfault.

Unless you can somehow “spoof” this sensor or get it working, without editing the source code for rbfeeder there is t much I can do about this unfortunately.

@avgeeklucky
Copy link
Author

Have now. Sorry, completely missed that. Had a look into the spoofing option, /sys does not like to be messed with, that's not going to be easy.

Oh well, I'll just let it crash for now.

@jayp0
Copy link

jayp0 commented Sep 27, 2020

It seems docker was failing because it was trying to mkdir mount point to read-only fs.
mount to /sys/class/thermal instead of /sys/class/thermal/thermal_zone0/temp fixed it.

    volumes:
      - ./rb/faketemp:/sys/class/thermal:ro
$ find rb/faketemp/
rb/faketemp/
rb/faketemp/thermal_zone0
rb/faketemp/thermal_zone0/temp
$ cat rb/faketemp/thermal_zone0/temp
24000

@mikenye
Copy link
Member

mikenye commented Sep 29, 2020

Fantastic solution, thanks @jayp0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants