This story is over 5 years old.

Radio ghosts have haunted the airwaves for nearly a century.

Daniel Oberhaus

Although scientists have yet to settle on a final explanation for these mysterious echoes, Holm believes this is has less to do with a lack of scientific knowledge than a lack of willpower

ORIGINAL REPORTING ON EVERYTHING THAT MATTERS IN YOUR INBOX.

By signing up, you agree to the Terms of Use and Privacy Policy & to receive electronic communications from Vice Media Group, which may include marketing promotions, advertisements and sponsored content.

The Debrief

‘Ghost Signals’ from Trappist-1 Exoplanetary System Revealed by James Webb Space Telescope

New readings from the exoplanet Trappist-1b captured by the James Webb Space Telescope (JWST) have revealed the presence of ghost signals from its host star, as well as other critical data atmospheric data about the planet itself.

Part of the seven-planet Trappist 1 star system, three of which are in the star’s habitable zone, Trappist-1b is the first of the star’s rocky, earth-like planets to be studied in greater detail by the JWST. The researchers behind the first-of-its-kind study believe their findings will help characterize the planetary system, including how the host star affects the weather, composition, and perhaps habitability of all seven of its planets.

Trappist 1 Star System A Primary Target for Life Beyond Earth

Since it was first discovered in 2016, the Trappist-1 star system has fascinated astronomers and astrobiologists alike. The primary attraction is the presence of seven rocky worlds orbiting the red dwarf star. Further observations revealed that three of these earth-like planets, Trappist-1e, f, and g, lie within the star’s habitable zone, where the necessary conditions exist for the presence of water on the planets’ surface. This was a major finding, as all life forms on Earth require water’s presence to exist.

More recently, a series of studies have begun to look even closer at this exoplanetary system, including using the JWST’s unique set of instruments to try to unlock the atmospheres of Trappist-1’s planets. Now, the first results of that work are starting to come in, including an analysis of the atmosphere of Trappist-1b that revealed something called ghost signals that will likely affect upcoming efforts to search Trappist-1e, f, and g for signs of extraterrestrial life.

Dynamics of the Host Star Likely to Affect the Habitability Analysis of Trappist 1 Exoplanets

Operating as part of the General Observers (GO) program, the latest readings from the JWST were captured during the space telescope’s first year of observations. This first round of measurements was captured during two separate transits of Trappist-1b, a period where the planet passes between its host star and Earth, allowing the instrument to capture light spectra data about its atmosphere.

“These are the very first spectroscopic observations of any TRAPPIST-1 planet obtained by the JWST, and we’ve been waiting for them for years,” said Olivia Lim, a doctoral student and the GO program’s principal investigator.

Using its Near Infrared Imager and Slitless Spectrograph (NIRISS) instrument, the JWST captured all kinds of intriguing data about Trappist-1b, as well as supplementary data about the behavior of its host star. Most intriguing is the presence of what the team called “ghost signals.” Caused by the volatility of the host star, which included dark spots, light spots (called faculae), and solar flares like our own sun, these ghost signals can effectively trick the observer by giving a false reading about the presence of chemical compounds in the atmosphere that may (or may not) actually be there.

“In addition to the contamination from stellar spots and faculae, we saw a stellar flare, an unpredictable event during which the star looks brighter for several minutes or hours,” said Lim. “This flare affected our measurement of the amount of light blocked by the planet.”

Anticipating Ghost Signals Can Improve Upcoming Efforts to Find Signs of Life in the Trappist 1 System

Published in the Astrophysical Journal Letters , the new study was also able to further characterize the atmosphere of Trappist 1b. This includes the elimination of a perfectly “clear, extended atmosphere” around the entire planet while also opening up the possibility that the exoplanet has an atmosphere made up of methane, carbon dioxide, or even pure water. The atmosphere could also be similar to that of Saturn’s moon Titan, the only moon in our solar system with its own atmosphere.

Helicopter

Scientists Detect Signs of Life at a Distance Using Remote Sensing

Of course, potentially the most exciting aspect of this new research may be how it will affect the search for life in the Trappist-1 system, including a series of upcoming efforts to peer deeper into the atmospheres of Trappist-1e, f, and g to look for the telltale chemical signs of biology. Towards that end, the researchers behind this latest study say that their findings should help those efforts account for the volatility of the host star in their readings, especially when trying to avoid false data from ghost signals, giving them the best chance to succeed in the search for life in the cosmos.

“Such signatures of stellar activity are difficult to model, but we need to account for them to ensure that we interpret the data correctly,” said Lim.

Christopher Plain is a Science Fiction and Fantasy novelist and Head Science Writer at The Debrief. Follow and connect with him on X , learn about his books at plainfiction.com , or email him directly at [email protected] .

ghost signals

Sign in to add this item to your wishlist, follow it, or mark it as ignored

Sign in to see reasons why you may or may not like this based on your games, friends, and curators you follow.

ghost signals

Buy Ghost Signal: A Stellaris Game

Buy across realities bundle ().

Includes 2 items: Ghost Signal: A Stellaris Game , Stellaris

“One of the best VR roguelites yet” UploadVR “A fresh take on the Stellaris universe” ShackNews “A hot contender for VR game of the year.” MIXED

About This Game

System requirements.

  • Requires a 64-bit processor and operating system
  • OS *: Windows 7 SP1 or newer
  • Processor: Intel Core i5 4590 or greater
  • Memory: 8 GB RAM
  • Graphics: GeForce GTX 970 or AMD Radeon R9 290 or better
  • Storage: 6 GB available space
  • VR Support: SteamVR

Copyright © 2023 Fast Travel Games AB. All rights reserved. All other trademarks and trade names are property of their respective owners.

More like this

What curators say, customer reviews.

ghost signals

You can use this widget-maker to generate a bit of HTML that can be embedded in your website to easily allow customers to purchase this game on Steam.

Enter up to 375 characters to add a description to your widget:

Copy and paste the HTML below into your website to make the above widget appear

ghost signals

Popular user-defined tags for this product: (?)

Sign in to add your own tags to this product.

Valve Software

Ghost Signal: A Stellaris Game - Official Launch Trailer

Ghost Signal: A Stellaris Game is available now for Meta Quest 2. Check out the launch trailer for another look at this VR action roguelite game set in Stellaris' universe. In Ghost Signal: A Stellaris Game, you are tasked with captaining the Aurora and setting out into uncharted space in search of the enigmatic Ghost Signal.

Did you enjoy this video?

In this video.

Ghost Signal: A Stellaris Game

' src=

  • Materials Matter
  • AGMA Update
  • Industry News
  • Product Showcase
  • Media Portal
  • Sign in / Join

ghost signals

A deeper dive into perils of white papers, pseudo-technical articles

ghost signals

Heat-resistant alloys used in heat treating

ghost signals

Q&A with Chelleigh Cuddy

ghost signals

What is a worm gear?

ghost signals

Marketplace

ghost signals

Dealing with ‘Ghost Signals’

Ultrasonic ‘wrap around’ and the display of misleading ultrasonic reflections when testing large cross-section forgings.

ghost signals

During my time in the nondestructive testing field, I have experienced one anomaly continually arise while performing specific ultrasonic examinations of forgings. I’m speaking of a phenomenon often called “wrap around” or “ghost signals,” which are caused from an undesirable pulse repetition frequency in a flaw detector’s electronic settings. Personally, I have seen this cause various organizations and technicians a great deal of frustration, wasted time, money, and effort. It is necessary to understand these signals in order to find a way to reduce or eliminate them.

The premise of ultrasonic examination is to send ultrasonic sound waves through the testing medium and to be returned back to the probe. Any interference of the transmitted sound energy will cause a resultant “indication” or loss of sound to be further investigated by a trained NDE technician. The technician typically will set the electronic settings as applicable to the examination at hand. One of these settings is the pulse repetition frequency (PRF). PRF is the number of times per second that the transducer is pulsed to excite energy into the testing medium (this should not be confused with the frequency of the actual transducer). At a high PRF, there will be more transmitted ultrasonic pulses firing within a fixed time interval than at a low repetition frequency. This higher setting would be desirable when testing at higher scanning speeds, higher sensitivities, and thin materials to assure that the probe receives the required signals to produce an indication on the flaw detector’s screen.

The “wrap around” effect occurs when the PRF is too high for a given section size or when the sound reflections interfere with a prior pulse, and propagate along the “right” path at the “right” velocity and are strong enough to return to the probe after a subsequent pulse is initiated. The alignment of all of these variables will result in a form of ringing inside the component. This combination of factors creates a “ghost signal” and does not represent an actual defect or flaw. For an analogy, consider bouncing balls (ultrasonic signals) against a wall and catching them (back reflection). When doing so, if the rate at which you bounce consecutive balls (PRF) allows you to catch the bounced ball before releasing another ball, the consecutive balls will not interfere with each other. If on the other hand, you release a ball and then release balls before the first ball returns, the balls heading towards the wall can strike the balls returning from the wall and disrupt the paths (wrap-around or ghost-signals).

In my initial ultrasonic training, I became very familiar with A-scan cathode ray tube oscilloscopes or CRT flaw detectors. The more times a CRT fires in a specific time interval the less time the last signal has to fade in brilliance. I was trained to operate these units at a very high PRF in order to create a brighter display. In some instances this was the only foreseeable protocol when performing examinations in an outdoor environment on a bright summer day. If the section size under examination is large enough, with all variables aligned as previously mentioned, this scenario can result in “ghost signals.” Add to this scenario the beneficial effects in the soundness and microstructure of a forging compared to a casting, and therefore easier sound transmission, and the likelihood increased greatly. Throughout my studies, typical test props included welded plate, small castings, and thin forged discs with thicknesses not exceeding roughly four inches of low alloy steel. It wasn’t until I started my NDE career at Scot Forge that I first encountered “wrap around.”

Scot Forge is well known for their open die forgings both large and small. When I use the term “large,” I’m referring to ultrasonically testing radial thicknesses in excess of 50” and axial thicknesses greater than 200.” As one might imagine, it didn’t take long before “wrap around” was evident in one of my examinations. Duplicating one of these scenarios, I have shown how these “ghost signals” may vary dependent upon your PRF setting. With the flaw detector’s velocity control set at standard steel velocity, 0.2330 in./µsec, I extended the PRF control as high as possible to a value of 1095 Hz. I placed the ultrasonic probe at the approximate mid-radius location on a forged disk so that the sound energy propagates axially through the face of the component. This presented multiple “ghost signals” on the presentation (see Figure 1).

ghost signals

Both signals A & B are classic presentations of typical ultrasonic indications showing a sharp, clear spike on the screen. After the PRF value was manually lowered to 545 Hz, while keeping the transducer undisturbed in the same location, the original “ghost signals” actually disappeared and a new “ghost signal,” “C,” appeared. This is shown in Figure 2.

ghost signals

Finally, the PRF value was manually lowered to the lowest possible setting of 15 Hz with the transducer again remaining undisturbed and in the same location. Under this condition, all “ghost signals” disappeared. Only the initial pulse, signal “D,” and the back reflection, signal “E,” are present on the screen (see Figure 3). The lowered PRF setting also cleared the presentation of irrelevant noise obtained from excessive sound scatter.

ghost signals

An additional approach to verify a relevant (true) ultrasonic indication is to verify the time and spatial positions of the signal(s). In every instance that I have encountered, the ghost signals have been positioned off-center from the midpoint of the testing thickness. Additionally, if a sharp signal is received from one face of a component, then the orientation and location of the signal should be verifiable when tested from the opposite face. For example, if an indication is displayed at 2.5 in. deep within a 10 in. block, a relevant indication should be expected to also display when tested directly opposite (opposite surface) at ¾ of the distance, or 7.5 in. deep. Non-relevant, wrap-around signals would not have this characteristic.

As technology changes with the times, flaw detector manufacturers have taken this phenomenon into consideration. With modern A-scan ultrasonic units, limits have been placed on PRF settings for a given transducer, velocity, and thickness combination. In most cases this eliminates the “wrap around” interference. This does not mean the problem has been completely eradicated because often companies will keep older equipment in service as long as the equipment is functional and capable of the required examinations.

Time and again possible ultrasonic indications have been disproved by the above mentioned methods; often with our customer feeling “caught between” us and their outside testing services with the understandable question of “whom do I believe?” In summary to verify “wrap around” versus a true ultrasonic indication, be sure to:

• Change the pulse repetition frequency (PRF) of the scope to a lower frequency to verify change in the signal under verification • Perform the test from the opposing surface • Utilize a flaw detector with updated software that limits an ultrasonic system to its most useful settings

LEAVE A REPLY Cancel reply

Log in to leave a comment

RELATED ARTICLES

ghost signals

When someone gives you the shaft

ghost signals

Q&A with Norman Lazarus

ghost signals

Q&A with Jeff Gribble

ghost signals

Stress relief is a key step in parts manufacturing

ghost signals

Part 2: Don’t compromise a quality gearbox by scrimping on seals and filters

Editor picks.

ghost signals

Laser-material processing for the production of bronze coatings for tribological applications

ghost signals

Effect of tooth root fillet design on plastic-gear tooth root stress

ghost signals

Optimizing the operational behavior of double helical gears

Popular articles.

ghost signals

Finding the ideal materials for gears

ghost signals

A Brief Overview Of Splines

ghost signals

Casting, Forming, and Forging

Popular category.

  • Departments 348
  • Features 764
  • Materials Matter 113
  • Tooth Tips 218
  • Hot Seat 144
  • Q&A 243
  • Company Profile 277
  • Industry News 0

Popular Columns

ghost signals

Back to basics: Quenching, tempering as heat treatments

ghost signals

The Casting Process for Gears, Part III

ghost signals

Q&A with Dara Childs

  • Privacy Policy

Naval Postgraduate School

Naval Postgraduate School

Where Science Meets the Art of Warfare

NPS Research in Electromagnetic Waves Hunts for Ship’s ‘Ghost Signals’

Nps research in electromagnetic waves hunts for ship’s 'ghost signals'.

Rosemary Mena-Werth   |  January 9, 2023

NPS Dept. of Meteorology Professor Qing Wang and her team on one-of-a-kind Floating Instrument Platform (FLIP) research vessel during a recent expedition.

NPS Dept. of Meteorology Professor Qing Wang and her team utilized the one-of-a-kind Floating Instrument Platform (FLIP) research vessel during a past expedition in support of the Coupled Air-Sea Processes and Electromagnetic Ducting Research (CASPER) project, exploring atmospheric ducts and their potential impact on ship detection.

Oceans cover more than 70 percent of the world and finding ships at sea – especially those that do not want to be found – is still quite a challenge. Naval Postgraduate School (NPS) Department of Meteorology professor Qing Wang is on the hunt, tracking atmospheric conditions that result in what are known as “ghost signals,” where ship radar or radio communications travel and linger well beyond the line-of-sight horizon.

Back in the 1940s, the U.S. Navy recognized that under specific atmospheric conditions, electromagnetic frequencies would travel much longer distances. Understanding how and when this happens informs combat system designs and enables operational advantages for naval commanders.

“It’s a hide-and-seek game,” explains Wang. “You want to see and hear others, especially the adversaries, but you don’t want them to find you.”

Before atmospheric ducts were understood, far-reaching radio signals shocked radio specialists who were hearing “ghost voices.” Radar ducts are channels in the atmosphere that have the right temperature and water vapor conditions to bend radar waves along the curvature of the earth. Targets can be detected hundreds, even thousands of kilometers away from the radar inside these ducts. If military radar is in one of these ducts with an adversary, operators can detect each other from great distances.

“We are meteorologists,” says Wang, “so we want to be able to forecast the conditions that create radar ducts. That is the knowledge advantage that you want to have.”

To catch these ghosts, Wang has been leading a research effort that, coincidentally, is the name of a familiar and friendly ghost. CASPER , or Coupled Air-Sea Processes and Electromagnetic Ducting Research, is a collaborative effort initially funded by the Office of Naval Research (ONR) through the Multidisciplinary University Research Initiatives (MURI) Program. The grant funded six primary investigators from different universities – Ohio State University; Oregon State University, University of California, Irvine; University of Minnesota, and Notre Dame – led by Wang at NPS.

CASPER has also supported the research efforts of NPS students. To date, two doctoral students and eight master’s students gained hands-on experience solving relevant problems through their theses, while contributing their operational experience, innovative ideas and published work to the project.

According to ONR's Marine Meteorology and Space Weather Team Lead, Dr. Daniel Eleuterio, the CASPER MURI is an excellent example of coordinated basic and applied research where the MURI program provides funding for multidisciplinary solutions to emerging or particularly complex scientific challenges.

“In this case, an outstanding team of atmospheric and air-sea interaction scientists from NPS were part of a team that included sensor developers and fluid dynamicists from Notre Dame, computational scientists from University of Minnesota, electrical engineers from The Ohio State and Oceanographers from Oregon State,” said Eleuterio. “The complex air-sea interaction in coastal zones strongly effects radio wave propagation, and affects it differently at different frequencies. The results of this research both advanced our fundamental understanding and provided the basis for very successful applied research under ONR sponsorship that will likely continue for at least the next decade.

“Dr. Wang, with her team of university colleagues and NPS students, have done terrific work and provided future leaders for the Navy and our allies a deep understanding of the fundamentals of Electromagnetic Maneuver Warfare,” Eleuterio continued.

Over the years, Wang’s work with electromagnetic waves has required specialized equipment, employing research aircraft, autonomous maritime vehicles, oceanographic research vessels and the particularly unique Floating Instrument Platform (FLIP) owned by ONR and formerly operated through Scripps Institution of Oceanography at UC San Diego.

Wang and part of her team spent a month on board the research vessel FLIP in support of her work. FLIP, now a ship emeritus, is a 355-foot vessel that would be towed to its research location in a horizontal position, then slowly rotated vertically to become a spar buoy. In the vertical position, the vessel extends 300 feet below the surface, and the extruding spar buoy can unfold three 60-foot arms.

“From the end of one arm, we had a mast going down that was fully instrumented and could take undisturbed measurements away from the buoy. And for 30 days, I was on this thing,” Wang says with a laugh. “That means for all this time I did not move. I was at one point on Earth. Every day there was a lot of stuff to do, and I didn't realize it until I was off and thought, ‘Oh, wait a minute! I was on FLIP for 30 days!’”

Wang has excitedly watched the research evolve and improve over the past several years. The data that Wang’s team collected has been used to help evaluate and improve the Navy’s operational environmental forecast models. Predicting the distance incoming targets can be detected by shipboard radar at any moment informs the timing and manner in which the Navy responds to an attack or shift in conditions.

The team’s measurements and analyses have also resulted in many publications on new discoveries of the physical processes in the lower atmosphere.

Atmospheric ducts are leaky and could also allow for naval detection of adversary radar from outside the ducts. Wang’s success with CASPER brings opportunities for new offshoot projects like the Radar and Electromagnetic Wave Ducting in the Stable Atmosphere over Water (REDSAW) project. REDSAW will build on research completed through CASPER, continuing its legacy of operational impact through fleet engagement, student involvement and research partnerships.

Ultimately, it’s about accurate forecasting, Wang says, that gives the U.S. Navy a distinct operational advantage.

“This is the world of electronic warfare … Everything is in the spectrum, you just can’t ignore that,” Wang says. “And the atmosphere is always in the way. It may help, and it may deter, so we just need to know more about it because it is a perpetual presence.”

NPS fuses defense graduate education and research with student experience and faculty expertise to deliver impact and innovation. Learn more about research in the NPS Department of Meteorology.

MEDIA CONTACT  

Office of University Communications 1 University Circle Monterey, CA 93943 (831) 656-1068 https://nps.edu/office-of-university-communications [email protected]

Guides 4 Gamers

  • Guides for Gamers
  • Watch Dogs 2 Game Guide
  • Ghost Signals

Ghost Signals Watch Dogs 2 Operation

Type of operation: Side operation

To start this side operation you need to hack Blume exterior speaker. You will find it in the northern part of San Francisco City.

A total of 18,000 Followers.

Related points of interest

Icon of Ghost Signals

Objectives of Ghost Signals

1. investigate the 52hz signal.

We've picked up signals from Catcall - remnants of an early NSA anti-hacker operation. This dinosaur code is a part of hacker history, so of course we want to go find where it's coming from... maybe even steal it.

Go to the Fort Point and find the server room located at the ground level.

Investigate the 52Hz signal

2. Find a way out of the room

To be able to leave the room you need to solve another "set-nodes" puzzle.

Find a way out of the room

3. Locate the rooftop signal relays

Get to the rooftop, turn on the NetHack, and look at the Golden Gate Bridge.

Locate the rooftop signal relays

4. Track the signal back to its origin [0/6]

Track the signal back to its origin [0/6]

Reward: 9,000 Followers.

5. Erase traces of DedSec's presence

The Catcall trap has led us into Fort Point. We need to make sure any traces of DedSec's presence are wiped from NSA hardware.

Surveillance system ctOS box is mounted on the wall of the cemetery building.

Erase traces of DedSec's presence

Activate the NetHack, switch to another camera and hack the server.

Erase traces of DedSec's presence

User Comments

All your comments, suggestions and additions are very welcome and will certainly help other players who visit this site. Thank you.

Book cover

International Conference on Computer Aided Verification

CAV 2021: Computer Aided Verification pp 27–50 Cite as

Ghost Signals: Verifying Termination of Busy Waiting

Verifying Termination of Busy Waiting

  • Tobias Reinhard   ORCID: orcid.org/0000-0003-1048-8735 10 &
  • Bart Jacobs   ORCID: orcid.org/0000-0002-3605-249X 10  
  • Conference paper
  • Open Access
  • First Online: 15 July 2021

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 12760)

Programs for multiprocessor machines commonly perform busy waiting for synchronization. We propose the first separation logic for modularly verifying termination of such programs under fair scheduling. Our logic requires the proof author to associate a ghost signal with each busy-waiting loop and allows such loops to iterate while their corresponding signal \(s\)  is not set. The proof author further has to define a well-founded order on signals and to prove that if the looping thread holds an obligation to set a signal \(s'\) , then \(s'\)   is ordered above \(s\) . By using conventional shared state invariants to associate the state of ghost signals with the state of data structures, programs busy-waiting for arbitrary conditions over arbitrary data structures can be verified.

Download conference paper PDF

1 Introduction

Programs for multiprocessor machines commonly perform busy waiting for synchronization [ 22 , 23 ]. In this paper, we propose a separation logic [ 24 , 31 ] to modularly verify termination of such programs under fair scheduling. Specifically, we consider programs where some threads busy-wait for a certain condition C over a shared data structure to hold, e.g., a memory flag being set by other threads. By modularly, we mean that we reason about each thread and each function in isolation. That is, we do not reason about thread scheduling or interleavings. We only consider these issues when proving the soundness of our logic. Assuming fair scheduling is necessary since busy-waiting for a condition C only terminates if the thread responsible for establishing the condition is sufficiently often scheduled to establish C .

Busy waiting is an example of blocking behaviour, where a thread’s progress requires interference from other threads. This is not to be confused with non-blocking concurrency, where a thread’s progress does not rely on—and may in fact be impeded by—interference from other threads. Existing proposed approaches for verifying termination of concurrent programs consider only programs that only involve non-blocking concurrent objects [ 32 ], or primitive blocking constructs of the programming language, such as acquiring built-in mutexes, receiving from built-in channels, joining threads, or waiting for built-in monitor condition variables [ 2 , 5 , 19 ], or both [ 11 ]. Existing techniques that do support busy waiting are not Hoare logics; instead, they verify termination-preserving contextual refinements between more concrete and more abstract implementations of busy-waiting concurrent objects [ 15 , 21 ]. In contrast, we here propose the first conventional program logic for modular verification of termination of programs involving busy waiting, using Hoare triples as module specifications.

In order to prove that a busy-waiting loop terminates, we have to prove that it performs only finitely many iterations. To do this we introduce a special form of ghost resources  [ 13 ] which we call ghost signals . As ghost resources they only exist on the verification level and hence do not affect the program’s runtime behaviour. Signals are initially unset and come with an obligation to set them. Setting a signal does not by definition correspond to any runtime condition. So, in order to use a signal \(s\)  effectively, anyone using our approach has to prove an invariant stating that \(s\)  is set if and only if the condition of interest holds. Further, the proof author must prove that every thread discharges all its obligations by performing the corresponding actions, e.g., by setting a signal and establishing the corresponding condition by setting the memory flag.

In our verification approach we tie every busy-waiting loop to a finite set of ghost signals \(S\) that correspond to the set of conditions the loop is waiting for. Every iteration that does not terminate the loop must be justified by the proof author proving that some signal \(s\in S\) has indeed not been set, yet. This way, we reduce proving termination to proving that no signal is waited for infinitely often.

We start by gradually introducing the intuition behind our verification approach and the concepts we use. In Sect.  2.1 and Sect.  2.2 we present the main aspects of using signals to verify termination. We start by treating them as physical thread-safe resources and only consider busy waiting for a signal to be set. Then, we drop thread-safety and explain how to prove data-race- and deadlock-freedom. In Sect.  2.3 and Sect.  2.4 we generalize our approach to busy waiting for arbitrary conditions over arbitrary data structures and then lift signals to the verification level by introducing ghost signals.

In Sect.  3 we sketch the verification of a realistic producer-consumer example involving a bounded FIFO to demonstrate our approach’s usability and address fine-grained concurrency in Sect.  4 . Further, we describe the available tool support in Sect.  5 and discuss integrating higher-order features in Sect.  6 . We conclude by comparing our approach to related work and reflecting on it in Sect.  7 and Sect.  8 .

We formally define our logic and prove its soundness in the extended version of this paper [ 28 ]. To keep the presentation in this paper simple, we assume busy-waiting loops to have a certain syntactical form. In our technical report [ 29 ] we present a generalised version of our logic and its soundness proof. Further, we verify the realistic example presented in Sect.  3 in full detail in the extended version of this paper and in the technical report, using the respective version of our logic. We used our tool support to verify C versions of the bounded FIFO example and the CLH lock. The tool we used and the annotated .c files can be found at [ 10 , 26 , 27 ].

2 A Guide on Verifying Termination of Busy Waiting

When we try to verify termination of busy-waiting programs, multiple challenges arise. Throughout this section, we describe these challenges and our approach to overcome them. In Sect.  2.1 we start by discussing the core ideas of our logic. In order to simplify the presentation we initially consider a simple language with built-in thread-safe signals and a corresponding minimal example where one thread busy-waits for such a signal. Signals are heap cells containing boolean values that are specially marked as being solely used for busy waiting. Throughout this section, we generalize our setting as well as our example towards one that allows to verify programs with busy waiting for arbitrary conditions over arbitrary shared data structures. In Sect.  2.2 we present the concepts necessary to verify data-race-, deadlock-freedom and termination in the presence of built-in signals that are not thread safe. In Sect.  2.3 we explain how to use these non-thread-safe signals to verify programs that wait for arbitrary conditions over shared data structures. We illustrate this by an example waiting for a shared heap cell to be set. In Sect.  2.4 we erase the signals from our program and lift them to the verification level in the form of a concept we call ghost signals .

2.1 Simplest Setting: Thread-Safe Physical Signals

figure 1

Minimal example with two threads communicating via a physical thread-safe signal.

Augmented Semantics

Obligations. The only construct in our language that can lead to non-termination are busy-waiting loops of the form \( \mathbf {await}\ \mathbf {is\_set} (\mathsf {sig}) \) . In order to prove that programs terminate it is therefore sufficient to prove that all created signals are eventually set. We use so-called obligations  [ 5 , 6 , 16 , 19 ] to ensure this. These are ghost resources  [ 13 ], i.e., resources that do not exist during runtime and can hence not influence a program’s runtime behaviour. They carry, however, information relevant to the program’s verification. Generally, holding an obligation requires a thread to discharge it by performing a certain action. For instance, when the main thread in our example creates signal \(\mathsf {sig}\) , it simultaneously creates an obligation to set it. The only way to discharge this obligation is to set \(\mathsf {sig}\) .

figure 2

Reduction rules for augmented semantics.

Proving Termination. As we will explain below, the augmented semantics has no fair infinite executions. We can use this as follows to prove that a program c terminates under fair scheduling: For every fair infinite execution of c , show that we can construct a corresponding augmented execution. (This requires that each step’s side conditions in the augmented semantics are satisfied. Note that we thereby prove certain properties for the real execution, like absence of cyclic wait dependencies.) As there are no fair infinite executions in the augmented semantics, we get a contradiction. It follows that c has no fair infinite executions in the real semantics.

Soundness. In order to prove soundness of our approach, we must prove that there indeed are no fair infinite executions in the augmented semantics. This boils down to proving that no signal can be waited for infinitely often. Consider any program and any fair augmented execution of it. Consider the execution’s program order graph , (i) whose nodes are the execution steps and (ii) which has an edge from a step to the next step of the same thread and to the first step of the forked thread, if it is a fork step. Notice that for each obligation created during the execution, the set of nodes corresponding to a step made by a thread while that thread holds the obligation constitutes a path that ends when the obligation is discharged. We say that this path carries the obligation.

Program Logic

Directly using the augmented semantics to prove that our example program terminates is cumbersome. In the following, we present a separation logic that simplifies this task.

figure 3

Verifying termination of minimal example with physical thread-safe signal. (Color figure online)

figure 4

Minimal example with two threads communicating via a physical non-thread-safe signal protected by a mutex.

2.2 Non-Thread-Safe Physical Signals

As a step towards supporting waiting for arbitrary conditions over shared data structures, including non-thread-safe ones, we now move to non-thread-safe signals. For simplicity, in this paper we consider programs that use mutexes to synchronize concurrent accesses to shared data structures. (Our ideas apply equally to programs that use other constructs, such as atomic machine instructions.) Figure  4 presents our updated example.

As signal \(\mathsf {sig}\) is no longer thread-safe, the two threads can no longer use it directly to communicate. Instead, we have to synchronize accesses to avoid data races. Hence, we protect the signal by a mutex \(\mathsf {mut}\) created by the main thread. In each iteration, the forked thread acquires the mutex, checks whether \(\mathsf {sig}\) has been set and releases it again. After forking, the main thread acquires the mutex, sets the signal and releases it again.

figure 5

Proof rules and view shift rules for mutexes and non-thread safe signals. Rules only used in this section marked with ”.

2.3 Arbitrary Data Structures

The proof rules we introduced in Sect.  2.2 allow us to verify programs busy-waiting for arbitrary conditions over arbitrary shared data structures as follows: For every condition C the program waits for, the proof author inserts a signal \(s\)  into the program. They ensure that \(s\)  is set at the same time the program establishes C and prove an invariant stating that the signal’s value expresses whether C holds. Then, the waiting thread can use \(s\)  to wait for C . We illustrate this here for the simplest case of setting a single heap cell in Fig.  7a .

figure 7

Minimal example illustrating busy waiting for condition over heap cell. (Color figure online)

In our example, the main thread allocates \(\mathsf {x}\) , initializes it with the value 0 and protects it using mutex \(\mathsf {mut}\) . It forks a new thread busy-waiting for \(\mathsf {x}\) to be set. Afterwards, the main thread sets \(\mathsf {x}\) . As explained above, we verify the program by inserting a signal \(\mathsf {sig}\) that reflects whether \(\mathsf {x}\) has been set, yet. Figure  7b presents the resulting code. The main thread creates the signal and sets it when it sets \(\mathsf {x}\) .

figure 8

Verifying termination of busy waiting for condition over heap cell. (Color figure online)

2.4 Signal Erasure

In the program from Fig.  7b signal \(\mathsf {sig}\) is never read and does hence not influence the waiting thread’s runtime behaviour. Therefore, we can verify the original program presented in Fig.  7a by erasing the physical signal and treating it as ghost code.

Ghost Signals. Central aspects of the proof sketch we presented in Fig.  8a are that (i) the main thread was obliged to set \(\mathsf {sig}\) and that (ii) the value of \(\mathsf {sig}\) reflected whether \(\mathsf {x}\) was already set. Ghost signals allow us to keep this information but at the same to remove the physical signals from the code. Ghost signals are essentially identical to the physical non-thread-safe signals we used so far. However, as ghost resources they cannot influence the program’s runtime behaviour. They merely carry information we can use during the verification process.

figure 9

Verifying termination with ghost signals. (Color figure online)

3 A Realistic Example

To demonstrate the expressiveness of the presented verification approach, we verified the termination of the program presented in Fig.  10a . It involves two threads, a consumer and a producer, communicating via a shared bounded FIFO with a maximal capacity of 10. The producer enqueues numbers 100, ..., 1 into the FIFO and the consumer dequeues those. Whenever the queue is full, the producer busy-waits for the consumer to dequeue an element. Likewise, whenever the queue is empty, the consumer busy-waits for the producer to enqueue the next element. Each thread’s finishing depends on the other thread’s productivity. This is, however, no cyclic dependency. For instance, in order to prove that the producer eventually pushes number i into the queue, we only need to rely on the consumer to pop \(i+10\) . A similar property holds for the consumer.

figure 10

Realistic example program. (Color figure online)

Loops and Signals. In our program, both threads have a local counter initially set to 100 and run a nested loop. The outer loops are controlled by their thread’s counter, which is decreased in each iteration until it reaches 0 and the loop stops. For such loops, we introduce a conventional proof rule for total correctness of loops, cf. this paper’s extended version [ 28 ]. Verifying termination of the inner loops is a bit more tricky and requires the use of ghost signals.

Initially, we allocate 200 signal IDs \({{id} _\text {push}^{100}}, \dots , {{id} _\text {push}^{1}}, {{id} _\text {pop}^{100}}, \dots , {{id} _\text {pop}^{1}} \) . We are going to ensure that always at most one push signal and at most one pop signal are initialized and unset. The producer and consumer are going to hold the obligation for the push and pop signal, respectively. The producer will hold the obligation for \(s_\text {push}^{i}\) while i is the next number to be pushed into the FIFO and it will set \(s_\text {push}^{i}\) when it pushes the number i into the FIFO. Meanwhile, the consumer will use \(s_\text {push}^{i}\) to wait for the number i to arrive in the queue when it is empty. Similarly, the consumer will hold the obligation for \(s_\text {pop}^{i}\) while number i is the next number to be popped from the FIFO and will set \(s_\text {pop}^{i}\) when it pops the number i . The producer uses \(s_\text {pop}^{i}\) to wait for the consumer to pop i from the queue when it is full. At any time, we let the mutex \(\mathsf {mut}\) protect the two active signals and thereby make them accessible to both threads.

The number of threads in this program is fixed. However, our approach also supports the verification of programs where the number of threads is not even statically bounded. In [ 28 ] we present and verify such a program. It involves N producer and N consumer threads that communicate via a shared buffer of size 1, for a random number \(N > 0\) determined during runtime.

4 Specifying Busy-Waiting Concurrent Objects

Our approach can be used to verify busy-waiting concurrent objects with respect to abstract specifications. For example, we have verified [ 26 ] the CLH lock [ 7 ] against a specification that is very similar to our proof rules for built-in mutexes shown in Fig.  6 . The main difference is that it is slightly more abstract: when a lock is initialized, it is associated with a bounded infinite set of levels rather than with a single particular level. (To make this possible, an appropriate universe of levels should be used, such as the set of lists of natural numbers, ordered lexicographically.) To acquire a lock, the levels of the obligations held by the thread must be above the elements of the set; the new obligation’s level is an element of the set.

5 Tool Support

We have extended the VeriFast tool [ 10 ] for separation logic-based modular verification of C and Java programs so that it supports verifying termination of busy-waiting C or Java programs. When verifying termination, VeriFast consumes a call permission at each recursive call or loop iteration. In the technical report [ 29 ] we define a generalised version of our logic that instead of providing a special proof rule for busy-waiting loops, provides wait permissions and a wait view shift . A call permission of a degree \(\delta \) can be turned into a wait permission of a degree \(\delta ' < \delta \) for a given signal \(s\) . A wait view shift for an unset signal \(s\)  for which a wait permission of degree \(\delta \) exists produces a call permission of degree \(\delta \) , which can be used to fuel a busy-waiting loop. When busy-waiting for some signal \(s\) , we can generate new permissions to justify each iteration as long as \(s\)  remains unset.

The only change we had to make to VeriFast’s symbolic execution engine was to enforce the thread phase rule. We encoded the other aspects of the logic simply as axioms in a trusted header file . We used this tool support to verify the bounded FIFO (Sect.  3 ) and the CLH lock (Sect.  4 ). The bounded FIFO proof [ 27 ] contains 160 lines of proof annotations for 37 lines of code (an annotation overhead of 435%) and takes 0.08 s to verify. The CLH lock proof [ 26 ] contains 343 lines of annotations for 49 lines of code (an overhead of 700%) and takes 0.1 s to verify.

6 Integrating Higher-Order Features

The logic we presented in this paper does not support higher-order features such as assertions that quantify over assertions, or storing assertions in the (logical) heap as the values of ghost cells. While we did not need such features to carry out our example proofs, they are generally useful to verify higher-order program modules against abstract specifications. The typical way to support such features in a program logic is by applying step indexing [ 1 , 17 ], where the domain of logical heaps is indexed by the number of execution steps left in the (partial) program trace under consideration. Assertions stored in a logical heap at index \(n+1\) talk about logical heaps at index n ; i.e., they are meaningful only later , after at least one more execution step has been performed.

It follows that such logics apply directly only to partial correctness properties. Fortunately, we can reduce a termination property to a safety property by writing our program in a programming language instrumented with runtime checks that guarantee termination. Specifically, we can write our program in a programming language that fulfils the following criteria: It tracks signals, obligations and permissions at runtime and has constructs for signal creation, waiting and setting a signal. The \(\mathbf {fork}\) command takes as an extra operand the list of obligations to be transferred to the new thread (and the other constructs similarly take sufficient operands to eliminate any need for angelic choice). Threads get stuck when these constructs’ preconditions are not satisfied, such as when a thread waits for a signal while holding the obligation for that signal. We can then use a step-indexing-based higher-order logic such as Iris [ 14 ] to verify that no thread in our program ever gets stuck. Once we established this, we know none of the instrumentation has any effect and can be safely erased from the program.

7 Related and Future Work

In recent work [ 30 ] we propose a separation logic to verify termination of programs where threads busy-wait to be abruptly terminated. We generalize this work to support busy waiting for arbitrary conditions.

In [ 11 ] we propose an approach based on call permissions to verify termination of single- and multithreaded programs that involve loops and recursion. However, that work does not consider busy-waiting loops. In the technical report, we present a generalised logic that uses call permissions and allows busy waiting to be implemented using arbitrary looping and/or recursion. Furthermore, the use of call permissions allowed us to encode our case studies in our VeriFast tool which also uses call permissions for termination verification.

Liang and Feng [ 20 , 21 ] propose LiLi, a separation logic to verify liveness of blocking constructs implemented via busy waiting. In contrast to our verification approach, theirs is based on the idea of contextual refinement. In their approach, client code involving calls of blocking methods of the concurrent object is verified by first applying the contextual refinement result to replace these calls by code involving primitive blocking operations and then verifying the resulting client code using some other approach. In contrast, specifications in our approach are regular Hoare-style triples and proofs are regular Hoare-style proofs.

In [ 9 ] we propose a Hoare logic to verify liveness properties of the I/O behaviour of programs that do not perform busy waiting. By combining that approach with the one we proposed in this paper, we expect to be able to verify I/O liveness of realistic concurrent programs involving both I/O and busy waiting, such as a server where one thread receives requests and enqueues them into a bounded FIFO, and another one dequeues them and responds. To support this claim, we encoded the combined logic in VeriFast and verified a simple server application where the receiver and responder thread communicate via a shared buffer [ 25 ].

8 Conclusion

We propose what is to the best of our knowledge the first separation logic for verifying termination of programs with busy waiting. We offer a soundness proof of the system of the paper in its extended version [ 28 ], and of a more general system in the technical report [ 29 ]. Further, we demonstrated its usability by verifying a realistic example. We encoded our logic and the realistic example in VeriFast [ 27 ] and used this encoding also to verify the CLH lock [ 26 ]. Moreover, we expect that our approach can be integrated into other existing concurrent separation logics such as Iris [ 14 ].

For simplicity, our augmented semantics assumes that the level order and the level associated with any object remains fixed for the entire execution. However, following the approach presented in [ 18 ], it would be sound to add a step rule that allows a thread to change the level of an object it has exclusive access to (cf. Sect.  2.2 ).

For a formal definition see this paper’s extended version [ 28 ] and the technical report [ 29 ].

As we discuss in Sect.  5 , in the technical report accompanying this paper we present a more general logic that imposes no such syntactic restrictions.

Appel, A.W., McAllester, D.: An indexed model of recursive types for foundational proof-carrying code. ACM Trans. Program. Lang. Syst. 23 (5), 657–683 (2001). https://doi.org/10.1145/504709.504712

CrossRef   Google Scholar  

Boström, P., Müller, P.: Modular verification of finite blocking in non-terminating programs. In: Boyland, J.T. (ed.) 29th European Conference on Object-Oriented Programming, ECOOP 2015, 5–10 July 2015, Prague, Czech Republic. LIPIcs, vol. 37, pp. 639–663. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2015). https://doi.org/10.4230/LIPIcs.ECOOP.2015.639

Boyapati, C., Lee, R., Rinard, M.: Ownership types for safe programming: Preventing data races and deadlocks. OOPSLA (2002). https://doi.org/10.1145/582419.582440

Flanagan, C., Leino, K.R.M., Lillibridge, M., Nelson, G., Saxe, J.B., Stata, R.: Extended static checking for Java. In: PLDI 2002 (2002). https://doi.org/10.1145/512529.512558

Hamin, J., Jacobs, B.: Deadlock-free monitors. In: Ahmed, A. (ed.) ESOP 2018. LNCS, vol. 10801, pp. 415–441. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-89884-1_15

Hamin, J., Jacobs, B.: Transferring Obligations Through Synchronizations. In: 33rd European Conference on Object-Oriented Programming (ECOOP 2019). Leibniz International Proceedings in Informatics (LIPIcs), vol. 134, pp. 19:1–19:58 (2019). https://doi.org/10.4230/LIPIcs.ECOOP.2019.19

Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming, 1st edn. Revised Reprint. Morgan Kaufmann Publishers Inc., San Francisco (2012)

Google Scholar  

Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12 , 576–580 (1968). https://doi.org/10.1145/363235.363259

CrossRef   MATH   Google Scholar  

Jacobs, B.: Modular verification of liveness properties of the I/O behavior of imperative programs. In: Margaria, T., Steffen, B. (eds.) ISoLA 2020. LNCS, vol. 12476, pp. 509–524. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-61362-4_29

Jacobs, B. (ed.): VeriFast 21.04. Zenodo (2021). https://doi.org/10.5281/zenodo.4705416

Jacobs, B., Bosnacki, D., Kuiper, R.: Modular termination verification of single-threaded and multithreaded programs. ACM Trans. Program. Lang. Syst. 40 , 12:1–12:59 (2018). https://doi.org/10.1145/3210258

Jacobs, B., Smans, J., Philippaerts, P., Vogels, F., Penninckx, W., Piessens, F.: VeriFast: A Powerful, Sound, Predictable, Fast Verifier for C and Java. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 41–55. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-20398-5_4

Jung, R., Krebbers, R., Birkedal, L., Dreyer, D.: Higher-order ghost state. In: Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming (2016). https://doi.org/10.1145/2951913.2951943

Jung, R., Krebbers, R., Jourdan, J.H., Bizjak, A., Birkedal, L., Dreyer, D.: Iris from the ground up: a modular foundation for higher-order concurrent separation logic. J. Funct. Program. 28 , e20 (2018). https://doi.org/10.1017/S0956796818000151

Kim, J., Sjöberg, V., Gu, R., Shao, Z.: Safety and liveness of MCS lock-layer by layer. In: Asian Symposium on Programming Languages and Systems (2017)

Kobayashi, N.: A new type system for deadlock-free processes. In: Baier, C., Hermanns, H. (eds.) CONCUR 2006. LNCS, vol. 4137, pp. 233–247. Springer, Heidelberg (2006). https://doi.org/10.1007/11817949_16

Lars Birkedal, Kristian Støvring, J.T.: The category-theoretic solution of recursive metric-space equations. Theoret. Comput. Sci. 411 (47), 4102–4122 (2010). https://doi.org/10.1016/j.tcs.2010.07.010

Leino, K.R.M., Müller, P.: A basis for verifying multi-threaded programs. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 378–393. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-00590-9_27

Leino, K.R.M., Müller, P., Smans, J.: Deadlock-free channels and locks. In: Gordon, A.D. (ed.) Programming Languages and Systems. LNCS, vol. 6012, pp. 407–426. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11957-6_22

Liang, H., Feng, X.: A program logic for concurrent objects under fair scheduling. POPL (2016). https://doi.org/10.1145/2837614.2837635

Liang, H., Feng, X.: Progress of concurrent objects with partial methods. Proc. ACM Program. Lang. 2 , 20:1–20:31 (2017). https://doi.org/10.1145/3158108

Mellor-Crummey, J.M., Scott, M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst. 9 , 21–65 (1991). https://doi.org/10.1145/103727.103729

Mühlemann, K.: Method for reducing memory conflicts caused by busy waiting in multiple processor synchronisation. IEE Proc. E - Comput. Digit. Techniques 127 (3), 85–87 (1980). https://doi.org/10.1049/ip-e.1980.0017

O’Hearn, P., Reynolds, J., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001. LNCS, vol. 2142, pp. 1–19. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44802-0_1

Reinhard, T., Jacobs, B.: VeriFast proof of I/O liveness for a simple server with a receiver and a responder thread communicating via a shared buffer (2020). https://github.com/verifast/verifast/blob/master/examples/busywaiting/ioliveness/echo_live_mt.c

Reinhard, T., Jacobs, B.: VeriFast proof of safety for CLH lock (2020). https://github.com/verifast/verifast/blob/master/examples/busywaiting/clhlock/clhlock.c

Reinhard, T., Jacobs, B.: VeriFast proof of termination for consumer-producer problem with bounded FIFO (2020). https://github.com/verifast/verifast/blob/master/examples/busywaiting/bounded_fifo.c

Reinhard, T., Jacobs, B.: Ghost signals: verifying termination of busy waiting (extended version) (2021). https://arxiv.org/abs/2010.11762

Reinhard, T., Jacobs, B.: Ghost signals: verifying termination of busy waiting (technical report). Zenodo (2021). https://doi.org/10.5281/zenodo.4775181

Reinhard, T., Timany, A., Jacobs, B.: A Separation Logic to Verify Termination of Busy-Waiting for Abrupt Program Exit, New York, NY, USA, pp. 26–32. Association for Computing Machinery (2020). https://doi.org/10.1145/3427761.3428345

Reynolds, J.C.: Separation logic: a logic for shared mutable data structures. In: Proceedings 17th Annual IEEE Symposium on Logic in Computer Science, pp. 55–74 (2002). https://doi.org/10.1109/LICS.2002.1029817

da Rocha Pinto, P., Dinsdale-Young, T., Gardner, P., Sutherland, J.: Modular termination verification for non-blocking concurrency. In: Thiemann, P. (ed.) ESOP 2016. LNCS, vol. 9632, pp. 176–201. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49498-1_8

Vafeiadis, V.: Concurrent separation logic and operational semantics. In: Electronic Notes in Theoretical Computer Science, 276, pp. 335–351 (2011). https://doi.org/10.1016/j.entcs.2011.09.029 , twenty-seventh Conference on the Mathematical Foundations of Programming Semantics (MFPS XXVII)

Download references

Author information

Authors and affiliations.

imec-DistriNet Research Group, KU Leuven, Leuven, Belgium

Tobias Reinhard & Bart Jacobs

You can also search for this author in PubMed   Google Scholar

Corresponding author

Correspondence to Tobias Reinhard .

Editor information

Editors and affiliations.

University College London, London, UK

Alexandra Silva

Automated Reasoning Group | AWS, Seattle, WA, USA

K. Rustan M. Leino

Rights and permissions

Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License ( http://creativecommons.org/licenses/by/4.0/ ), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Reprints and permissions

Copyright information

© 2021 The Author(s)

About this paper

Cite this paper.

Reinhard, T., Jacobs, B. (2021). Ghost Signals: Verifying Termination of Busy Waiting. In: Silva, A., Leino, K.R.M. (eds) Computer Aided Verification. CAV 2021. Lecture Notes in Computer Science(), vol 12760. Springer, Cham. https://doi.org/10.1007/978-3-030-81688-9_2

Download citation

DOI : https://doi.org/10.1007/978-3-030-81688-9_2

Published : 15 July 2021

Publisher Name : Springer, Cham

Print ISBN : 978-3-030-81687-2

Online ISBN : 978-3-030-81688-9

eBook Packages : Computer Science Computer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

  • Publish with us

Policies and ethics

  • Find a journal
  • Track your research

AmateurRadio.com

Ghostly signals.

ghost signals

I have been puzzled and mildly irritated by the ‘ghost’ traces that appear at plus and minus 100Hz when I receive a very strong signal with WSJT-X.  Torben OZ1TMK wrote to me after we had a JT9-1 QSO to ask if his signal had been OK. He had received requests from a couple of local stations to reduce power because he was ‘causing harmonics’. I hadn’t noticed anything wrong with Torben’s signal but it hadn’t been strong enough. It looked to me as if it was the same effect I and a few other JT9-1 users had observed when very strong signals were received, so I decided to investigate.

I had a theory that the +/-100Hz spurious outputs ( +/-120Hz observed in the USA) were caused by ripple modulating the transmitted carrier. I used my general purpose signal generator, otherwise known as the FT-817ND, to transmit a low power carrier (CW key down) into an unscreened dummy load (Elecraft DL-1). I repeated this with the transceiver powered from my bench power supply and then on its internal batteries with the power cable removed. The results in the WSJT-X spectrum display window are shown below.

As can be seen, there are traces at +/-100Hz and at 100Hz intervals on both signals, but the ghosts seem a bit stronger on the signal when the TX is powered from the main supply.

I recalled an issue a few years ago when someone sending CW using their K3 had reports of spurious signals +/- the sidetone frequency. This turned out to be audio modulation of the synthesizer by the sound of the sidetone from the K3 speaker. Elecraft provided a fix in the form of a stiffener for the synthesizer board. My K3 is an old one and does not have this modification. You can see that the synthesizer is affected by physical vibration looking at the trace produced when I rapped on the K3 case.

My K3 sits on a shelf next door to a heavy linear power supply. Could slight vibration of the mains transformer be modulating the receiver’s local oscillator so as to create weak sidebands at +/- double the mains frequency?

To answer that question I repeated the tests using my Elecraft K2 as a receiver, feeding the headphone output at low level into the cheap USB audio dongle I use for computer sound. You can see the result below.

You can see that the sidebands are much reduced when the signal is produced by a transmitter running on battery power. In fact, some weak +/- 50Hz sidebands are present – possibly the effect of 50Hz AC hum on the un-isolated cable used to connect the K2 headphone output to the sound card.

I’m not sure what to make of all this. It does appear that the ‘harmonics’ – which are really sidebands – that accompany a strong JT9-1 signal are caused mainly by AC ripple modulating the transmitted carrier, but that hum on the receive side can produce a decodable signal as well. The WSJT-X software is extremely sensitive and can detect these components even if they are 30dB or more below the fundamental carrier.

I would appreciate hearing of other theories or tests carried out to explain this phenomenon. It seems to be that this issue is going to be almost unavoidable when mains-powered equipment is used to generate signals that are decoded by very sensitive software.

2 Responses to “Ghostly signals”

Interesting Randy

I got this message from Joe Taylor:

Your ghost signals at +/- 120 Hz from the main one are caused by power-supply ripple getting into your Tx audio, or in some other way contriving to modulate your transmitted signal. According to your QSO partner, W3BI, the sidebands were 40 dB below your main signal. Not too bad, but with care you can probably reduce them by another 20 dB or more. — 73, Joe, K1JT

I had noticed RF noise on my powered computer speakers connected to my Flex-3000 when transmitting (only when on JT9-1). I put a ferrite bead with two turns on the speaker output wire thru it, close to the radio….and voilà the noise and ghosts disappeared.

Leave a Comment

Name & Callsign (required)

E-Mail (will not be published) (required)

Subscribe FREE to AmateurRadio.com's Amateur Radio Newsletter News, Opinion, Giveaways & More!

ghost signals

Subscribe FREE to AmateurRadio.com's Amateur Radio Newsletter

  We never share your e-mail address.

  • Andrew MØNRD
  • Anthony K3NG
  • Colin M6BOY
  • Frank K4FMH
  • George W5JDX
  • Jerry KDØBIK
  • Richard AA4OO
  • Steve G1KQH
  • Steve VE7SL
  • Wayne K5UNX

ghost signals

  • ICQ Podcast Episode 421 – New Year Ham Radio Hints and Tips
  • Amateur Radio Weekly – Issue 315
  • LHS Episode #528: JTDX Deep Dive
  • Reverse Beacon Network strange event
  • Ham College 108
  • Amateur Radio Weekly – Issue 314
  • AM or SSB are there ‘windows’?
  • All New Technician License Class – Monument, CO
  • Canada Winter contest results
  • Happy New Year
  • Technician Class License Prep
  • Ham Radio Advertising Opportunities
  • How to Set Up a Ham Radio Blog
  • Privacy Policy
  • Reliance Antennas – 10% Off Coupon Code
  • Submit an Article

Copyright © 1995-2024 AmateurRadio.com, All Rights Reserved. Celebrating 29 Years of Service to the Amateur Radio Community RSS Feed | Sitemap | DMCA Contact | Privacy Policy / GDPR Each individual posting is the property of its respective author and the opinions expressed may not represent those of AmateurRadio.com including its editor, staff, or sponsors. Content may not be reproduced without written permission.

Sign up for our free Amateur Radio Newsletter

  • Ham radio news and commentary, plus free radio gear giveaways
  • Over 8,000 subscribers worldwide
  • We NEVER share your e-mail

Enter your e-mail address:

Stellaris Wiki

Personal tools

Navigation menu.

Outliner top.png

A crisis is an event that threatens the entire galaxy and all life within it. There are two types of crises: those caused by outside entities that make an appearance after the end-game start year , and those caused by player and AI empires (except Fallen Empires ).

Each time a crisis conquers a planet it causes diplomatic Threat with all empires, making them more likely to cooperate against the crisis. Fallen Empires will send their fleets against a Crisis if it approaches their borders and may even awaken to help fight it.

If the "Crisis Type" galaxy setting is set to "All" then each crisis will be twice more powerful than the previous one.

  • 1 Midgame crises
  • 2.1.1 Prethoryn Fleets
  • 2.1.2 Sentinel Order
  • 2.1.3 Captured Queens
  • 2.1.4 Feral Prethoryn
  • 2.1.5 Successfully repelling the Prethoryn Swarm
  • 2.2.1 Extradimensional Ships
  • 2.2.2 The Aberrant and the Vehement
  • 2.2.3.1 Early-game/mid-game crisis
  • 2.3.1 The Ghost Signal
  • 2.3.2 Synthetic Infiltration
  • 2.3.3 Warning Signs
  • 2.3.4 The Cybrex
  • 2.3.5 Ancient Caretakers
  • 2.3.6 Contingency Ships
  • 2.3.7 Successfully repelling the Contingency
  • 3.1.1 Playing as the crisis empire: pre-crisis
  • 3.1.2 Playing as the crisis empire: post-crisis
  • 3.1.3 Playing against the crisis empire
  • 4 References

Midgame crises [ edit | edit source ]

Endgame crises [ edit | edit source ].

Endgame crises are triggered in various ways. The following is a summary of the requirements:

  • "Crisis Strength" galaxy setting must not be "Off"
  • In the end-game
  • Finished the Ancient Robot World archaeological site (50% chance)
  • Both the Extradimensional Experimentation and Galactic Threats Committee resolutions have been passed
  • At least 25 years have passed since the end-game start year
  • No Fallen or Awakened empires exist
  • There cannot be a War in Heaven , regardless of the galactic situation
  • A War in Heaven has already occurred, and finished
  • Any empire has Jump Drives or Psi Jump Drives
  • The Extradimensional Experimentation resolution has been passed
  • The Galactic Threats Committee resolution has been passed
  • A galactic crisis has not happened
  • If the "Crisis Type" galaxy setting is set to "All", another endgame crisis must not have been triggered in the previous twelve years

The above requirements are checked every 5 years. If the requirements are met, then the game randomly selects either one of the crisis, or no crisis, with the following base weights:

  • x0 if less then 50 years have passed since the end-game start year and the default_endgame_early_start_triggers scripted trigger is NOT met (see above)
  • x3 if the "Crisis Type" galaxy setting is set to "Prethoryn Scourge"
  • x0 if the "Crisis Type" galaxy setting is set to either "Unbidden" or "Contingency"
  • x2 if there cannot be a War in Heaven, or there are no Fallen or Awakened empires
  • x0 if the Prethoryn Scourge has already happened
  • x3.75 if the "Crisis Type" galaxy setting is set to "Unbidden"
  • x0 if the "Crisis Type" galaxy setting is set to either "Prethoryn Scourge" or "Contingency
  • 2x if there cannot be a War in Heaven, or there are no Fallen or Awakened empires
  • 0.5x if less then 20 end-game years have passed
  • x0 if the Unbidden has already happened

Note that the Unbidden is the only crisis that can spawn earlier than the endgame start date.

  • x0 if less then 50 years have passed since the end-game start year and the default_endgame_early_start_triggers scripted trigger is NOT met
  • x3 if the "Crisis Type" galaxy setting is set to "Contingency"
  • x0 if the "Crisis Type" galaxy setting is set to either "Prethoryn Scourge" or "Unbidden"
  • x0 if the Contingency has already happened
  • Set to 1 if someone finished the Ancient Robot World archaeological site (50% chance)

Additionally, all of the above options (with the exception of "Nothing") are multiplied depending on how many years since the endgame start year have passed:

  • x2 after 35 years
  • x2 after 50 years
  • x3 after 70 years
  • x3 after 85 years
  • x4 after 100 years

Endgame crises have a situation log entry that keeps count of the casualties on both sides and shows how close the crisis is to being defeated. During an endgame crisis an audio cue that will play in the background and grow more pronounced the more systems are controlled by the crisis.

The "Crisis Type" galaxy setting and the various difficulty bonuses increase the hull, shield, armour, and damage of the endgame crisis, but not the ship fire rate.

Prethoryn Scourge [ edit | edit source ]

ghost signals

The Prethoryn Scourge Crisis begins with a notice about subspace echoes beyond the galaxy that are approaching. Immediately a situation log notice called "The Coming Storm" is added.

On a MTTH (Mean Time To Happen) of 50 years, they will be close enough to get the general direction of the swarm. A system at the edge of the galaxy will be marked as the center of the Invasion. The system cannot be within or near a Fallen or Awakened Empire. The closest 5 systems are marked for the vanguard fleets. 120 months after that, a transmission will be received from the swarm.

Hive Mind

The Prethoryn Scourge uses the following mechanics:

  • The Prethoryn species itself is immortal so their commanders will never die of old age.
  • (monthly) If they have no planet and army they get a fleet of 20 armies
  • (yearly) If their count of Infestors is under 4, they get a fleet of 5 Infestors
  • (yearly) If their count of Infestors is under 4 but they still have at least 10 ships total, they get a fleet of 3 constructors
  • The Prethoryn Scourge will attack planets that contain biological pops first
  • Each fleet will take systems in a way similar to Total Wars.
  • Prethoryn constructors will build starbases to expand their territory into unclaimed systems. Their starbases are as strong as citadels and modified by the Crisis Difficulty setting.
  • The Prethoryn Scourge use infestors as colony ships. They will land on uncolonized habitable planets and when the colony development process is complete the planet is turned into an infested world. As with regular colony development any orbital bombardment will instantly interrupt the process.
  • Prethoryn transports will invade inhabited planets using ground armies in order to occupy it and purge the Pops. During this phase the planet can be recaptured with ground armies. Once all Pops have been purged the planets will be turned into an infested world.
  • Infested Planets cannot be invaded. In order to get rid of the infestation, infested planets must be bombarded until Devastation reaches 100, at which point they will turn into a barren planet that can be terraformed.
  • If the Scourge overruns a ring world segment it will destroy it. Ring world segments destroyed by the swarm cannot be rebuilt. Overrun habitats are destroyed entirely and are likewise impossible to rebuild.

Happiness.png

Audio Cue : As the Prethoryn Scourge infests more of the galaxy soft chewing sounds will start to be heard in the background.

Prethoryn Fleets [ edit | edit source ]

Vanguard fleets consist of 30 Swarmlings led by a commander with the Void Swimmer Trait. Star Brood fleets consist of 1 Queen, 8 Brood Mothers, 10 Warriors, and 35 Swarmlings led by a commander that has a 25% chance to have the unique Hive Affinity Trait. Every 2 years if the Prethoryn Scourge has below 2000 ships and at least 1 infested planet it will get 2 Star Brood fleets, with a third fleet at 20% galactic border coverage, a fourth fleet at 40% border coverage. They may also get Constructors and Infestors with this reinforcement.

Prethoryn Ships have natural armor despite not using armor components. The stats of their weapons are determined by the Crisis Strength setting. Scourge Missiles and Swarm Strikers can be reverse-engineered. Their bio-drives and thrusters are identical to tier 1 drives and thrusters while their bio sensors are identical to tier 2 sensors.

ghost signals

Sentinel Order [ edit | edit source ]

Leader trait sentinel.png

If the Prethoryn Scourge covers at least 50% of the galaxy the Sentinels will make a breakthrough in swarm anatomy, giving every empire +20% damage against the Prethoryn Scourge.

Mod navy size add.png

The sentinels do not expand. A few weeks after the Prethoryn Scourge has been defeated their Grand Master will disband the Sentinels.

Captured Queens [ edit | edit source ]

R prethoryn queen.png

Feral Prethoryn [ edit | edit source ]

For 15 years after the Prethoryn Scourge has been defeated, every year there is a 10% chance that on a system with a previously infested planet a Feral Prethoryn starbase and 3 Feral Prethoryn fleets will appear. They will not expand but may roam the surrounding systems and fight other Feral Prethoryn swarms. Roaming fleets are made up of 56 Swarmlings.

Successfully repelling the Prethoryn Swarm [ edit | edit source ]

Prethoryn Swarm entities are heavily armored, attack enemies with missiles and strike craft, along with some acid bursts. Swarmlings possess Corvette-level evasion.

Since all their weapons either ignore or cause major damage to shields, and work equally well against armor and hull, combat fleets should protect themselves with point defense, armor, and plating. Use energy weapons that deal bonus damage against both armor and hull to attack. Arc Emitters work well too; if you build Arc Emitter battleships, Cloud Lighting is a good support weapon for them.

Empires which lack the means to directly counter the Scourge’s fleets should immediately focus on containing its expansion instead. Keeping multiple small fleets of corvettes or destroyers to hunt down their civilian ships and stopping infestations is a viable strategy to limit the spread of the Scourge, as they will send otherwise engaged fleets to try and stop your efforts.

If an important planet falls to a Prethoryn invasion, it will take much longer for them to infest it compared to uninhabited planets, as purging takes much longer than infestation. Infested planets are immediately turned into barren planets once they take enough planet damage. Since the Swarm only can infest habitable worlds, it is possible to starve them by cornering them and launching surgical strikes toward their planets to render them uninhabitable, thus widening the gap between them and any infestable territory. The Prethoryn will pull any fleets from surrounding systems to defend their planets, so fleets targeting Prethoryn planets must be prepared to face multiple swarm fleets if those have not been dealt with already. AI Empires in particular will use such hit-and-run tactics against infested planets.

Another feasible strategy is to get a Colossus into the area where the Crisis will spawn and breaking all of the planets to starve them, putting your best fleets near the edge of the invasion zone is also helpful, stationing them at the ending for any wormholes leading out of the invasion zone is a must.

Prethoryn "Star Brood" fleets are composed of at least one Queen, escorted by Warrior and Brood Mother battleship equivalents, with Spawnling corvettes making up the bulk of the fleet combat strength. A fleet equipped with long-range weapons can expect to destroy a number of Spawnlings before the Prethoryn units are able to return fire, at which point emergency FTL can be used to avoid casualties altogether. By repairing and repeating, this guerrilla tactic can wear down Prethoryn fleets until they are small enough to defeat in a full confrontation.

Salvage should not be forgotten as it unlocks their bio-weaponry, which is most useful against them. Their starbases are equally good sources of technology while being much easier targets.

Extradimensional Invaders [ edit | edit source ]

ghost signals

The Extradimensional Invaders Crisis begins with a note about a massive power surge somewhere in the galaxy. Immediately somewhere in the galaxy a Dimensional Portal, a portal starbase and the main Unbidden fleet will emerge. If the system lies within the borders of an empire the starbase is instantly destroyed. If the Galactic Community was formed a Galactic Priority to fight the Extradimensional Invaders becomes available. 15 days later a second fleet will emerge. Another 15 days later a third fleet will emerge, contact with the Unbidden will open and the location of the Dimensional Portal will be added to the Situation Log. Fleets will take systems from empires in a way similar to total wars, while constructors will build starbases in unclaimed systems.

R unbidden warlock.png

The Extradimensional Invaders get additional fleets 55, 90, 180, 265, 340, 425 and 550 days after the portal spawns. Afterwards, unless they have more than 2000 ships, they will receive smaller reinforcement fleets through the portal at regular intervals, with the interval being lower if they have more starbases:

  • 0 Starbases: 1500 days, ±200
  • 1 Starbases: 1300 days, ±200
  • 2 Starbases: 1100 days, 200
  • 3 Starbases: 900 days, ±200
  • 4 Starbases: 600 days, ±200
  • 5 Starbases: 400 days, ±200
  • 6 Starbases: 400 days, ±200
  • 7 Starbases: 300 days, ±100
  • 8 Starbases: 250 days, ±50
  • 9 Starbases: 200 days, ±50
  • 10+ Starbases: 150 days, ±50

It should be noted that unlike the other crises, which provide warning several years in advance, the Extradimensional Invaders will arrive instantly and with no indication where the portal will open.

Extradimensional fleets ignore FTL Inhibitors .

Leader trait psionic chosen one.png

Audio Cue : As the Extradimensional Invaders consume more of the galaxy a faint wind will start to be heard in the background.

Extradimensional Ships [ edit | edit source ]

ghost signals

Unbidden, Aberrant and Vehement ships use different names but are identical save for color. All components can be reverse-engineered, including their unique weapons.

Initial fleets consist of 8 battleships, 12 cruisers and 20 escorts led by a commander which may get the Dimensional Stutter or Ethereal traits.

Reinforcement fleets consist of 5 battleships, 8 cruisers and 15 escorts led by a commander which may get the Dimensional Stutter or Ethereal traits.

Portal fleets consist of 20 battleships, 30 cruisers and 45 escorts led by a commander with the Ethereal trait.

The Aberrant and the Vehement [ edit | edit source ]

When the Unbidden borders cover either 15% of the galaxy or 90 systems, a second extradimensional portal will open, bringing up another faction called the Aberrant. A few years later a third portal bringing a third faction called the Vehement will open. While all three factions will be hostile towards life, they are also hostile towards each other.

The new factions have a far shorter delay for the Initial Fleet spawns (1, 5, 15, 30, 45, 60, 150, 350) in order to bring them on even ground with the Unbidden.

Successfully repelling the Extradimensional Invaders [ edit | edit source ]

Unbidden ships health is about one third hull, 2 third shield with no armor, so using fleets with only kinetic weapons is very effective. In terms of fleet composition, focus on Battleships with Giga cannons and Kinetic Batteries, combined with Titans using the shield dampening aura. In terms of defense the Invaders solely use energy weapons so a focus on shield modules is ideal. Alternative fleet compositions are pure missile corvettes, Focused Arc Emitters battleships or carrier battleships.

Since Unbidden ship do not use any armor, luring fleets to fight in systems with Pulsar stars can be advantageous as it nullifies their shields while the player’s fleet can use armor. Space Storms also disable all shields, providing a similar advantage to an armor using fleet and the Zroni Storm Caster can be used to create a storm in a system.

The player has multiple strategic choices when faced with these Extradimensional Invaders:

  • A quick rush after the portal opening might be possible. However, one needs to be able to quickly dispatch the portal guards and initial fleets as they spawn, which requires very powerful fleets.
  • Unlike other crises, their initial invasion fleets are much stronger than reinforcements. If the player can effectively clear their initial fleets, reinforcements shouldn't be a problem since they're much weaker than initial ones.
  • Salvage should not be forgotten as it unlocks their unique weapons. The starbases are equally good sources of technology as the fleets while being much easier targets. However, the Matter Disintegrator weapons are anti-armour and hull, and the extradimensionals use no armor on their ships, so replacing your weaponry with these is generally a bad idea to fight the invaders.
  • If extradimensional invaders claimed lots of systems before normal empires can strike back, player should focus on destroying their starbases and construction ships, since starbases will reduce reinforcement interval.

The arrival of the other extradimensionals are a mixed blessing. On one hand, they might appear in the rear of a large empire or alliance, threatening important worlds and thus the defense against the existing Factions. On the other, all extradimensional factions will begin to fight each other, potentially causing major damage to one another. Once engaged in combat there, the enemy fleets will have difficulty defending any of their starbases and even the portal itself making this a crucial opening to strike at such critical targets.

Early-game/mid-game crisis [ edit | edit source ]

The Unbidden is the only crisis that can occur prior to the endgame start date, which can pose a massive challenge for the galaxy if it is unprepared. There are two methods of allowing the Unbidden to spawn earlier than the endgame start date:

  • By completing the Archaeological site "Ancient Robot World". This site spawns in a neutron star system on the outskirts of the galaxy, easily identified by the lack of any connecting hyperlanes. Exploring the system presents a range of decisions, each of which has 50% chance to spawn the Unbidden early, except the decision to build a Sentry Array. Choosing to do so does not affect Unbidden spawn time.
  • By passing both the Extradimensional Experimentation and Galactic Threats Committee resolutions. Passing only one will allow the crisis to spawn 25 years earlier than usual, but still in the endgame.

The Unbidden has an 80% chance to spawn every 5 years immediately after one of these triggers are met (that is: every year divisible by 5), and the total chance for any crisis to spawn increases to nearly 100% after 20 endgame years and/or the finishing/prevention of the War in Heaven. Theoretically, it is possible for the Unbidden to spawn in the early game prior to the midgame crises.

It is thus recommended that the player holds off excavating the Ancient Robot World site and passing both of the aforementioned resolutions in order to better prepare for the crisis.

The Contingency [ edit | edit source ]

ghost signals

The Contingency Crisis begins with a signal dubbed the Ghost Signal bouncing across every empire. Every year each empire will be affected by an event, in the following order:

  • Every biological empire that uses synthetic pops will lose one synthetic pop and every machine empire will lose a machine pop in one of two special events.
  • Every biological empire that uses synthetic pops will lose another synthetic pop mysteriously.
  • Every empire will get a notification about galaxy-wide synthetic disappearances.
  • Every empire will get a notification about the Ghost Signal growing stronger and how it affects machines and synthetic pops differently.

Energy Credits.png

Contingency fleets ignore FTL Inhibitors .

Audio Cue : As the Contingency sterilizes more of the galaxy a mainframe will start to be heard in the background.

The Ghost Signal [ edit | edit source ]

After the Contingency activates, the Ghost Signal will start to affect every synthetic pop and even ships with the Sapient Combat Computer. It is measured in 5 levels and starts at 5. The Ghost Signal will lose strength each time a Sterilization Hub is destroyed, lessening its effects.

Gestalt consciousness.png

Synthetically Ascended species are also immune to the Ghost Signal, however any mechanical pops built by these empires that aren't considered part of their main species of synths will be affected.

Engineering research

Synthetic Infiltration [ edit | edit source ]

While the war rages among the stars, organic, machine and syntheticallly-ascended empires might have issues at home as well.

The first infiltration attempt will invariably fail. The second infiltration will happen 120 days afterwards and will make every organic and synthetic empire targetable for infiltration events. It will also grant the Synth Detection project within a year. Completing this project grants the Voight-Kampff achievement and a large amount of unity. Until completed every year each organic and synthetic empire has a 30% chance to get the Terror Gatekeeper event, which will trigger a damaging infiltration event. Aside from Synth Bombing each event can only happen once. The weights are the following:

  • 10% Spaceport Scuttled: A random starbase is destroyed.

Stability.png

  • 10% Scientist Exposed as Synth: A scientist leader is killed.
  • 10% Commander Exposed as Synth: A commander leader is killed.

Auth hive mind.png

Warning Signs [ edit | edit source ]

  • Spaceport Scuttled: A random starbase is destroyed.
  • Science Unit Terminated: A scientist leader is terminated.
  • Military Unit Terminated: A commander leader is terminated.
  • Power Grid Malfunction: Three Power Plants or Power Hubs and the pops working them are destroyed.
  • Contingency Intrusion Averted: Contingency sabotage fails, no effect.
  • 65% A false alarm. Nothing happens.
  • 35% A true alarm. A random planet gets +10% Devastation and loses 4 Pops.

The Cybrex [ edit | edit source ]

Originally one of the Precursor empires, the Cybrex will resurface to help fight the Contingency if it sterilizes either 15% of the Galaxy or 90 systems. At the edge of the galaxy the Cybrex Beta ringworld system will spawn. All Empires will be contacted immediately. The Cybrex will construct a new fleet every few years as long as they have below 300 ships. The Cybrex function analogous to the Sentinels of the Swarm Crisis, except they will only donate ships after 100 destroyed fleets and will take them back a month after the crisis ends.

Cybrex ships are identical to the Contingency’s save for the color. Each fleet is led by a commander with the Cybrex Databases trait, giving it +10% Evasion and Fire Rate and +20% Damage to the Contingency.

The Cybrex do not expand. A few weeks after the Contingency was defeated they will depart from the galaxy, leaving Cybrex Beta free for the taking.

Ancient Caretakers [ edit | edit source ]

Civic final defense protocols.png

5 years later other Fallen Empire may awaken as a Guardians of the Galaxy as usual, allowing up to 3 Guardian empires against the Crisis.

Once the Contingency is defeated if the Ancient Caretakers awakened as Guardians they will shut down, leaving their ringworlds free for the taking.

Contingency Ships [ edit | edit source ]

Roaming fleets consist of 10 euthanizers and 20 sterilizers led by a commander with random skill.

Hub fleets consist of 25 euthanizers and 50 sterilizers led by a commander with random skill.

Special Weapons: The Contingency uses stock weapons, with only one exception – Seeker Drones:

  • 10 Units per Hangar
  • 100 HP, 50 Armor, 50 Shield, 80% Evasion per Unit
  • 19-21 Damage with 100% accuracy and no tracking, 20 Range, 8 CD, 100% Shield Penetration, 66% Armor Penetration

Contingency uses Android Assault Army to invade worlds. Each transport fleet consist of 20 Android Assault Army and do not have a general.

Successfully repelling the Contingency [ edit | edit source ]

Contingency warforms use lots of shield and armor to protect their relatively fragile hull, so penetrating weapons (Arc Emitter, Disruptor etc.) work well against them. However, due to the lack of effective L sized piercing weaponry, using Battleships or Titans with 50/50 kinetic and energy weaponry works well too. Defensively, attackers should stack as many shields as they can to counter their pure energy weaponry.

The initial Fleet spawned with the hub systems is considerable and planets in the Hub Systems will often have fallen before the first fleet has mobilised. Colonies in the Hub Systems are generally a writeoff until the roaming fleets have been dealt with.

Even if identified beforehand, hubs normally cannot be prevented from awakening. If the planet is destroyed through the World Cracker Colossus, the shattered world will simply reform into the sterilization hub. Military starbases on the star will be abandoned if there are no colonies there, rendering any resources spent moot. If fleets are parked in the system, the Contingency will spawn an armada of much greater power than standard. Ringworlds cant be build either, as the system will be 'suspect' (Its a good way to find out the worlds early though).

The first order is generally to destroy any roaming fleets (if they attack one’s planets). The Contingency fleets already spawned are generally not likely to rush to the aid of a planet or hub. They are more likely to attack another target than defend.

Destroying the hubs is the ultimate goal. Their hub fleets will always stay with the Hub, making it a hard target together with the AI Core and the starbase. While destroying one of the hubs does reduce the reinforcement intervals, the reduction in spawn cycles running in parallel should be a net advantage.

Galactic Nemesis [ edit | edit source ]

Become the Crisis

Strategy [ edit | edit source ]

Playing as the crisis empire: pre-crisis [ edit | edit source ].

  • It is suggested to build a habitat complex and have many planets in your capital system, and equip all of your planets with at least one fortress. If your capital system is lost while the Aetherophasic Engine is in progress, it will be destroyed, and you will have to start again.
  • Have as many vassals as possible before hitting stage five. Once you hit stage five, all empires that are not your vassal will declare war on you.
  • While on your way to becoming the crisis, Fallen Empires may contact claiming they are not pleased with your current antics. You can either apologize, and gain the humiliation empire debuff (which does next-to-nothing if gestalt), or decline and they will eventually declare war on you. It is only suggested to decline if you can outmatch them. This can be near impossible if the Become the Crisis ascension perk was chosen early game.
  • Make sure you are ready before you perform the last special project to advance to stage five. Once you have crossed stage five, there is no going back. All members of the Galactic Community will be in a permanent total war with you.

Ap master builders.png

Playing as the crisis empire: post-crisis [ edit | edit source ]

Dark Matter.png

  • When a Star Eater destroys a star, it will make all fleets teleport out of the system. Evacuate your fleets before firing.
  • Advance the engine’s process when possible. Once it is complete, you will win.
  • Star Eaters destroy every planet in solar systems they detonate. Avoid blowing up any vital systems.
  • Do be aware that the end game crisis (Unbidden, Scourge, Contingency) can still occur. However, your empire’s power will put them to the test.
  • If the War in Heaven starts, empires that join will abandon their war with you. Use this time to prey on undefended empires.

Menu icon edicts.png

If all of these boosts are used simultaneously, then they give a culminative 450% Mega-construction speed total and reduce each construction stage time from 10 years to just 1.8 years. The Aetherophasic Engine has 4 construction stages; all these, under the best possible conditions, can shorten total construction time from 40 years to 7.2 years.

Playing against the crisis empire [ edit | edit source ]

  • Take the crisis empire’s home system at all cost. If you take it from them, they must start building the Aetherophasic Engine all over again.
  • If you take the capital system of the crisis, you must still completely eradicate their empire to stop them for good. Only then will the galaxy be safe from them.
  • If the Aetherophasic Engine is finished, the crisis empire will destroy the whole galaxy, ending the game. Stop this at all costs.
  • If the War in Heaven begins, it is suggested to stay neutral to focus on the crisis empire. Only take sides if the crisis empire has not made much progress.
  • The end game crisis can still occur while a crisis empire is active. It is suggested to defend your empire from the end game crisis before trying to stop the crisis empire.

References [ edit | edit source ]

  • Game concepts
  • Play on Paradox technology
  • Paradox Forums
  • Paradox Wikis
  • Join our playtests
  • Media contact
  • Legal Information
  • EU Online Dispute Resolution
  • Terms & Policies
  • Frequently Asked Questions
  • Paradox Interactive corporate website

Watch Dogs Wiki

Calling all editors.

Thank you for stopping by the Watch Dogs Wiki. While we promise you won't get hacked by Aiden, the wiki could use your help. Check out this page of Tasks and try to help complete the ones in red and yellow. If you have any questions, contact Chris6d or another Staff Member.

Watch Dogs Wiki

Ghost Signals

  • View history
  • 1.1 Data Chase
  • 1.2 Whiteout
  • 2.1 Data Chase
  • 2.2 Whiteout
  • 3.1 Intercepted Text #1
  • 3.2 Intercepted Text #2

Data Chase [ ]

After hearing a whale call coming out of a speaker, Marcus hacks the speaker and receives a series of texts about whale hunting. Marcus calls Dedsec and explains that he's hearing the 52-hertz whale . Sitara is confused and asks for context. Wrench explains the history of the whale, and Marcus mentions that its call was used in an NSA hacker trap operation where hackers solved the puzzle and were recruited into the NSA under threat of arrest. He excitedly mentions that he has traced the origin of the signal. Sitara asks Marcus not to follow the signal, but he is undeterred.

Marcus follows the signal to a room in Fort Point. Sitara implores him to leave, but Marcus ignores her again, and hacks the server. The door to the room locks, and Marcus solves a complex puzzle to unlock the door.

Sitara asks Marcus if he's finished with the puzzle, and he mentions that the second half of the puzzle was a trail of devices that led to the source. Marcus hacked the devices and followed the trail to a large building in a cemetery.

Whiteout [ ]

Marcus hacked the NSA servers and deleted the evidence of his search and the data of two other hackers. Marcus hopes that when the NSA fails to contact the other hackers, they'll join Dedsec instead.

Chapters [ ]

  • Objective: Investigate the 52Hz signal; Find a way out of the room; Locate the rooftop signal relays; Track the signal back to its origin [0/6];
  • Brief: We've picked up signals from Catcall - remnants of an early NSA anti-hacker operation. This dinosaur code is a part of hacker history, so of course we want to go find where it's coming from... maybe even steal it.
  • Objective: Erase traces of DedSec's presence
  • Brief: The Catcalltrap has led us to Fort Point. We need to make sure any traces of DedSec's presence are wiped from the NSA hardware.

Intercepted Texts [ ]

There are two intercepted texts obtained during this mission:

  • Intercepted Text #1 appears when the player hacks the Blume exterior speaker to unlock this mission.
  • Intercepted Text #2 appears when the player hacks the server at Fort Point.

Intercepted Text #1 [ ]

Ghost Signals 1

"When chasing whales...

Be careful that you don't dive too deep.

Decompression can be a real bitch.

whlcl.protocal step1 ... 4419727"

Intercepted Text #2 [ ]

Ghost Signals 2

"Is there treasure in the belly of the beast?

The trick isn't just finding it...

...but finding a way back out.

whlcl.protocal step2... 4532638"

  • 1 Aiden Pearce
  • 2 Wrench (character)

Friendly Metal Detecting Forum

  • Detectors and Gear
  • All About Detectors

Those pesky ghost signals

  • Thread starter Mister7
  • Start date Sep 2, 2008

Mister7

Senior Member

  • Sep 2, 2008

I've recently purchased the Whites MXT and couldn't be more pleased with its overall performance and accuracy.Been able to find my fair share of wheaties,musket shot and a Indy (very thin and brittle)that I'm still trying to figure the age one. My question pertains to ghost signals.There are times,mostly in trashy areas where I'll get a full bar on the VDI and great audio signal then initiate the dig and recheck my hole and poof the signal vanishes....Any ideas on why this occurs?  

Lowjiber

There is a phenomena commonly called the "Halo Effect". It is sometimes present when an iron object completely rusts away...leaving "ghost" ions in the soil immediately surrounding the object. Digging disturbs this "halo" and the signal disappears. I've only blamed one for an undiscovered find. Do your audio signal and VDI remain constant in both directions before digging? There are many experts here who may answer the question better than my explaination, but I'd suspect it's your problem...given the hunting area you described above.  

Yes the audio and VDI have remained constant the two times it happened.Its possible it could be a learing curve thing but I would definitely like to get to the bottom of this issue.  

Rudy

Mister7 said: I've recently purchased the Whites MXT and couldn't be more pleased with its overall performance and accuracy.Been able to find my fair share of wheaties,musket shot and a Indy (very thin and brittle)that I'm still trying to figure the age one. My question pertains to ghost signals.There are times,mostly in trashy areas where I'll get a full bar on the VDI and great audio signal then initiate the dig and recheck my hole and poof the signal vanishes....Any ideas on why this occurs? Click to expand...
Mister7 said: Hi Rudy and thanks for taking an interest in my problem. I use the White's 9.5 coil in that area,the types of trash are full spectrum ie ull tabs,screw tops,nails,aluminum cans right down to out right rusted iron and other heavily rusted metal objects.....I keep the MXT on auto trac but have considered locking it in this area because of the wide array of dedris (liteally 250 yrs worth).I would just say to heck with the area accept my gut is telling me there are some neat finds buried there (already found several). My sensitivity setting is at the first factory preset (just below nickle). Thanks Click to expand...
  • Sep 3, 2008
Rudy said: If the area is that trashy and littered with ferrous there are several things you need to do. Ground balance on clean ground (you can sweep around in pin point mode to find a target less area) and then lock the ground balance. It will cut out a lot of extraneous sounds caused by the ground balance circuit as it tries to adjust for the changing ground matrix (including the junk). You gave me the discrimination setting "first factory preset (just below nickle)." not the sensitivity. Your discrimination is fine where it's at, but if your sensitivity (gain) is also at the preset mark, it is likely too high for a junky area and you are picking up a lot of fringe signals from nearby junk targets. Bring the sensitivity (gain) down to around 6. This will cut down on picking up too many fringe targets. Consider using a smaller coil under such conditions. The 4x6DD would be ideal or even the 6x9DD (my favorite). I had also asked how the "ghost" targets pin pointed, broad or tight beeps, other nearby targets,...? Can you shed some light on this? Click to expand...
  • Sep 7, 2008

Rudy, Thanks for the information. I have a DFX, and have had the same problem. It comes in as a variety of signals (dollar, dime, etc.), but often is a nice tight signal, coming from both directions when I do the cross pattern to pinpoint it. It often happens on our farm; there's a fair amount of trash, but not unreasonbly so. Last week I had a solid signal for a dollar, a few inches down. I went down 3 inches and hit a rock. Nothing on my pinpointer (Whites Bullseye) as I dug. Kept getting the dollar signal till I dug out the rock. Then nothing. At all. Anywhere. Hole was silent, the rock had no signal, the grass in the area was empty. Happens often enough to be pretty frustrating. This is all on factory settings. I usually rezero (ground) it if I suspect bad signals, but don't change the gain, etc. I have to get my manual out and play around with it some. This is why I love this forum. You guys are great! CT  

You may be running into Hot Rocks. HOT ROCK: A rock that contains a higher or significantly different concentration of nonconductive ground minerals than the surrounding ground to which the detector is balanced. A metallic (positive/conductive) response will be heard in the motion and non-motion modes and a null or negative drop in threshold is heard in the All-Metal ground balanced mode over these rocks. Ironstone is a typical hot rock. VDI number response is +95.​ I'm not a DFX expert, but you may want to read up on the HOT ROCK REJECT capabilities of your DFX.  

  • Sep 9, 2008
Rocksann said: Hi Rudy, Would this apply to an ace 250 by reducing the sensitivity? I have had problems with a broad signal but no object when digging. This was in a tot lot with some ferrous and pop tops. Click to expand...

duse

  • Sep 13, 2008

Thank you! This was my problem yesterday. Made me nuts. I've the Ace 250. Now I know why.  

duse said: Thank you! This was my problem yesterday. Made me nuts. I've the Ace 250. Now I know why. Click to expand...

Similar threads

VirginiaBikeGirl

  • VirginiaBikeGirl
  • Friday at 8:48 PM

ScubaSteveXdm

  • Jan 8, 2024

hoser

  • Cherry Picker
  • Jan 3, 2024
  • Jan 2, 2024
  • Dec 31, 2023

IMAGES

  1. Ghost Signals Tour Dates, Concert Tickets, & Live Streams

    ghost signals

  2. GHOST//SIGNALS: Lives Defined By Winter Skies

    ghost signals

  3. Ghost//Signals New Single Played 2x on BBC / Music Video Release

    ghost signals

  4. FEATURE: Ghost//Signals

    ghost signals

  5. Ghost Signals

    ghost signals

  6. Review: Ghost//Signals

    ghost signals

COMMENTS

  1. Ghost Signals

    Ghost Signals. 1,554 likes · 1 talking about this. Ghost//Signals are a goth inflected indie band, signed to Swiss Dark Nights.

  2. Radio Ghosts Have Haunted the Airwaves for Nearly a Century

    Shlionskiy proposed two basic mechanisms: signals reflected from outer space, and signals reflected terrestrially. In the former case, there is a chance that the signals are being reflected...

  3. 'Ghost Signals' from Trappist-1 Exoplanetary System Revealed by James

    Anticipating Ghost Signals Can Improve Upcoming Efforts to Find Signs of Life in the Trappist 1 System. Published in the Astrophysical Journal Letters, the new study was also able to further characterize the atmosphere of Trappist 1b. This includes the elimination of a perfectly "clear, extended atmosphere" around the entire planet while ...

  4. Ghost Signal: A Stellaris Game

    58 7.3K views 4 months ago Ghost Signal: A Stellaris Game is available now for Meta Quest 2. Check out the launch trailer for another look at this VR action roguelite game set in Stellaris'...

  5. Ghost Signal: A Stellaris Game on Steam

    Ghost Signal is a VR action roguelite set in the Stellaris universe, where you captain your ship to battle a multitude of alien species. Partake in dynamic space wars, encounter planet sized creatures, gather valuable loot to conduct research, and more. No journey is the same. Recent Reviews: Very Positive (10) All Reviews: Positive (45)

  6. Ghost Signals

    Ghost Signals is one of the side missions available in Watch Dogs 2. To access this mission, you will need to head to the respective Operation Intel marker. When you hack the satellite, you will...

  7. Ghost Signal

    Ghost Signal is a VR action roguelite set in the Stellaris universe, where you captain your ship to battle a multitude of alien species. Partake in dynamic s...

  8. About

    Ghost//Signals are Indie/Dark-pop four-piece from Newcastle. Well established on the North East music scene with a Facebook following that has already exceeded the 1k milestone, the band have gigged with the likes of Avalanche Party, My Vitriol, Boy Jumps Ship, Lost under Heaven, Warbly Jets whilst also securing spots at many of the North Easts prime music festivals in 2018 including Hit the ...

  9. Ghost Signal: A Stellaris Game

    In Ghost Signal: A Stellaris Game, you are tasked with captaining the Aurora and setting out into uncharted space in search of the enigmatic Ghost Signal. Did you enjoy this video? Leave...

  10. Dealing with 'Ghost Signals'

    Both signals A & B are classic presentations of typical ultrasonic indications showing a sharp, clear spike on the screen. After the PRF value was manually lowered to 545 Hz, while keeping the transducer undisturbed in the same location, the original "ghost signals" actually disappeared and a new "ghost signal," "C," appeared.

  11. Ghost Signal: A Stellaris Game

    Ghost Signal: A Stellaris Game As Ghost Signal begins, the player embodies the Captain of the Aurora, a spacecraft that picks up a strange signal being beamed across the depths of space. Upon further investigation, you and your onboard AI are drawn into dog fights waged against much stronger enemies across different space sectors.

  12. Ghost Signal: A Stellaris Game

    © 2023 Google LLC Ghost Signal is a PS VR2 action roguelite set in the Stellaris universe, where you captain your ship to battle a multitude of alien species. Partake in dynam...

  13. NPS Research in Electromagnetic Waves Hunts for Ship's 'Ghost Signals'

    Oceans cover more than 70 percent of the world and finding ships at sea - especially those that do not want to be found - is still quite a challenge. Naval Postgraduate School (NPS) Department of Meteorology professor Qing Wang is on the hunt, tracking atmospheric conditions that result in what are known as "ghost signals," where ship radar or radio communications travel and linger ...

  14. Ghost Signals, Watch Dogs 2 Operation

    Objectives of Ghost Signals. 1. Investigate the 52Hz signal. We've picked up signals from Catcall - remnants of an early NSA anti-hacker operation. This dinosaur code is a part of hacker history, so of course we want to go find where it's coming from... maybe even steal it. Go to the Fort Point and find the server room located at the ground level.

  15. Ghost Signal: A Stellaris Game on Meta Quest

    Ghost Signal is a VR action roguelite set in the Stellaris universe, where you captain your ship to battle a multitude of alien species. Partake in dynamic space wars, encounter planet sized creatures, gather valuable loot to conduct research, and more. No journey is the same. Will you find the origins of the mysterious Ghost Signal?

  16. Ghost Signal is the Stellaris roguelike I didn't know I needed

    Unlike Stellaris, Ghost Signal is a roguelike game — think Hades — that rewards players' strategies in a very different way. It's a game that's just as rewarding if you only have 10 minutes to...

  17. NPS Research in Electromagnetic Waves Hunts for Ship's 'Ghost Signals

    Naval Postgraduate School (NPS) Department of Meteorology professor Qing Wang is on the hunt, tracking atmospheric conditions that result in what are known as "ghost signals," where ship radar ...

  18. Ghost Signals: Verifying Termination of Busy Waiting

    Ghost signals allow us to keep this information but at the same to remove the physical signals from the code. Ghost signals are essentially identical to the physical non-thread-safe signals we used so far. However, as ghost resources they cannot influence the program's runtime behaviour. They merely carry information we can use during the ...

  19. Ghostly signals • AmateurRadio.com

    Your ghost signals at +/- 120 Hz from the main one are caused by power-supply ripple getting into your Tx audio, or in some other way contriving to modulate your transmitted signal. According to your QSO partner, W3BI, the sidebands were 40 dB below your main signal.

  20. Crisis

    2.3.1 The Ghost Signal 2.3.2 Synthetic Infiltration 2.3.3 Warning Signs 2.3.4 The Cybrex 2.3.5 Ancient Caretakers 2.3.6 Contingency Ships 2.3.7 Successfully repelling the Contingency 3 Galactic Nemesis 3.1 Strategy 3.1.1 Playing as the crisis empire: pre-crisis 3.1.2 Playing as the crisis empire: post-crisis 3.1.3 Playing against the crisis empire

  21. Ghost Signals

    Ghost Signals is a Side Operation in Watch Dogs 2. After hearing a whale call coming out of a speaker, Marcus hacks the speaker and receives a series of texts about whale hunting. Marcus calls Dedsec and explains that he's hearing the 52-hertz whale. Sitara is confused and asks for context. Wrench explains the history of the whale, and Marcus mentions that its call was used in an NSA hacker ...

  22. Ghost signals

    12,276. Location. Underwater with the fishes. Jan 18, 2015. #4. If you get a ghost signal, that probably means the ghost is wearing a ring. The key to signals is having it BE REPEATABLE both ways when you are swinging. If not repeatable, pass it by. If repeatable and you dig and dig and don't find it.

  23. Those pesky ghost signals

    Messages. 5,955. Location. Henderson, Nevada. Sep 2, 2008. #2. There is a phenomena commonly called the "Halo Effect". It is sometimes present when an iron object completely rusts away...leaving "ghost" ions in the soil immediately surrounding the object. Digging disturbs this "halo" and the signal disappears.