{"action":"created","issue":{"url":"https://api.github.com/repos/raspberrypi/firmware/issues/192","labels_url":"https://api.github.com/repos/raspberrypi/firmware/issues/192/labels{/name}","comments_url":"https://api.github.com/repos/raspberrypi/firmware/issues/192/comments","events_url":"https://api.github.com/repos/raspberrypi/firmware/issues/192/events","html_url":"https://github.com/raspberrypi/firmware/issues/192","id":16178852,"number":192,"title":"kworker task blocked - reading temperature?","user":{"login":"MilhouseVH","id":805038,"avatar_url":"https://avatars.githubusercontent.com/u/805038?v=3","gravatar_id":"","url":"https://api.github.com/users/MilhouseVH","html_url":"https://github.com/MilhouseVH","followers_url":"https://api.github.com/users/MilhouseVH/followers","following_url":"https://api.github.com/users/MilhouseVH/following{/other_user}","gists_url":"https://api.github.com/users/MilhouseVH/gists{/gist_id}","starred_url":"https://api.github.com/users/MilhouseVH/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MilhouseVH/subscriptions","organizations_url":"https://api.github.com/users/MilhouseVH/orgs","repos_url":"https://api.github.com/users/MilhouseVH/repos","events_url":"https://api.github.com/users/MilhouseVH/events{/privacy}","received_events_url":"https://api.github.com/users/MilhouseVH/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2013-06-29T19:15:05Z","updated_at":"2015-02-02T07:48:38Z","closed_at":null,"body":"I left a headless 512MB Pi (16MB GPU, wired network on eth0) running with the latest firmware for several days, and it has just hung with the following backtrace:\r\n\r\n```\r\nJun 29 19:42:57 raspberrypi upsmon[2208]: Poll UPS [ups@192.168.0.2] failed - Server disconnected\r\nJun 29 19:42:57 raspberrypi upsmon[2208]: Communications with UPS ups@192.168.0.2 lost\r\nJun 29 19:44:06 raspberrypi upsmon[2208]: UPS [ups@192.168.0.2]: connect failed: Connection failure: Connection timed out\r\nJun 29 19:45:14 raspberrypi upsmon[2208]: UPS [ups@192.168.0.2]: connect failed: Connection failure: Connection timed out\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939467] INFO: task kworker/0:2:5386 blocked for more than 120 seconds.\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939483] \"echo 0 > /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939491] kworker/0:2     D c0398690     0  5386      2 0x00000000\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939545] [<c0398690>] (__schedule+0x2c4/0x5b0) from [<c03973d0>] (schedule_timeout+0x158/0x1e0)\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939703] [<c03973d0>] (schedule_timeout+0x158/0x1e0) from [<c03980c0>] (__down+0x88/0xc0)\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939733] [<c03980c0>] (__down+0x88/0xc0) from [<c00400c0>] (down+0x60/0x64)\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939764] [<c00400c0>] (down+0x60/0x64) from [<c001a678>] (bcm_mailbox_read+0x60/0x98)\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939784] [<c001a678>] (bcm_mailbox_read+0x60/0x98) from [<c001a774>] (bcm_mailbox_property+0xc4/0x15c)\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939811] [<c001a774>] (bcm_mailbox_property+0xc4/0x15c) from [<c02b1538>] (bcm2835_get_temp_or_max.isra.0+0x50/0xb8)\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939831] [<c02b1538>] (bcm2835_get_temp_or_max.isra.0+0x50/0xb8) from [<c02b0520>] (thermal_zone_device_update+0x2c/0x240)\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939850] [<c02b0520>] (thermal_zone_device_update+0x2c/0x240) from [<c0035010>] (process_one_work+0x150/0x40c)\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939866] [<c0035010>] (process_one_work+0x150/0x40c) from [<c00355f0>] (worker_thread+0x150/0x498)\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939887] [<c00355f0>] (worker_thread+0x150/0x498) from [<c003a7b4>] (kthread+0x88/0x94)\r\nJun 29 19:45:39 raspberrypi kernel: [745389.939910] [<c003a7b4>] (kthread+0x88/0x94) from [<c000e9fc>] (kernel_thread_exit+0x0/0x8)\r\nJun 29 19:46:22 raspberrypi upsmon[2208]: UPS [ups@192.168.0.2]: connect failed: Connection failure: Connection timed out\r\nJun 29 19:17:33 raspberrypi kernel: imklog 5.8.11, log source = /proc/kmsg started.\r\n```\r\n\r\nCurrent firmware:\r\n```\r\npi@raspberrypi /var/log $ uname -a && vcgencmd version\r\nLinux raspberrypi 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l GNU/Linux\r\nJun 17 2013 20:43:10\r\nCopyright (c) 2012 Broadcom\r\nversion d380dde43fe729f043befb5cf775f99e54586cde (clean) (release)\r\n```\r\n\r\nAs with issue #132, I'm polling the temperature every 10 seconds, and the backtrace references bcm2835_get_temp so maybe there's still a problem there? However this doesn't appear to be a regression of #132 - running multiple concurrent processes reading the temperature do not provoke a backtrace.\r\n\r\nA few minutes prior to this latest backtrace, the NUT client began reporting a communication problem with the network UPS which may be related (there is nothing wrong with the UPS, so it looks like an eth0 communication problem on the Pi side).\r\n\r\nThe Pi didn't actually crash, but it did lose all network access so had to be power cycled."},"comment":{"url":"https://api.github.com/repos/raspberrypi/firmware/issues/comments/72417219","html_url":"https://github.com/raspberrypi/firmware/issues/192#issuecomment-72417219","issue_url":"https://api.github.com/repos/raspberrypi/firmware/issues/192","id":72417219,"user":{"login":"mtedaldi","id":1422003,"avatar_url":"https://avatars.githubusercontent.com/u/1422003?v=3","gravatar_id":"","url":"https://api.github.com/users/mtedaldi","html_url":"https://github.com/mtedaldi","followers_url":"https://api.github.com/users/mtedaldi/followers","following_url":"https://api.github.com/users/mtedaldi/following{/other_user}","gists_url":"https://api.github.com/users/mtedaldi/gists{/gist_id}","starred_url":"https://api.github.com/users/mtedaldi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtedaldi/subscriptions","organizations_url":"https://api.github.com/users/mtedaldi/orgs","repos_url":"https://api.github.com/users/mtedaldi/repos","events_url":"https://api.github.com/users/mtedaldi/events{/privacy}","received_events_url":"https://api.github.com/users/mtedaldi/received_events","type":"User","site_admin":false},"created_at":"2015-02-02T07:48:38Z","updated_at":"2015-02-02T07:48:38Z","body":"So finally, my Raspi decided to kill the mailbox interrupt again.\r\n\r\n@popcornmix the Results of the commands:\r\n```\r\ntedaldi@Laserschrank ~ $ sudo vcdbg log msg\r\n[sudo] password for tedaldi:\r\nUnable to determine the value of __LOG_START\r\nUnable to read logging_header from 0x00000000\r\n```\r\n```\r\ntedaldi@Laserschrank ~ $ sudo vcdbg reloc\r\n\r\nRelocatable heap version 4 found at 0x1f000000\r\ntotal space allocated is 10M, with 10M relocatable, 0 legacy and 0 offline\r\n0 legacy blocks of size 2359296\r\n\r\nfree list at 0x1f086820\r\n9.5M free memory in 1 free block(s)\r\nlargest free block is 9.5M bytes\r\n\r\n[   1] 0x1f000000: used  16K (refcount 1 lock count 0, size    16384, align   32, data 0x1f000020, d0ruAl) 'audioplus_tmp_buf'\r\n[   2] 0x1f004020: used 522K (refcount 1 lock count 8, size   530432, align 4096, data 0x1f005000, d3rual) 'ARM FB'\r\n0x1f086820: free 9.5M\r\nsmall allocs not requested\r\n```\r\n```\r\ntedaldi@Laserschrank ~ $ sudo vcdbg malloc\r\nPool 0x9fb2d9f8 (1fa7cbc8)\r\nMalloc pool size=4.8M (pool=0x1fb2d9f8-0x1fffff2c)\r\n0x1fb2da20 = malloc(4.0K) [call from 0x1fa51856]\r\n0x1fb2ea40 = malloc(8)    [call from 0x1fa4508a]\r\n0x1fb2ea80 = malloc(7.1K) [dma_transfer_xfers]\r\n0x1fb30720 = malloc(8.0K) [call from 0x1fa64818]\r\n0x1fb32740 = malloc(100)  [call from 0x1fa64834]\r\n0x1fb327e0 = malloc(32K)  [call from 0x1fa2dcca]\r\n0x1fb3a800 = malloc(512)  [call from 0x1fa41f9e]\r\n0x1fb3aa20 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3ab60 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3aca0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3ade0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3af20 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3b060 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3b1a0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3b2e0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3b420 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3b560 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3b6a0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3b7e0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3b920 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3ba60 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3bba0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3bce0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3be20 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3bf60 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3c0a0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3c1e0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3c320 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3c460 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3c5a0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3c6e0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3c820 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3c960 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3caa0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3cbe0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3cd20 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3ce60 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3cfa0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3d0e0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3d220 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3d360 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3d4a0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3d5e0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3d720 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3d860 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3d9a0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3dae0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3dc20 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3dd60 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3dea0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3dfe0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3e120 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3e260 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3e3a0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3e4e0 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3e620 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3e760 = malloc(272)  [call from 0x1fa2ddb8]\r\n0x1fb3e8a0 = malloc(512)  [call from 0x1fa09c82]\r\n0x1fb3eac0 = malloc(16K)  [call from 0x1fa09cb4]\r\n0x1fb42ae0 = malloc(4.0K) [call from 0x1fa09d10]\r\n0x1fb43b00 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43b60 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43bc0 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43c20 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43c80 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43ce0 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43d40 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43da0 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43e00 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43e60 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43ec0 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43f20 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43f80 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb43fe0 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb44040 = malloc(60)   [GPIOMAN_DEFINE_T]\r\n0x1fb440a0 = malloc(7.0K) [Gencmd service state]\r\n0x1fb45ce0 = malloc(180)  [vcos_cmd_entries]\r\n0x1fb45dc0 = malloc(4.0K) [reaper]\r\n0x1fb46de0 = malloc(8)    [call from 0x1fa143f2]\r\n0x1fb46e20 = malloc(4.0K) [powerman]\r\n0x1fb47e40 = malloc(3.0K) [call from 0x1fa1e29a]\r\n0x1fb48a60 = malloc(11K)  [call from 0x1fa1e2d0]\r\n0x1fb4b700 = malloc(11K)  [call from 0x1fa1e304]\r\n0x1fb4e3a0 = malloc(3.9K) [call from 0x1fa1e33a]\r\n0x1fb4f380 = malloc(1.1K) [call from 0x1fa5edbe]\r\n0x1fb4f800 = malloc(4.0K) [call from 0x1fa39cc0]\r\n0x1fb50820 = malloc(4.0K) [call from 0x1fa39cec]\r\n0x1fb51840 = malloc(16K)  [call from 0x1fa10620]\r\n0x1fb55860 = malloc(16K)  [mbox_read]\r\n0x1fb59880 = malloc(4.0K) [display_update]\r\n0x1fb5a8a0 = malloc(4.0K) [temp_check]\r\n0x1fb5b8c0 = malloc(16K)  [vchiq dma_xfer]\r\n0x1fb5f980 = malloc(16K)  [vchiq dma_xfer]\r\n0x1fb63a40 = malloc(16K)  [vchiq dma_xfer]\r\n0x1fb67b00 = malloc(16K)  [vchiq dma_xfer]\r\n0x1fb6bbc0 = malloc(8.0K) [VCHIQ-0]\r\n0x1fb6dbe0 = malloc(8.0K) [VCHIQr-0]\r\n0x1fb6fc00 = malloc(8.0K) [VCHIQs-0]\r\n0x1fb71c20 = malloc(36)   [vchiq_shim]\r\n0x1fb71c80 = malloc(256)  [vchiu_queue_init]\r\n0x1fb71da0 = malloc(476)  [VCHIQ service]\r\n0x1fb71fa0 = malloc(36)   [vchiq_shim]\r\n0x1fb72000 = malloc(256)  [vchiu_queue_init]\r\n0x1fb72120 = malloc(476)  [VCHIQ service]\r\n0x1fb72320 = malloc(36)   [vchiq_shim]\r\n0x1fb72380 = malloc(256)  [vchiu_queue_init]\r\n0x1fb724a0 = malloc(476)  [VCHIQ service]\r\n0x1fb726a0 = malloc(2.0K) [call from 0x1fa64818]\r\n0x1fb72ea0 = malloc(100)  [call from 0x1fa64834]\r\n0x1fb72f40 = malloc(4.0K) [GCMD_V]\r\n0x1fb73f60 = malloc(1.3K) [CEA modes table]\r\n0x1fb744a0 = malloc(1.7K) [DMT modes table]\r\n0x1fb74ba0 = malloc(4.0K) [call from 0x1fa6045a]\r\n0x1fb75bc0 = malloc(36)   [vchiq_shim]\r\n0x1fb75c20 = malloc(256)  [vchiu_queue_init]\r\n0x1fb75d40 = malloc(476)  [VCHIQ service]\r\n0x1fb75f40 = malloc(36)   [vchiq_shim]\r\n0x1fb75fa0 = malloc(256)  [vchiu_queue_init]\r\n0x1fb760c0 = malloc(476)  [VCHIQ service]\r\n0x1fb762c0 = malloc(36)   [vchiq_shim]\r\n0x1fb76320 = malloc(256)  [vchiu_queue_init]\r\n0x1fb76440 = malloc(476)  [VCHIQ service]\r\n0x1fb76640 = malloc(4.0K) [call from 0x1fa604d6]\r\n0x1fb77660 = malloc(36)   [vchiq_shim]\r\n0x1fb776c0 = malloc(256)  [vchiu_queue_init]\r\n0x1fb777e0 = malloc(476)  [VCHIQ service]\r\n0x1fb779e0 = malloc(36)   [vchiq_shim]\r\n0x1fb77a40 = malloc(256)  [vchiu_queue_init]\r\n0x1fb77b60 = malloc(476)  [VCHIQ service]\r\n0x1fb77d60 = malloc(36)   [vchiq_shim]\r\n0x1fb77dc0 = malloc(256)  [vchiu_queue_init]\r\n0x1fb77ee0 = malloc(476)  [VCHIQ service]\r\n0x1fb780e0 = malloc(4.0K) []\r\n0x1fb79100 = malloc(36)   [vchiq_shim]\r\n0x1fb79160 = malloc(256)  [vchiu_queue_init]\r\n0x1fb79280 = malloc(476)  [VCHIQ service]\r\n0x1fb79480 = malloc(36)   [vchiq_shim]\r\n0x1fb794e0 = malloc(256)  [vchiu_queue_init]\r\n0x1fb79600 = malloc(476)  [VCHIQ service]\r\n0x1fb79800 = malloc(36)   [vchiq_shim]\r\n0x1fb79860 = malloc(256)  [vchiu_queue_init]\r\n0x1fb79980 = malloc(476)  [VCHIQ service]\r\n0x1fb79b80 = malloc(4.0K) []\r\n0x1fb7aba0 = malloc(36)   [vchiq_shim]\r\n0x1fb7ac00 = malloc(256)  [vchiu_queue_init]\r\n0x1fb7ad20 = malloc(476)  [VCHIQ service]\r\n0x1fb7af20 = malloc(36)   [vchiq_shim]\r\n0x1fb7af80 = malloc(256)  [vchiu_queue_init]\r\n0x1fb7b0a0 = malloc(476)  [VCHIQ service]\r\n0x1fb7b2a0 = malloc(36)   [vchiq_shim]\r\n0x1fb7b300 = malloc(256)  [vchiu_queue_init]\r\n0x1fb7b420 = malloc(476)  [VCHIQ service]\r\n0x1fb7b620 = malloc(36)   [vchiq_shim]\r\n0x1fb7b680 = malloc(256)  [vchiu_queue_init]\r\n0x1fb7b7a0 = malloc(476)  [VCHIQ service]\r\n0x1fb7b9a0 = malloc(36)   [vchiq_shim]\r\n0x1fb7ba00 = malloc(256)  [vchiu_queue_init]\r\n0x1fb7bb20 = malloc(476)  [VCHIQ service]\r\n0x1fb7bd20 = malloc(36)   [vchiq_shim]\r\n0x1fb7bd80 = malloc(256)  [vchiu_queue_init]\r\n0x1fb7bea0 = malloc(476)  [VCHIQ service]\r\n0x1fb7c0a0 = malloc(36)   [vchiq_shim]\r\n0x1fb7c100 = malloc(256)  [vchiu_queue_init]\r\n0x1fb7c220 = malloc(476)  [VCHIQ service]\r\n0x1fb7c420 = malloc(36)   [vchiq_shim]\r\n0x1fb7c480 = malloc(256)  [vchiu_queue_init]\r\n0x1fb7c5a0 = malloc(476)  [VCHIQ service]\r\n0x1fb7c7a0 = malloc(36)   [vchiq_shim]\r\n0x1fb7c800 = malloc(256)  [vchiu_queue_init]\r\n0x1fb7c920 = malloc(476)  [VCHIQ service]\r\n0x1fb7cb20 = malloc(36)   [vchiq_shim]\r\n0x1fb7cb80 = malloc(256)  [vchiu_queue_init]\r\n0x1fb7cca0 = malloc(476)  [VCHIQ service]\r\n0x1fb7cea0 = malloc(36)   [vchiq_shim]\r\n0x1fb7cf00 = malloc(256)  [vchiu_queue_init]\r\n0x1fb7d020 = malloc(476)  [VCHIQ service]\r\n0x1fb7d220 = malloc(476)  [VCHIQ service]\r\n0x1fb7d420 = malloc(4.0K) [vc watchdog]\r\n0x1fb7e430 = hole(4.5M)\r\nMalloced:323K Remaining:4.5M\r\ntedaldi@Laserschrank ~ $\r\n```"}}