Opened 2 years ago

Last modified 2 years ago

#64389 new defect

curl_multi_info_read() returned {.msg = CURLMSG_DONE, .data.result = 3 (!= CURLE_OK)}, but the error buffer is not set. curl_easy_strerror(.data.result): URL using bad/illegal format or missing URL

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by:
Priority: Normal Milestone:
Component: base Version: 2.7.99
Keywords: Cc:
Port:

Description

Livecheck seems to have a bug when checking an invalid URL. Here's an example when livechecking the sunclock port which at the time of filing this ticket is using the invalid URL "debian:s/sunclock":

$ port -d livecheck sunclock
DEBUG: Copying /Users/rschmidt/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences
DEBUG: Changing to port directory: /Users/rschmidt/macports/macports-ports-ryandesign-fork/x11/sunclock
DEBUG: OS darwin/19.6.0 (macOS 10.15.7) arch i386
DEBUG: universal_variant is false, so not adding the default universal variant
DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies
DEBUG: Finished running callback portconfigure::add_automatic_compiler_dependencies
DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies
DEBUG: Finished running callback portbuild::add_automatic_buildsystem_dependencies
DEBUG: Running callback portstartupitem::add_notes
DEBUG: Finished running callback portstartupitem::add_notes
DEBUG: Starting logging for sunclock @3.57_1
DEBUG: macOS 10.15.7 (darwin/19.6.0) arch i386
DEBUG: MacPorts 2.7.99
DEBUG: Xcode 12.4
DEBUG: SDK 10.15
DEBUG: MACOSX_DEPLOYMENT_TARGET: 10.15
DEBUG: Executing org.macports.main (sunclock)
DEBUG: livecheck phase started at Sat Jan  8 14:07:27 CST 2022
DEBUG: Executing org.macports.livecheck (sunclock)
DEBUG: Port (livecheck) version is 3.57
DEBUG: Loading the defaults from '/Users/rschmidt/macports/macports-ports-ryandesign-fork/_resources/port1.0/livecheck/fallback.tcl'
DEBUG: Fetching debian:s/sunclock
DEBUG: Using CURL options --append-http-header {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8} --enable-compression
Error: cannot check if sunclock was updated (curl_multi_info_read() returned {.msg = CURLMSG_DONE, .data.result = 3 (!= CURLE_OK)}, but the error buffer is not set. curl_easy_strerror(.data.result): URL using bad/illegal format or missing URL)

Change History (3)

comment:1 Changed 2 years ago by jmroot (Joshua Root)

Looks like it's correctly reporting that the URL is invalid. What would you like to happen instead?

comment:2 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Oh. I thought that "but the error buffer is not set" meant we were failing to set something that we should set. I've also just never seen MacPorts emit a curl error message that way and thought that meant we weren't getting to our usual error handler but were seeing the result of a programming error.

comment:3 Changed 2 years ago by jmroot (Joshua Root)

This message was added as part of the fix for #60581. I agree it's perhaps not the most user-friendly presentation for errors of this type.

Note: See TracTickets for help on using tickets.