Skip to content
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

Linux/Standalone: Crash with resize 10% #4938

Closed
ghost opened this issue Aug 28, 2021 · 6 comments · Fixed by #5257
Closed

Linux/Standalone: Crash with resize 10% #4938

ghost opened this issue Aug 28, 2021 · 6 comments · Fixed by #5257
Labels
Bug Report Item submitted using the Bug Report template Linux Issues which only occur on Linux Standalone Issues pertaining to Surge standalone application and CLI (command line interface)
Milestone

Comments

@ghost
Copy link

ghost commented Aug 28, 2021

d7e4ad1
Standalone only

resizing by 25% works
zoom to x% works as well

call stack for shrink by 10% Standalone:
resize crash.txt

@mkruselj mkruselj added Bug Report Item submitted using the Bug Report template Linux Issues which only occur on Linux Standalone Issues pertaining to Surge standalone application and CLI (command line interface) labels Aug 28, 2021
@baconpaul baconpaul added this to the Surge XT 1.0 milestone Aug 28, 2021
@baconpaul
Copy link
Collaborator

OK I can confirm this
I can also confirm that the window size doesn't track the widget size either
if you press - slowly from 180 or so you will get a state before crash where the surge area has shrunk but the window has not
I'l mot sure this one will be easy.

@ghost
Copy link
Author

ghost commented Sep 3, 2021

b58aeb2 adds resize dragging to this issue.
bt for drag resize inwards:
resize_drag_crash.txt

@baconpaul
Copy link
Collaborator

oof
clearly theres a nasty timing issue here. That's also a different stack altogether. (I may disable drag resize on linux).

This one might be hard. But I do have an idea of a way to do it perhaps to not allow another zoom when one is pending.

Hope it doesn't come to that though.

@magnetophon
Copy link
Contributor

I got this coredump:

coredumpctl gdb 2176032
           PID: 2176032 (Surge XT)
           UID: 1000 (bart)
           GID: 100 (users)
        Signal: 11 (SEGV)
     Timestamp: Sat 2021-09-04 13:57:37 CEST (1h 8min ago)
  Command Line: Surge XT
    Executable: /nix/store/74l84f4s64r6p5r5k4inbida79bbwhsb-surge-XT-unstable-2021-09-04/bin/Surge XT
 Control Group: /user.slice/user-1000.slice/session-2.scope
          Unit: session-2.scope
         Slice: user-1000.slice
       Session: 2
     Owner UID: 1000 (bart)
       Boot ID: e3ec38befeab484fa0bb2178a1c79207
    Machine ID: 3a7c3b3149fb402bb77699d730f14523
      Hostname: nix14-rt
       Storage: /var/lib/systemd/coredump/core.Surge\x20XT.1000.e3ec38befeab484fa0bb2178a1c79207.2176032.1630756657000000.lz4
       Message: Process 2176032 (Surge XT) of user 1000 dumped core.

GNU gdb (GDB) 10.2
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /nix/store/74l84f4s64r6p5r5k4inbida79bbwhsb-surge-XT-unstable-2021-09-04/bin/Surge XT...
(No debugging symbols found in /nix/store/74l84f4s64r6p5r5k4inbida79bbwhsb-surge-XT-unstable-2021-09-04/bin/Surge XT)
[New LWP 2176032]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/nix/store/9bh3986bpragfjmr32gay8p95k91q4gy-glibc-2.33-47/lib/libthread_db.so.1".
Core was generated by `Surge XT'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000596ef5 in juce::ComponentBoundsConstrainer::setBoundsForComponent(juce::Component*, juce::Rectangle<int>, bool, bool, bool, bool) ()
(gdb)

@baconpaul
Copy link
Collaborator

Hmm kinda stumped

Raised it in juce forum

https://forum.juce.com/t/crash-on-resizing-window-in-linux/48220

definitely a race condition

@baconpaul
Copy link
Collaborator

Alright over in that forum thread, reuk gave me a patch which fixes the problem. So this issue is resolvable either by him merging that and us moving to 6.1.3 or us applying it to our branch or whatever. But this one can be resolved for XT1 launch

baconpaul added a commit to baconpaul/surge that referenced this issue Oct 15, 2021
Upgrade to JUCE 6.1.2 plus their patch in their dev branch
to address recursion blowout in linux standalone when zooming.

Closes surge-synthesizer#4938
baconpaul added a commit that referenced this issue Oct 15, 2021
Upgrade to JUCE 6.1.2 plus their patch in their dev branch
to address recursion blowout in linux standalone when zooming.

Closes #4938
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Report Item submitted using the Bug Report template Linux Issues which only occur on Linux Standalone Issues pertaining to Surge standalone application and CLI (command line interface)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants