assertion failed: state update should occur from waiters' queue
Thanks for contributing to pgloader by reporting an issue! Reporting an issue is the only way we can solve problems, fix bugs, and improve both the software and its user experience in general.
The best bug reports follow those 3 simple steps:
- show what you did,
- show the result you got,
- explain how the result is not what you expected.
In the case of pgloader, here's the information I will need to read in your bug report. Having all of this is a big help, and often means the bug you reported can be fixed very efficiently as soon as I get to it.
Please provide the following information:
-
[x] pgloader --version
pgloader version "3.6.3~devel" compiled with SBCL 2.2.4 -
[x] did you test a fresh compile from the source tree?
Compiling pgloader from sources is documented in the README, it's easy to do, and if patches are to be made to fix your bug, you're going to have to build from sources to get the fix anyway…
-
[x] did you search for other similar issues?
-
[ ] how can I reproduce the bug?
Incude a self-contained pgloader command file.
If you're loading from a database, consider attaching a database dump to your issue. For MySQL, use
mysqldump. For SQLite, just send over your source file, that's easy. Maybe be the one with your production data, of course, the one with just the sample of data that allows me to reproduce your bug.When using a proprietary database system as a source, consider creating a sample database on some Cloud service or somewhere you can then give me access to, and see my email address on my GitHub profile to send me the credentials. Still open a public issue for tracking and as documentation for other users.
./build/bin/pgloader mysql://{MYSQL_USERNAME}:{MYSQL_PASSWORD}@localhost/{MYSQL_DBNAME} postgresql://postgres:{POSTGRES_PASSWORD}@localhost/postgres
- [x] pgloader output you obtain
2022-05-16T14:11:35.042920+05:30 LOG pgloader version "3.6.3~devel"
2022-05-16T14:11:35.049714+05:30 LOG Data errors in '/private/tmp/pgloader/'
2022-05-16T14:11:35.508242+05:30 LOG Migrating from #<MYSQL-CONNECTION mysql://root@localhost:3306/{MYSQL_DBNAME} {7006FF9A53}>
2022-05-16T14:11:35.508704+05:30 LOG Migrating into #<PGSQL-CONNECTION pgsql://postgres@localhost:5432/postgres {70072A0423}>
assertion failed: state update should occur from waiters' queue
(ThreadContextRegisterState.cpp:947 arm_fpr_state_from_x86_state)
[1] 26982 trace trap ./build/bin/pgloader mysql://{MYSQL_USERNAME}:{MYSQL_PASSWORD}@localhost/{MYSQL_DBNAME}
- [ ] data that is being loaded, if relevant
- [x] How the data is different from what you expected, if relevant
On my Macbook Air with Intel Chip, I was able to perform the migration smoothly, however I run into the above error on my Macbook Pro (M1 Chip)
When running in debug mode, it seems that the data wasn't transferred but the schema was created
There are no errors in the logs either. Don't understand the issue that's causing this
Set of steps for installation on M1 (using rosetta) -
- Enable Rosetta for Terminal on M1 Mac
/usr/sbin/softwareupdate --install-rosetta --agree-to-license- Select the app(Terminal) in the Finder.
- Right click on the app(Terminal) and select Get Info.
- In
General, check theOpen using Rosettacheck-box. - Restart the terminal.
- Running
archshould givei386
- Install
xcodexcode-select --install - Uninstall
arm64brewwhich brew # /opt/homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)" - Install
intelbrew/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" git -C $(brew --repository homebrew/core) checkout master which brew # /usr/local/bin/brew - Install & symlink
opensslbrew install openssl sudo ln -s /usr/local/opt/openssl@3/lib/libcrypto.dylib /usr/local/lib/libcrypto.dylib sudo ln -s /usr/local/opt/openssl@3/lib/libssl.dylib /usr/local/lib/libssl.dylib - Install pgloader
brew install sbcl sqlite make curl gawk freetds wget https://github.com/dimitri/pgloader/archive/refs/tags/v3.6.3.zip -O pgloader.zip unzip pgloader.zip cd pgloader-3.6.3 make pgloader ./build/bin/pgloader --version