philippe44 / AirConnect

Use AirPlay to stream to UPnP/Sonos & Chromecast devices
Other
3.43k stars 216 forks source link

Airconnect would stop if I turn on my TV #443

Open CharlesGBLee opened 1 year ago

CharlesGBLee commented 1 year ago

Here's the log: 2022-12-11T19:18:38+08:00 DS918 [19:18:38] Stopping AirConnect ... 2022-12-11T19:18:50+08:00 DS918 [19:18:49] Starting AirConnect ... 2022-12-11T19:18:50+08:00 DS918 [19:18:49] Linking airconnect configuration to "/volume1/airconnect/airconnect.conf". 2022-12-11T19:18:50+08:00 DS918 [19:18:49] Linking airupnp configuration to "/volume1/airconnect/config.xml". 2022-12-11T19:18:50+08:00 DS918 [19:18:49] Starting airupnp on 192.168.31.13:49154 2022-12-11T19:18:50+08:00 DS918 [19:18:49.282695] main:1420 Starting airupnp version: v0.2.51.2 (Nov 1 2021 @ 23:33:00) 2022-12-11T19:18:50+08:00 DS918 [19:18:49.282736] main:1428 no config file, using defaults 2022-12-11T19:18:50+08:00 DS918 [19:18:49] Linking aircast configuration to "/volume1/airconnect/config-cast.xml". 2022-12-11T19:18:50+08:00 DS918 [19:18:49] Starting aircast on 192.168.31.13 2022-12-11T19:18:50+08:00 DS918 [19:18:49.285193] main:974 Starting aircast version: v0.2.51.2 (Nov 1 2021 @ 23:31:36) 2022-12-11T19:18:50+08:00 DS918 [19:18:49.285229] main:982 no config file, using defaults 2022-12-11T19:18:50+08:00 DS918 [19:18:49.285362] Start:732 Binding to 192.168.31.13 2022-12-11T19:18:50+08:00 DS918 [19:18:49] AirConnect successfully started on ip "192.168.31.13"! 2022-12-11T19:18:50+08:00 DS918 [19:18:49.333280] Start:1130 Binding to 192.168.31.13:49154 2022-12-11T19:18:52+08:00 DS918 [19:18:51.538566] AddMRDevice:1008 [0x7f40bc282010]: adding renderer (客厅电视(192.168.31.59)) 2022-12-11T19:18:52+08:00 DS918 [19:18:51.538630] AddMRDevice:1035 [0x7f40bc282010]: cannot get mac 客厅电视(192.168.31.59)+, creating fake 9e25da75 2022-12-11T19:18:52+08:00 DS918 [19:18:51.538700] bind_socket:791 socket binding 11 on port 58059 2022-12-11T19:18:52+08:00 DS918 free(): invalid pointer 2022-12-11T19:19:03+08:00 DS918 [19:19:03] Status: airupnp not running! 2022-12-11T19:19:18+08:00 DS918 [19:19:17] Status: airupnp not running! 2022-12-11T19:19:18+08:00 DS918 [19:19:17] Status: airupnp not running! 2022-12-11T19:19:18+08:00 DS918 [19:19:17] Stopping AirConnect ... 2022-12-11T19:19:29+08:00 DS918 [19:19:28] Starting AirConnect ... 2022-12-11T19:19:29+08:00 DS918 [19:19:28] Linking airconnect configuration to "/volume1/airconnect/airconnect.conf". 2022-12-11T19:19:29+08:00 DS918 [19:19:28] Linking airupnp configuration to "/volume1/airconnect/config.xml". 2022-12-11T19:19:29+08:00 DS918 [19:19:28] Starting airupnp on 192.168.31.13:49154 2022-12-11T19:19:29+08:00 DS918 [19:19:28.598813] main:1420 Starting airupnp version: v0.2.51.2 (Nov 1 2021 @ 23:33:00) 2022-12-11T19:19:29+08:00 DS918 [19:19:28.598849] main:1428 no config file, using defaults 2022-12-11T19:19:29+08:00 DS918 [19:19:28] Linking aircast configuration to "/volume1/airconnect/config-cast.xml". 2022-12-11T19:19:29+08:00 DS918 [19:19:28] Starting aircast on 192.168.31.13 2022-12-11T19:19:29+08:00 DS918 [19:19:28.601406] main:974 Starting aircast version: v0.2.51.2 (Nov 1 2021 @ 23:31:36) 2022-12-11T19:19:29+08:00 DS918 [19:19:28.601448] main:982 no config file, using defaults 2022-12-11T19:19:29+08:00 DS918 [19:19:28.601594] Start:732 Binding to 192.168.31.13 2022-12-11T19:19:29+08:00 DS918 [19:19:28] AirConnect successfully started on ip "192.168.31.13"! 2022-12-11T19:19:29+08:00 DS918 [19:19:28.649619] Start:1130 Binding to 192.168.31.13:49154 2022-12-11T19:19:29+08:00 DS918 free(): invalid next size (fast) 2022-12-11T19:19:29+08:00 DS918 [19:19:29] Status: airupnp not running! 2022-12-11T19:19:33+08:00 DS918 [19:19:33] Status: airupnp not running! 2022-12-11T19:19:48+08:00 DS918 [19:19:48] Status: airupnp not running! 2022-12-11T19:20:03+08:00 DS918 [19:20:03] Status: airupnp not running! 2022-12-11T19:20:18+08:00 DS918 [19:20:18] Status: airupnp not running!

CharlesGBLee commented 1 year ago

more typical example from fresh start: 2022-12-13T16:02:28+08:00 DS918 [16:02:27] Starting AirConnect ... 2022-12-13T16:02:28+08:00 DS918 [16:02:27] Linking airconnect configuration to "/volume1/airconnect/airconnect.conf". 2022-12-13T16:02:28+08:00 DS918 [16:02:27] Linking airupnp configuration to "/volume1/airconnect/config.xml". 2022-12-13T16:02:28+08:00 DS918 [16:02:27] Starting airupnp on 192.168.31.13:49154 2022-12-13T16:02:28+08:00 DS918 [16:02:27.457840] main:1420 Starting airupnp version: v0.2.51.2 (Nov 1 2021 @ 23:33:00) 2022-12-13T16:02:28+08:00 DS918 [16:02:27.457871] main:1428 no config file, using defaults 2022-12-13T16:02:28+08:00 DS918 [16:02:27.458280] Start:1130 Binding to 192.168.31.13:49154 2022-12-13T16:02:28+08:00 DS918 [16:02:27] Linking aircast configuration to "/volume1/airconnect/config-cast.xml". 2022-12-13T16:02:28+08:00 DS918 [16:02:27] Starting aircast on 192.168.31.13 2022-12-13T16:02:28+08:00 DS918 [16:02:27.461104] main:974 Starting aircast version: v0.2.51.2 (Nov 1 2021 @ 23:31:36) 2022-12-13T16:02:28+08:00 DS918 [16:02:27.461137] main:982 no config file, using defaults 2022-12-13T16:02:28+08:00 DS918 [16:02:27.461277] Start:732 Binding to 192.168.31.13 2022-12-13T16:02:28+08:00 DS918 [16:02:27] AirConnect successfully started on ip "192.168.31.13"! 2022-12-13T16:02:33+08:00 DS918 [16:02:33.380265] AddMRDevice:1008 [0x7fcc7698b010]: adding renderer (小爱音箱-5071) 2022-12-13T16:02:33+08:00 DS918 [16:02:33.380303] AddMRDevice:1035 [0x7fcc7698b010]: cannot get mac 小爱音箱-5071+, creating fake 4d01292d 2022-12-13T16:02:33+08:00 DS918 [16:02:33.380333] bind_socket:791 socket binding 11 on port 41201 2022-12-13T16:02:33+08:00 DS918 [16:02:33.390482] MasterHandler:669 [0x7fcc7698b010]: subscribe success 2022-12-13T16:04:03+08:00 DS918 [16:04:03.475718] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.475746] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.477038] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.477083] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.477762] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.477786] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.477793] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.477798] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.477942] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.477956] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.478201] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.478213] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.478458] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.478471] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.478691] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.478704] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.478924] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.478935] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.479360] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.479378] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.479702] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.479720] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.479921] CheckAndLock:259 device is NULL 2022-12-13T16:04:03+08:00 DS918 [16:04:03.479934] CheckAndLock:259 device is NULL 2022-12-13T16:04:11+08:00 DS918 free(): invalid pointer 2022-12-13T16:04:18+08:00 DS918 [16:04:18] Status: airupnp not running! 2022-12-13T16:04:33+08:00 DS918 [16:04:33] Status: airupnp not running! 2022-12-13T16:04:48+08:00 DS918 [16:04:48] Status: airupnp not running! 2022-12-13T16:05:03+08:00 DS918 [16:05:03] Status: airupnp not running! 2022-12-13T16:05:18+08:00 DS918 [16:05:18] Status: airupnp not running!

eizedev commented 1 year ago

@CharlesGBLee Could you please test the latest release of the AirConnect-Synology package? This includes the latest AirConnect version 1.0.13. Check out the releases page

CharlesGBLee commented 1 year ago

@eizedev after fresh installation of version 1.0.13,it is still showing the same error:DS918 free(): invalid pointer DS918 [14:31:04] Status: airupnp not running! Wonder how could I use white list to avoid this error。 Here is the whole log: 2022-12-19T14:30:55+08:00 DS918 [14:30:54] Starting AirConnect ... 2022-12-19T14:30:55+08:00 DS918 [14:30:54] Linking airconnect configuration to "/volume1/airconnect/airconnect.conf". 2022-12-19T14:30:55+08:00 DS918 [14:30:54] Linking airupnp configuration to "/volume1/airconnect/config.xml". 2022-12-19T14:30:55+08:00 DS918 [14:30:54] Starting airupnp on 192.168.31.13:49154 2022-12-19T14:30:55+08:00 DS918 [14:30:54.887564] main:1355 Starting airupnp version: v1.0.13 (Dec 10 2022 @ 11:10:19) 2022-12-19T14:30:55+08:00 DS918 [14:30:54.887607] main:1362 no config file, using defaults 2022-12-19T14:30:55+08:00 DS918 [14:30:54] Linking aircast configuration to "/volume1/airconnect/config-cast.xml". 2022-12-19T14:30:55+08:00 DS918 [14:30:54] Starting aircast on 192.168.31.13 2022-12-19T14:30:55+08:00 DS918 [14:30:54.893525] main:884 Starting aircast version: v1.0.13 (Dec 10 2022 @ 11:14:02) 2022-12-19T14:30:55+08:00 DS918 [14:30:54.893567] main:891 no config file, using defaults 2022-12-19T14:30:55+08:00 DS918 [14:30:54.893667] Start:662 Binding to 192.168.31.13 2022-12-19T14:30:55+08:00 DS918 [14:30:54] AirConnect successfully started on ip "192.168.31.13"! 2022-12-19T14:30:55+08:00 DS918 [14:30:54.940385] Start:1087 Binding to 192.168.31.13:49154 2022-12-19T14:30:57+08:00 DS918 [14:30:57.041017] AddMRDevice:992 [0x7f8e9fffe010]: creating MAC 2022-12-19T14:30:57+08:00 DS918 [14:30:57.041046] AddMRDevice:1009 [0x7f8e9fffe010]: adding renderer (FF 65S535C-C...(192.168.31.59)) with mac BBBB2A7FA741 2022-12-19T14:30:57+08:00 DS918 [14:30:57.041084] bind_socket:616 socket binding 11 on port 43267 2022-12-19T14:30:57+08:00 DS918 free(): invalid pointer 2022-12-19T14:31:04+08:00 DS918 [14:31:04] Status: airupnp not running! 2022-12-19T14:31:19+08:00 DS918 [14:31:19] Status: airupnp not running! 2022-12-19T14:31:34+08:00 DS918 [14:31:34] Status: airupnp not running! 2022-12-19T14:31:49+08:00 DS918 [14:31:49] Status: airupnp not running! 2022-12-19T14:31:53+08:00 DS918 [14:31:53] Status: airupnp not running!

CharlesGBLee commented 1 year ago

this one is my tv:AddMRDevice:1009 [0x7f8e9fffe010]: adding renderer (FF 65S535C-C...(192.168.31.59)) with mac BBBB2A7FA741

philippe44 commented 1 year ago

Looks like the name of the device is causing me issue. Maybe it's an UTF-encode name

eizedev commented 1 year ago

@CharlesGBLee could you please try to rename your TV? On Most TV's an option exists in the settings

CharlesGBLee commented 1 year ago

@eizedev Renamed my tv, got the same error: 2022-12-19T21:41:14+08:00 DS918 [21:41:13] Starting AirConnect ... 2022-12-19T21:41:14+08:00 DS918 [21:41:13] Linking airconnect configuration to "/volume1/airconnect/airconnect.conf". 2022-12-19T21:41:14+08:00 DS918 [21:41:13] Linking airupnp configuration to "/volume1/airconnect/config.xml". 2022-12-19T21:41:14+08:00 DS918 [21:41:13] Starting airupnp on 192.168.31.13:49154 2022-12-19T21:41:14+08:00 DS918 [21:41:13.396280] main:1355 Starting airupnp version: v1.0.13 (Dec 10 2022 @ 11:10:19) 2022-12-19T21:41:14+08:00 DS918 [21:41:13.396320] main:1362 no config file, using defaults 2022-12-19T21:41:14+08:00 DS918 [21:41:13] Linking aircast configuration to "/volume1/airconnect/config-cast.xml". 2022-12-19T21:41:14+08:00 DS918 [21:41:13.397630] Start:1087 Binding to 192.168.31.13:49154 2022-12-19T21:41:14+08:00 DS918 [21:41:13] Starting aircast on 192.168.31.13 2022-12-19T21:41:14+08:00 DS918 [21:41:13.399703] main:884 Starting aircast version: v1.0.13 (Dec 10 2022 @ 11:14:02) 2022-12-19T21:41:14+08:00 DS918 [21:41:13.399751] main:891 no config file, using defaults 2022-12-19T21:41:14+08:00 DS918 [21:41:13.399858] Start:662 Binding to 192.168.31.13 2022-12-19T21:41:14+08:00 DS918 [21:41:13] AirConnect successfully started on ip "192.168.31.13"! 2022-12-19T21:41:15+08:00 DS918 [21:41:14.521056] AddMRDevice:992 [0x7f805e19c010]: creating MAC 2022-12-19T21:41:15+08:00 DS918 [21:41:14.521087] AddMRDevice:1009 [0x7f805e19c010]: adding renderer (TV(192.168.31.59)) with mac BBBB2A7FA741 2022-12-19T21:41:15+08:00 DS918 [21:41:14.521129] bind_socket:616 socket binding 11 on port 45465 2022-12-19T21:41:15+08:00 DS918 free(): invalid pointer 2022-12-19T21:41:16+08:00 DS918 [21:41:16] Status: airupnp not running! 2022-12-19T21:41:19+08:00 DS918 [21:41:19] Status: airupnp not running!

CharlesGBLee commented 1 year ago

Is there any way just to ignore my tv?

Scal-VictorLi commented 1 year ago

the same problem~

airupnp version: v1.0.13

airupnp-x86_64-static[31104]: [11:19:10.208746] AddMRDevice:992 [0x7fcc37ca23b8]: creating MAC airupnp-x86_64-static[31104]: [11:19:10.208784] AddMRDevice:1009 [0x7fcc37ca23b8]: adding renderer (KD-65X8566F) with mac BBBBBFE6BB06 airupnp-x86_64-static[31104]: [11:19:10.216752] MasterHandler:640 [0x7fcc37ca23b8]: subscribe success airupnp-x86_64-static[31104]: [11:19:10.495979] ProcessEvent:445 [0x7fcc37ca23b8]: UPnP Volume local change 15:-1 (master) airupnp-x86_64-static[31104]: Error in `/root/airconnect/airupnp-x86_64-static': free(): invalid next size (fast): 0x00007fcc24002c90 airupnp-x86_64-static[31104]: ======= Backtrace: ========= airupnp-x86_64-static[31104]: [0x6a292b] airupnp-x86_64-static[31104]: [0x6a7de6] airupnp-x86_64-static[31104]: [0x405d6c] airupnp-x86_64-static[31104]: [0x663014] airupnp-x86_64-static[31104]: [0x6e7669] airupnp-x86_64-static[31104]: ======= Memory map: ======== airupnp-x86_64-static[31104]: 00400000-00401000 r--p 00000000 08:02 393238 /root/airconnect/airupnp-x86_64-static airupnp-x86_64-static[31104]: 00401000-0073a000 r-xp 00001000 08:02 393238 /root/airconnect/airupnp-x86_64-static airupnp-x86_64-static[31104]: 0073a000-00830000 r--p 0033a000 08:02 393238 /root/airconnect/airupnp-x86_64-static airupnp-x86_64-static[31104]: 00830000-00862000 rw-p 0042f000 08:02 393238 /root/airconnect/airupnp-x86_64-static airupnp-x86_64-static[31104]: 00862000-0086f000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 0165a000-0167d000 rw-p 00000000 00:00 0 [heap] airupnp-x86_64-static[31104]: 7fcc10000000-7fcc10022000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc10022000-7fcc14000000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc14000000-7fcc14028000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc14028000-7fcc18000000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc18000000-7fcc18021000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc18021000-7fcc1c000000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc1c000000-7fcc1c021000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc1c021000-7fcc20000000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc20000000-7fcc20021000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc20021000-7fcc24000000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc24000000-7fcc24021000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc24021000-7fcc28000000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc28000000-7fcc28021000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc28021000-7fcc2c000000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc2c000000-7fcc2c021000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc2c021000-7fcc30000000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc30000000-7fcc30031000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc30031000-7fcc34000000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc3549a000-7fcc3549b000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc3549b000-7fcc3549c000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc3549c000-7fcc35c9c000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc35c9c000-7fcc35c9d000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc35c9d000-7fcc3649d000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc3649d000-7fcc3649e000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc3649e000-7fcc36c9e000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc36c9e000-7fcc36c9f000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc36c9f000-7fcc3749f000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc3749f000-7fcc374a0000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc374a0000-7fcc37ce8000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc37ce8000-7fcc37ce9000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc37ce9000-7fcc384e9000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc384e9000-7fcc384ea000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc384ea000-7fcc38cea000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc38cea000-7fcc38ceb000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc38ceb000-7fcc394eb000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc394eb000-7fcc394ec000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc394ec000-7fcc39cec000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc39cec000-7fcc39ced000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc39ced000-7fcc3a4ed000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc3a4ed000-7fcc3a4ee000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc3a4ee000-7fcc3acee000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc3acee000-7fcc3acef000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc3acef000-7fcc3b4ef000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc3b4ef000-7fcc3b4f0000 ---p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7fcc3b4f0000-7fcc3bcf0000 rw-p 00000000 00:00 0 airupnp-x86_64-static[31104]: 7ffe6c418000-7ffe6c439000 rw-p 00000000 00:00 0 [stack] airupnp-x86_64-static[31104]: 7ffe6c575000-7ffe6c578000 r--p 00000000 00:00 0 [vvar] airupnp-x86_64-static[31104]: 7ffe6c578000-7ffe6c57a000 r-xp 00000000 00:00 0 [vdso] airupnp-x86_64-static[31104]: ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] systemd[1]: airupnp.service: Main process exited, code=killed, status=6/ABRT systemd[1]: airupnp.service: Failed with result 'signal'.

lovelytwo commented 5 months ago

I believe i have resolved this issue. I too have this issue with a late model TCL tv.

Firstly I just adding 1000 to each malloc call inside airupnp src and the issue disappeared. Secondly I bisected it down to mr_util.c Thirdly I reviewed this block of code and added some debug.

printf("mydebug: %s -- %s\n", base, relcontrolURL);
*controlURL = (char*)malloc(strlen(base) + strlen(relcontrolURL) + 1);
if (*controlURL) {
        ret = UpnpResolveURL(base, relcontrolURL, *controlURL);
        if (ret != UPNP_E_SUCCESS) LOG_ERROR("Error generating controlURL from %s + %s", base, relcontrolURL);
}
printf("mydebug: %s\n", *controlURL);

The affected devices debug Output:

mydebug1: http://192.168.1.131:16130 -- AVTransport/f6fffe3f-e7fe-47f7-ae3f-f27fbaf5737f/control
mydebug2: http://192.168.1.131:16130/AVTransport/f6fffe3f-e7fe-47f7-ae3f-f27fbaf5737f/control

See how relcontrolURL doesn't start with a / but on non affected devices it does. Eg ( Also note in other cases the base is longer and is trimmed.)

mydebug1: http://192.168.1.108:9197/dmr -- /upnp/control/AVTransport1
mydebug2: http://192.168.1.108:9197/upnp/control/AVTransport1
or
mydebug1: http://192.168.1.192:1400/xml/device_description.xml -- /MediaRenderer/AVTransport/Control
mydebug2: http://192.168.1.192:1400/MediaRenderer/AVTransport/Control

So the problem is that malloc isn't allowing for the case where base url is the minimum, and the relcontrolURL doesn't begin with a /, so you end up with malloc that is one short.

I can't find the source to UpnpResolveURL. (Can find the header reference but not the actual code -- been a long time since i've done much C) So i can't determine all the possible cases of required length but in my case an extra 1 was all that was required, maybe just 100 extra bytes.

philippe44 commented 5 months ago

Nice finding, thanks! Indeed, 1 is enough, I'll just add 10 😄

naughtyGitCat commented 3 months ago

same issue on TCL TV, wish some one to fix it in source code

philippe44 commented 3 months ago

It's already fixed so it's another problem.

naughtyGitCat commented 3 months ago

core dump file core.gz

same issue on TCL TV, wish some one to fix it in source code

OS: {LXC} SMP PREEMPT_DYNAMIC PMX 6.5.11-4 (2023-11-20T10:19Z) x86_64 GNU/Linux VERSION: v1.7.0 (Jan 14 2024 @ 18:10:00) CMD: ./airupnp-linux-x86_64 -d all=sdebug

[03:50:06.953] main:1386 Starting airupnp version: v1.7.0 (Jan 14 2024 @ 18:10:00)
[03:50:06.953] main:1393 no config file, using defaults
[03:50:06.975] Start:1097 Binding to iface 10.100.100.225:0 [eth0]
[03:50:06.977] bind_socket:701 socket binding 7 on port 41285
[03:50:06.977] Start:1136 Starting pico HTTP server on port 41285
[03:50:07.070] MasterHandler:558 event: 6 [UPNP_DISCOVERY_SEARCH_RESULT] [(nil)] (recurse 0)
[03:50:07.077] AddMRDevice:925 UDN: uuid:65ebb6ef-697b-4739-a7ff-76f679ed3f73
FriendlyName:   FF 75S545C-6...(10.100.100.133)
[03:50:07.077] XMLGetNthServiceList:243 GetNthServiceList called : n = 0
[03:50:07.077] XMLFindAndParseService:293 serviceType urn:schemas-upnp-org:service:AVTransport:1
[03:50:07.077] XMLFindAndParseService:304 Service �, serviceId: urn:upnp-org:serviceId:AVTransport
[03:50:07.077] XMLGetNthServiceList:243 GetNthServiceList called : n = 1
[03:50:07.077] AddMRDevice:958  service [urn:schemas-upnp-org:service:AVTransport] urn:schemas-upnp-org:service:AVTransport:1 urn:upnp-org:serviceId:AVTransport, http://10.100.100.133:17002/AVTransport/65ebb6ef-697b-4739-a7ff-76f679ed3f73/event, http://10.100.100.133:17002/AVTransport/65ebb6ef-697b-4739-a7ff-76f679ed3f73/control
[03:50:07.077] XMLGetNthServiceList:243 GetNthServiceList called : n = 0
[03:50:07.077] XMLFindAndParseService:293 serviceType urn:schemas-upnp-org:service:AVTransport:1
[03:50:07.077] XMLFindAndParseService:293 serviceType urn:schemas-upnp-org:service:ConnectionManager:1
[03:50:07.077] XMLFindAndParseService:293 serviceType urn:schemas-upnp-org:service:RenderingControl:1
[03:50:07.077] XMLFindAndParseService:304 Service �Y, serviceId: urn:upnp-org:serviceId:RenderingControl
[03:50:07.077] XMLGetNthServiceList:243 GetNthServiceList called : n = 1
[03:50:07.077] AddMRDevice:958  service [urn:schemas-upnp-org:service:RenderingControl] urn:schemas-upnp-org:service:RenderingControl:1 urn:upnp-org:serviceId:RenderingControl, http://10.100.100.133:17002/RenderingControl/65ebb6ef-697b-4739-a7ff-76f679ed3f73/event, http://10.100.100.133:17002/RenderingControl/65ebb6ef-697b-4739-a7ff-76f679ed3f73/control
[03:50:07.077] XMLGetNthServiceList:243 GetNthServiceList called : n = 0
[03:50:07.077] XMLFindAndParseService:293 serviceType urn:schemas-upnp-org:service:AVTransport:1
[03:50:07.077] XMLFindAndParseService:293 serviceType urn:schemas-upnp-org:service:ConnectionManager:1
[03:50:07.077] XMLFindAndParseService:304 Service �, serviceId: urn:upnp-org:serviceId:ConnectionManager
[03:50:07.077] XMLGetNthServiceList:243 GetNthServiceList called : n = 1
[03:50:07.077] AddMRDevice:958  service [urn:schemas-upnp-org:service:ConnectionManager] urn:schemas-upnp-org:service:ConnectionManager:1 urn:upnp-org:serviceId:ConnectionManager, http://10.100.100.133:17002/ConnectionManager/65ebb6ef-697b-4739-a7ff-76f679ed3f73/event, http://10.100.100.133:17002/ConnectionManager/65ebb6ef-697b-4739-a7ff-76f679ed3f73/control
[03:50:07.077] XMLGetNthServiceList:243 GetNthServiceList called : n = 0
[03:50:07.077] XMLFindAndParseService:293 serviceType urn:schemas-upnp-org:service:AVTransport:1
[03:50:07.077] XMLFindAndParseService:293 serviceType urn:schemas-upnp-org:service:ConnectionManager:1
[03:50:07.077] XMLFindAndParseService:293 serviceType urn:schemas-upnp-org:service:RenderingControl:1
[03:50:07.077] XMLGetNthServiceList:243 GetNthServiceList called : n = 1
[03:50:07.077] XMLGetNthServiceList:243 GetNthServiceList called : n = 0
[03:50:07.077] XMLFindAndParseService:293 serviceType urn:schemas-upnp-org:service:AVTransport:1
[03:50:07.077] XMLFindAndParseService:293 serviceType urn:schemas-upnp-org:service:ConnectionManager:1
[03:50:07.077] XMLFindAndParseService:293 serviceType urn:schemas-upnp-org:service:RenderingControl:1
[03:50:07.077] XMLGetNthServiceList:243 GetNthServiceList called : n = 1
[03:50:07.078] AddMRDevice:1023 [0x7f97ba51d010]: adding renderer (FF 75S545C-6...(10.100.100.133)) with mac BBBB62E2BEC8
[03:50:07.078] bind_socket:701 socket binding 12 on port 48867
free(): invalid pointer
Aborted (core dumped)
naughtyGitCat commented 3 months ago

@philippe44 change + 1 + 10 in mr_util.c to + 1 + 100 temporarily fixed, maybe 10 is not enough length 😅