-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Segfault at startup of both Seq64rtmidi and Seq64qt5 #191
Comments
You can't really execute libtool (lt-) files directly. Run ./sequencer64/Seq64qt5/qseq64 directly. To avoid libtool, run "./bootstrap --full-clean" and then "./bootstrap -ed -qt", then make it, and see how it runs. What I am worried about is that Slackware has qt libraries that do not have the same function entry points as determined by libtool. Building in debug mode sort of bypasses libtool (--disable-shared). Anyway, a tough issue, and I am also burdened by issues at my day job. |
Following your instructions I can now build the qt5 version. But I get a segfault when trying to run the executable. Thanks for your support. I'm on holidays this week, so can't test further for now. |
I tried another build with a fresh copy from git: ./bootstrap -rm While the following warning repeated very often, the build did complete: "../../libtool: line 85: ryzen5: command not found" When running the executable in ../Seq64rtmidi I still get a Segmentation fault directly at startup. Is there anything I can do to further analyse this issue? I have libtool-2.4.6 installed. |
Odd. The "ryzen5" refers to an older AMD Ryzen CPU, I think. It looks like there
have been some compiler and stability issues with Ryzen over the year.
You might try adding something like this to CFLAGS in configure.ac:
CFLAGS="-O2 -march=haswell"
See if it builds and run better. If not...
... make sure you do this (depending when you last pulled the latest):
$ ./bootstrap --full-clean
$ git checkout midi_control
$ git pull
$ ./bootstrap -ed
$ make &> make.log
(I had fixed some errors based on other GitHub issue reports.)
If it crashes, run it from gdb:
$ gdb ./Seq64rtmidi/seq64
(gdb) r
[crash!!!]
(gdb) bt
Then copy the backtrace text (especially the frames close to frame 0)
to a file and post it. If it doesn't crash, ....
BTW, what version of Linux are you using?
…-------- Jeroen Rijckaert 03:58 Sat 21 Mar --------
I tried another build with a fresh copy from git:
./bootstrap -rm
make
While the following warning repeated very often, the build did complete:
"../../libtool: line 85: ryzen5: command not found"
When running the executable in ../Seq64rtmidi I still get a Segmentation fault directly at startup. Is there anything I can do to further analyse this issue? I have libtool-2.4.6 installed.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#191 (comment)
--
I myself have dreamed up a structure intermediate between Dyson spheres
and planets. Build a ring 93 million miles in radius -- one Earth orbit
-- around the sun. If we have the mass of Jupiter to work with, and if
we make it a thousand miles wide, we get a thickness of about a thousand
feet for the base.
And it has advantages. The Ringworld will be much sturdier than a Dyson
sphere. We can spin it on its axis for gravity. A rotation speed of 770
m/s will give us a gravity of one Earth normal. We wouldn't even need to
roof it over. Place walls one thousand miles high at each edge, facing the
sun. Very little air will leak over the edges.
Lord knows the thing is roomy enough. With three million times the surface
area of the Earth, it will be some time before anyone complains of the
crowding.
-- Larry Niven, "Ringworld"
|
Using Linux Slackware 14.2 with uname output: Both methods seem to give a segfault. Output for backtrace for option 1 with CFLAGS addition: |
Okay, getting somewhere. Now can you run the app from the console adding the --verbose option, and then post the output. I want to make sure that the crash is happening at startup. Right now, it looks like an issue in initializing a static instance of a class. I've had to do workarounds for something like that before lately. |
Actually no need to post output unless you really want to. Later today I will try a workaround and then check it in for you to check out. |
Found a small fix! Replace "uname -a" with "uname" in the configure files, and the build completes without these errors. Though still a segfault at startup, also with the --verbose option. Output of gdb backtrace: Program received signal SIGSEGV, Segmentation fault. |
If you don't think it a privacy issue, can you post the output of uname -a (in quotes) so I can figure out which character might be killing the build. Also, I haven't yet checked in my hopeful fix for the segfault. Will try to do that later today. Been kind of distracted :-D |
No worries. Output of uname -a: Linux ryzen5 4.4.202 #1 SMP Sat Nov 16 14:15:34 CST 2019 x86_64 AMD Ryzen 5 1500X Quad-Core Processor AuthenticAMD GNU/Linux |
I have changed configure.ac to set up "uname -srm" which is much simpler and
hopefully doesn't contain nasty characters to screw up libtool and automake.
…-------- Jeroen Rijckaert 17:32 Thu 09 Apr --------
No worries. Output of uname -a:
Linux ryzen5 4.4.202 #1 SMP Sat Nov 16 14:15:34 CST 2019 x86_64 AMD Ryzen 5 1500X Quad-Core Processor AuthenticAMD GNU/Linux
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#191 (comment)
--
drug, n:
A substance that, injected into a rat, produces a scientific paper.
|
Following some steps from https://discover.cs.ucsb.edu/commonerrors/tutorial/gdbtutorial.html I tried the get some more feedback from gbd:
Not sure if this is helpful? |
Finally I got it working without a SEGFAULT! Using the midi-control branch, but with the following options: export CFLAGS="-O2 -pipe -march=native" While I do not understand why, the program now does compile and run! But now it gives a new issue: cannot enter note on first grid place. Not a fatal error, but for me it makes the program very cumbersome/impossible to use. Since the moment I couldn't get Sequencer64 to run, I am using the midi piano roll in Ardour. I'll stick with this until Sequencer64 becomes functional for me again. Hope you find some time to make the program usable enough. |
Can you double-check on your system if "uname -srm" works? It's a lot less
verbose than "uname -a". Thanks!
…-------- Jeroen Rijckaert 17:32 Thu 09 Apr --------
No worries. Output of uname -a:
Linux ryzen5 4.4.202 #1 SMP Sat Nov 16 14:15:34 CST 2019 x86_64 AMD Ryzen 5 1500X Quad-Core Processor AuthenticAMD GNU/Linux
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#191 (comment)
--
Time to be aggressive. Go after a tattooed Virgo.
|
I just rebuilt; the issue is even worse than that! Somehow a bad bug slipped in.
Some time after Feb 24!
…-------- Jeroen Rijckaert 03:32 Wed 15 Apr --------
Finally I got it working without a SEGFAULT!
Using the midi-control branch, but with the following options:
export CFLAGS="-O2 -pipe -march=native"
./bootstrap -ed -rm
While I do not understand why, the program now does compile and run!
But now it gives a new issue: cannot enter note on first grid place. Not a fatal error, but for me it makes the program very cumbersome/impossible to use. Since the moment I couldn't get Sequencer64 to run, I am using the midi piano roll in Ardour. I'll stick with this until Sequencer64 becomes functional for me again. Hope you find some time to make the program usable enough.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#191 (comment)
--
FORCE YOURSELF TO RELAX!
|
Output of uname -srm is Linux 4.4.202 x86_64 and the building runs without these errors, using the same midi-control branch checkout as before. |
I found the bug for editing notes; overzealous parameter checking! A bunch of other minor things in place now in the midi_control branch. Check it out! (Fingers crossed). |
Using the midi-control branch of today, with the same CFLAGS options as before: export CFLAGS="-O2 -pipe -march=native" Program starts ok. Now I notice a new strange thing. When moving a selection down, it jumps up 1 note after the mouse is released. This problem does not occur when moving selections up. |
Hmmm, sound like a round-off or scrolling issue. Will check it out.
…-------- Jeroen Rijckaert 10:55 Sun 19 Apr --------
Using the midi-control branch of today, with the same CFLAGS options as before:
export CFLAGS="-O2 -pipe -march=native"
./bootstrap -ed -rm
Program starts ok.
Adding notes seems to work correctly.
Now I notice a new strange thing. When moving a selection down, it jumps up 1 note after the mouse is released. This problem does not occur when moving selections up.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#191 (comment)
--
Celebrity Schadenfreude:
Lurid thrills derived from talking about celebrity deaths.
-- Douglas Coupland, "Generation X: Tales for an Accelerated
Culture"
|
Cloned git version today (05-01-2019) and with some QT4 vs QT5 issues while building on Slackware I did manage to build both version. But when trying to run these, I immediately get a segmentation fault. I'm running Slackware 14.2 with Linux 4.4.202 and Qt5-5.9.8.
I just found out that the executable files are actually not the binary executable files, but only a wrapper pointing to the real binary files in a hidden directory. Seems a bit over complicated and results in the human readable error messages being hidden. Going into the hidden .lib directory for the Qt version and running the two version of the binary file gives different results:
lt-qseq64
Segmentation fault
qseq64
./qseq64: error while loading shared libraries: libseq_qt5.so.0: cannot open shared object file: No such file or directory
Following instruction from https://gcc.gnu.org/bugs/segfault.html I tried to use GDB for debugging:
Is there more I can do to analyse this problem?
The text was updated successfully, but these errors were encountered: