Comments (7)
Now you really shouldn't say that, I'm going to pretend I did not see anything otherwise it will take centuries 🐱
from hoice.
Wow. Thank you for this detailed issue!
This looks like a bug far underneath hoice itself. I'll try my best to find time to investigate, feel free to ping me if I don't get back to you "soon".
from hoice.
The last frame of the stack trace is hoice::data::Data::destroy
, which does nothing but extract statistics for profiling. So it's pretty weird, but the good news is that I don't think it will take a long time to identify whether the problem is in hoice itself or in something below (a Rust library hoice uses, Rust's stdlib itself, rustc
or macos).
from hoice.
@khei4 I could not reproduce the bug 😢
I pushed a new version of hoice though, totally unrelated to this issue. I tested your clauses with it running z3 4.8.17 and nothing went wrong on Monterey 12.3.1.
Let me know if updating hoice + z3 fixes the problem, just in case. In the mean time I'm going to close this issue as I cannot reproduce it. Do feel free to re-open it if new clues come up.
from hoice.
@AdrienChampion Thank you! I can reproduce this error with HoIce(commit hash: 90d348933) for the same input on my MacBookPro (2018 model with Intel Core i5) with the same version z3 as you write. I guess this bug is related to the concurrency and happens non deterministically(sometimes nothing happens on this). Could you reproduce this by executing repeatedly? If nothing happens, maybe some of my dependencies are the cause of this...
from hoice.
I did a while true
running hoice on your clauses on each iteration for a while and failed to crash it. I ran on M1 though, not on Intel. I do have a macbook pro running Monterey on Intel, though I believe it's an i7.
Hmm, I wrote hoice quite a while ago and I thought I did not use unsafe
, but I just took a look and I actually do use unsafe to implement Send
and Sync
(concurrency-related traits) on some types. The fact that I have to do this means Rust cannot show automatically that these types are thread-safe, so maybe there's a problem there.
Outside of a bug in the compiler/LLVM/your machine, it's relatively safe (!) to assume the problem comes from an unsafe
block somewhere.
I still find it weird that I cannot reproduce this behavior.
I will investigate further but I need some time, probably a few days. Please ping me in this thread if this issue is time-sensitive for you 🐱
In the mean time, thank you again for opening the issue and keeping in touch to help solve it!
(Re-opening the issue.)
from hoice.
@AdrienChampion Thank you! I'm not in haste. So you don't need to be careful about the time 😃
from hoice.
Related Issues (20)
- Another bug?
- Mysterious bug on lists and pairs HOT 3
- Hoice fails to generate unsat proof when the backend z3 version is 4.8.8 HOT 5
- Parsing or HOT 1
- a fresh declaration was already defined under Z3 4.8.9 HOT 2
- Parse error on result of `get-model` for Z3 HOT 2
- Failed to parse model from solver. HOT 2
- Mysterious bug around conditional branching HOT 2
- Fix/Enhance Error-Handling
- Parse error for sorts beginning with Int HOT 1
- parse error on CHCs with ground assertions HOT 1
- bug: "invalid named expression"? HOT 1
- bug? HOT 1
- cargo test fails in rust 1.64.0 HOT 1
- Too slow to parse HOT 1
- Stack overflow HOT 2
- Error for unsat proof HOT 2
- hoice get stuck during preprocessing HOT 1
- hoice crush with "-v -v -v"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hoice.