pyocd / pyocd/pyOCD

`pack update`: Error: relative url without a base

Open
#1,506 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.5k
Forks
560
Avg merge
1h 41m
Merged PRs (30d)
3

Description

When I try to run pyocd pack update, I get the following error:

0000262 I Updating pack index... [pack_cmd]
RelativeUrlWithoutBases (804/838)
0002770 C Error: b'\nrelative URL without a base' [__main__]
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/pyocd/__main__.py", line 161, in run
    status = cmd.invoke()
  File "/usr/local/lib/python3.10/dist-packages/pyocd/subcommands/pack_cmd.py", line 112, in invoke
    cache.cache_descriptors()
  File "/usr/local/lib/python3.10/dist-packages/cmsis_pack_manager/__init__.py", line 299, in cache_descriptors
    pdsc_index = self._call_rust_update(progress_fn)
  File "/usr/local/lib/python3.10/dist-packages/cmsis_pack_manager/__init__.py", line 244, in _call_rust_update
    return self._poll_rust_update(poll_obj, on_tick_fn)
  File "/usr/local/lib/python3.10/dist-packages/cmsis_pack_manager/__init__.py", line 247, in _poll_rust_update
    with _RaiseRust():
  File "/usr/local/lib/python3.10/dist-packages/cmsis_pack_manager/__init__.py", line 36, in __exit__
    raise Exception(ffi.string(maybe_err))
Exception: b'\nrelative URL without a base'

I suspect this might be actually a cmsis_pack_manager issue however, given the stacktrace

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing pyocd pack update and read the traceback through pyocd/subcommands/pack_cmd.py, especially the call into cmsis_pack_manager. Determine whether the relative URL failure is in pyOCD or its dependency; done means pack index updates without the exception and the affected behavior is covered by an appropriate test.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.