Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Ceedling Freezes on first runner

69 views
Skip to first unread message

Stephen Osborn

unread,
Oct 3, 2024, 12:00:55 PM10/3/24
to ThrowTheSwitch Forums
Trying to get ceedling to work but it hangs up when it gets to the first runner file. I am running in a msys64/mingw64 environment. Ruby 3.3.5 is install under MSYS2 and Ceedling 1.0.0-e06f844. Operating in a Windows Terminal running MSYS2, I get this result:

LI-FLP5DK3 ~/ceedling $ ceedling new fred
      create  fred
      create  fred/src
      create  fred/test
      create  fred/test/support
      create  fred/project.yml

🌱 New project 'fred' created at ./fred/
LI-FLP5DK3 ~/ceedling $ cd fred
LI-FLP5DK3 ~/ceedling/fred $ ceedling module:create[fred]
🚧 Loaded project configuration from working directory.
 > Using: /home/stephen.osborn/ceedling/fred/project.yml
 > Working directory: /home/stephen.osborn/ceedling/fred

Ceedling set up completed in 161 milliseconds
File src/fred.c created
File src/fred.h created
File test/test_fred.c created
Generate Complete

Ceedling operations completed in 14 milliseconds
LI-FLP5DK3 ~/ceedling/fred $ ceedling
🚧 Loaded project configuration from working directory.
 > Using: /home/stephen.osborn/ceedling/fred/project.yml
 > Working directory: /home/stephen.osborn/ceedling/fred

Ceedling set up completed in 155 milliseconds

👟 Preparing Build Paths...

👟 Collecting Test Context
--------------------------
Parsing test_fred.c for build directive macros, #includes, and test case names...

👟 Ingesting Test Configurations
--------------------------------
Collecting search paths, flags, and defines test_fred.c...

👟 Determining Files to be Generated...

👟 Mocking
----------

👟 Test Runners
---------------
Generating runner for test_fred.c...

👟 Determining Artifacts to Be Built...

👟 Building Objects
-------------------
Compiling test_fred.c...
Compiling test_fred::fred.c...
Compiling test_fred::unity.c...
Compiling test_fred::test_fred_runner.c...

At this point it freezes. Pressing Ctrl+C, I get

🌱 Ceedling could not complete operations because of errors

Now the Windows Terminal is frozen, no cursor. I have to kill it.

What am I doing wrong?

Thanks for your help.


Mike Karlesky

unread,
Oct 4, 2024, 10:36:53 AM10/4/24
to throwth...@googlegroups.com

Hi, Stephen.

Could you kindly run this again with --verbosity=debug and provide the log?

And, are you able to provide your project configuration?

(Please try attaching both rather than pasting in the email thread.)


--
You received this message because you are subscribed to the Google Groups "ThrowTheSwitch Forums" group.
To unsubscribe from this group and stop receiving emails from it, send an email to throwtheswitc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/throwtheswitch/627fa8c2-66b9-4322-b78d-3ed60cff1873n%40googlegroups.com.

Stephen Osborn

unread,
Oct 4, 2024, 12:33:14 PM10/4/24
to ThrowTheSwitch Forums
Run with --verbosity=debug. The entire project is in the attached zip file. The output is in the file debug.txt

Thanks

fred.zip

Mike Karlesky

unread,
Oct 7, 2024, 10:59:54 PM10/7/24
to throwth...@googlegroups.com

Stephen,

There's nothing wrong with your set up or commands. Ceedling 1.0.0 is effectively complete but pre-release. All that remains is some final issue resolution. There's a couple of issues specific to Windows we have not yet resolved. We think what you are experiencing is related to a possible Windows threading issue we have not yet found.

At the moment, I'm afraid I don't have a workaround or fix for you. We haven't yet been able to reproduce the problem so as to fix it.

p.s. Supporting Windows is consistently one of the most challenging aspects of the Ceedling project!

Stephen Osborn

unread,
Oct 8, 2024, 8:42:55 AM10/8/24
to ThrowTheSwitch Forums
Mike, 

Thanks. That seems consistent with what I am seeing. It runs fine under WSL, so for now that is my workaround.

Mike Karlesky

unread,
Oct 8, 2024, 9:19:53 AM10/8/24
to throwth...@googlegroups.com

Just to confirm — Is that WSL on the very same machine as the original problem in “pure” Windows?

Stephen Osborn

unread,
Oct 8, 2024, 1:26:43 PM10/8/24
to ThrowTheSwitch Forums
Correct. Same machine that Ceedling hangs when run under MSYS2.

Mike Karlesky

unread,
Oct 10, 2024, 9:27:05 AM10/10/24
to throwth...@googlegroups.com

Stephen, which version of Ruby were your running on Windows when the original problem occurred?

Stephen Osborn

unread,
Oct 10, 2024, 2:36:49 PM10/10/24
to ThrowTheSwitch Forums
I think it was 3.3.1

Mike Karlesky

unread,
Oct 10, 2024, 2:43:50 PM10/10/24
to throwth...@googlegroups.com

We found an issue with shell execution specific to Ruby 3.1 on Windows. Though one would expect it was fixed in 3.2 or 3.3 or, at minimum, documented somehow, we haven't found any clear indicators as to its status. We're implementing a fix as well as addressing what we believe are at least two more threading / shell problems that probably affect all users on all platforms but seem to show up most often in Windows.

Mike Karlesky

unread,
Oct 15, 2024, 10:17:32 AM10/15/24
to throwth...@googlegroups.com

Stephen,

After further investigation, we think we found the problem. There's been a handful of different reports on 1.0.0 prerelease that all sounded like some kind of threading edge case. For whatever reason it nearly always presents itself in Windows but quite infrequently and in nearly impossible to reproduce ways. Your report finally got us on the right path.

We can't declare the problem fixed quite yet. There's code clean up and lots more testing first. But, we are hopeful. When the fix is available in a new prerelease build, would you be so kind as to run it in your original setup? Our best opportunity to demonstrate that the problem is fixed is to ask those who reported issues to exercise their projects. We have not yet had much success in replicating the actual problems and have been implementing fixes against theories and technical knowledge of the mechanisms that we think are failing.

Stephen Osborn

unread,
Oct 16, 2024, 1:59:54 PM10/16/24
to ThrowTheSwitch Forums
Yes. Let me know when it is available.

Mike Karlesky

unread,
Oct 26, 2024, 2:58:23 PM10/26/24
to throwth...@googlegroups.com

Hi, Stephen. Please give this Ceedling 1.0.0 prerelease a try and let us know what you find. Thank you!

Stephen Osborn

unread,
Oct 28, 2024, 2:14:56 PM10/28/24
to ThrowTheSwitch Forums
Updated Ceedling. Ruby wanted an update, so did that. CDed into the fred directory and entered "ceedling" and it ran correctly. Yay!!!

Then in MSYS, I went into my project that I had been running tests from WSL, and it ran correctly. 

Thank you so much.
Reply all
Reply to author
Forward
0 new messages