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

A SEGV may occur when collecting boot loader information. #2405

Closed
phoepsilonix opened this issue Dec 7, 2024 · 3 comments
Closed

A SEGV may occur when collecting boot loader information. #2405

phoepsilonix opened this issue Dec 7, 2024 · 3 comments
Milestone

Comments

@phoepsilonix
Copy link
Contributor

phoepsilonix commented Dec 7, 2024

A SEGV may occur when collecting boot loader information.

14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first
14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first

Thread 1 "calamares" received signal SIGSEGV, Segmentation fault.
0x00007ffff60c8b65 in ?? () from /usr/lib/libQt6Gui.so.6

Describe the bug
When updating boot loader information or partition information, multiple threads are started, and SEGV occurs in some cases. From the log, it can be inferred that mutex is not working properly.

To Reproduce
Steps to reproduce the behavior:

  1. sudo gdb --args calamares -D8 -T --debug
  2. catch signal SIGSEGV
  3. run
  4. next and next and next...
  5. Select Manual partitioning and click next
  6. After the screen changes, a dialog box will appear and the partition information will be scanned.
  7. SEGV may occur

Expected behavior
After collecting partition information, no SEGV occurs and a list of partition information is displayed.

Screenshots and Logs
14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first
14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first

Thread 1 "calamares" received signal SIGSEGV, Segmentation fault.
0x00007ffff60c8b65 in ?? () from /usr/lib/libQt6Gui.so.6

Additional context
I have observed this occur with some frequency when a Chrome OS (brunch) partition is present on /dev/sdc.

phoepsilonix added a commit to phoepsilonix/calamares that referenced this issue Dec 7, 2024
)

14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first
14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first

Thread 1 "calamares" received signal SIGSEGV, Segmentation fault.
0x00007ffff60c8b65 in ?? () from /usr/lib/libQt6Gui.so.6
phoepsilonix added a commit to phoepsilonix/calamares that referenced this issue Dec 8, 2024
)

14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first
14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first

Thread 1 "calamares" received signal SIGSEGV, Segmentation fault.
0x00007ffff60c8b65 in ?? () from /usr/lib/libQt6Gui.so.6
phoepsilonix added a commit to phoepsilonix/calamares that referenced this issue Dec 8, 2024
)

14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first
14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first

Thread 1 "calamares" received signal SIGSEGV, Segmentation fault.
0x00007ffff60c8b65 in ?? () from /usr/lib/libQt6Gui.so.6
phoepsilonix added a commit to phoepsilonix/calamares that referenced this issue Dec 8, 2024
)

14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first
14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first

Thread 1 "calamares" received signal SIGSEGV, Segmentation fault.
0x00007ffff60c8b65 in ?? () from /usr/lib/libQt6Gui.so.6
phoepsilonix added a commit to phoepsilonix/calamares that referenced this issue Dec 8, 2024
)

14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first
14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first

Thread 1 "calamares" received signal SIGSEGV, Segmentation fault.
0x00007ffff60c8b65 in ?? () from /usr/lib/libQt6Gui.so.6
phoepsilonix added a commit to phoepsilonix/calamares that referenced this issue Dec 8, 2024
)

14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first
14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first

Thread 1 "calamares" received signal SIGSEGV, Segmentation fault.
0x00007ffff60c8b65 in ?? () from /usr/lib/libQt6Gui.so.6
phoepsilonix added a commit to phoepsilonix/calamares that referenced this issue Dec 8, 2024
)

14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first
14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first

Thread 1 "calamares" received signal SIGSEGV, Segmentation fault.
0x00007ffff60c8b65 in ?? () from /usr/lib/libQt6Gui.so.6
@phoepsilonix
Copy link
Contributor Author

phoepsilonix commented Dec 8, 2024

  1. If the installer crashes during manual partitioning.
    try selecting "Coexistence with other OS" or "Replace partition" before choosing manual partitioning. By selecting "Coexistence with other OS" or "Replace partition" first, you can complete the collection of partition information.
    After that, selecting manual partitioning will make it easier to avoid crashes.

@phoepsilonix
Copy link
Contributor Author

phoepsilonix commented Dec 14, 2024

#2414
When you select manual partitioning and click Next, after the screen changes, a partition information scan is performed, and then a SEGV may occur.
To prevent this, I added a process to scan the partition information when you select manual partitioning in the menu, just like when you select other menus.

phoepsilonix added a commit to phoepsilonix/calamares that referenced this issue Dec 16, 2024
)

14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first
14:33:33 [2]: WARNING (Qt): beginResetModel called on BootLoaderModel(0x5555565c5b70) without calling endResetModel first
14:33:33 [2]: WARNING (Qt): endResetModel called on BootLoaderModel(0x5555565c5b70) without calling beginResetModel first

Thread 1 "calamares" received signal SIGSEGV, Segmentation fault.
0x00007ffff60c8b65 in ?? () from /usr/lib/libQt6Gui.so.6
@adriaandegroot
Copy link
Contributor

Proposed fix merged just now.

@adriaandegroot adriaandegroot added this to the v3.3 Issues milestone Dec 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants