Bug 18503 - Diskdrake & installer segfaults when doing "view" of partition in custom disk partitioning
Summary: Diskdrake & installer segfaults when doing "view" of partition in custom disk...
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Installer (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal critical
Target Milestone: ---
Assignee: Olav Vitters
QA Contact:
URL:
Whiteboard:
Keywords: 6sta1, NEEDINFO
Depends on:
Blocks:
 
Reported: 2016-05-21 11:30 CEST by Dick Gevers
Modified: 2016-06-17 16:18 CEST (History)
3 users (show)

See Also:
Source RPM: gtk+3.0, drakxtools, drakx-installer-stage2
CVE:
Status comment:


Attachments
picture (top) of segfault shown (154.64 KB, image/jpeg)
2016-05-21 11:31 CEST, Dick Gevers
Details
picture (bottom) of segfault shown (156.05 KB, image/jpeg)
2016-05-21 11:32 CEST, Dick Gevers
Details
report.bug from next install which segfaulted as described (130.55 KB, text/plain)
2016-05-21 20:50 CEST, Dick Gevers
Details
real screenshot 1 from installer (124.05 KB, image/png)
2016-05-21 20:52 CEST, Dick Gevers
Details
real screenshot 2 from installer (122.53 KB, image/png)
2016-05-21 20:52 CEST, Dick Gevers
Details
GDB trace (with symbols) (12.35 KB, text/plain)
2016-05-22 11:38 CEST, Thierry Vignaud
Details

Description Dick Gevers 2016-05-21 11:30:35 CEST
Description of problem:

Proceed with installer to partitioning.

Choose "custom disk partioning" and "expert mode"

Mount existing swap partition, choose a few mount points for existing partitions and with the next one press "VIEW".

A gui comes up showing segfault (pictures to be added in next comment).
Pressing F2 says screenshots are saved but afterwards /root/drakx is empty !

Pressing "OK" exits the installer leaving only the console to allow reboot.
Comment 1 Dick Gevers 2016-05-21 11:31:38 CEST
Created attachment 7826 [details]
picture (top) of segfault shown
Comment 2 Dick Gevers 2016-05-21 11:32:32 CEST
Created attachment 7827 [details]
picture (bottom) of segfault shown
Comment 3 Dick Gevers 2016-05-21 11:33:48 CEST
(Curious: added 6sta1 keyword at same time as first attachment...)

Keywords: (none) => 6sta1

Comment 4 Marja Van Waes 2016-05-21 17:23:29 CEST
(This bug was for classical iso dtd 20 May 2016 )

(In reply to Dick Gevers from comment #0)
> Description of problem:
> 
> Proceed with installer to partitioning.
> 
> Choose "custom disk partioning" and "expert mode"
> 
> Mount existing swap partition, choose a few mount points for existing
> partitions and with the next one press "VIEW".
> 
> A gui comes up showing segfault (pictures to be added in next comment).
> Pressing F2 says screenshots are saved but afterwards /root/drakx is empty !

See https://bugs.mageia.org/show_bug.cgi?id=11176#c14
Until the root partition is selected + formatted, the screenshots are kept in 
  /tmp/DrakX-screenshots/
> 
> Pressing "OK" exits the installer leaving only the console to allow reboot.

So the logs are still in /tmp, too, see
https://wiki.mageia.org/en/Triage_guide#Installer-related_bugs :
> Note: before partitions are mounted for installation, the content is instead 
> in /tmp/ddebug.log So if install do not get past partitioning, this is the
> file to get. User must manually mount a media and copy that file over.

Do you mind fetching and attaching the ddebug.log?

Keywords: (none) => NEEDINFO
CC: (none) => marja11
Assignee: bugsquad => thierry.vignaud
Source RPM: classical iso dtd 20 May 2016 => drakxtools, drakx-installer-stage2

Comment 5 Dick Gevers 2016-05-21 17:50:09 CEST
I don't mind, but I have since done a next install which succeeded.

I will try to reproduce the above later

Keywords: NEEDINFO => (none)

Comment 6 Dick Gevers 2016-05-21 20:50:44 CEST
Created attachment 7830 [details]
report.bug from next install which segfaulted as described
Comment 7 Dick Gevers 2016-05-21 20:52:13 CEST
Created attachment 7831 [details]
real screenshot 1 from installer
Comment 8 Dick Gevers 2016-05-21 20:52:38 CEST
Created attachment 7832 [details]
real screenshot 2 from installer
Marja Van Waes 2016-05-21 21:01:34 CEST

Summary: Installer segfaults when doing "view" of partition in custom disk partitioning => Installer segfaults "install crashed (maybe memory is missing?)" when doing "view" of partition in custom disk partitioning

Thierry Vignaud 2016-05-22 09:40:13 CEST

CC: (none) => pterjan

Comment 9 Pascal Terjan 2016-05-22 10:56:46 CEST
So this happens on the second time a partition is viewed (d3e07385-02a8-41dd-9ae5-8564faf628ff,/dev/sda7) but not the first one (ab70cae6-47c7-4e20-bc01-9bb6b61786f0,/dev/sda6):

* mounting UUID=ab70cae6-47c7-4e20-bc01-9bb6b61786f0 on /tmp/inspect_tmp_dir as type ext4, options 
* ext4 already loaded
* running: mount -t ext4 UUID=ab70cae6-47c7-4e20-bc01-9bb6b61786f0 /tmp/inspect_tmp_dir -o ro
* calling umount(/tmp/inspect_tmp_dir)
* running: umount /tmp/inspect_tmp_dir
* mounting UUID=d3e07385-02a8-41dd-9ae5-8564faf628ff on /tmp/inspect_tmp_dir as type ext4, options 
* ext4 already loaded
* running: mount -t ext4 UUID=d3e07385-02a8-41dd-9ae5-8564faf628ff /tmp/inspect_tmp_dir -o ro
* segmentation fault: install crashed (maybe memory is missing?)
install::install2::sig_segv_handler() called from /usr/lib/perl5/vendor_perl/5.22.2/Gtk3.pm:566
(eval)() called from /usr/lib/perl5/vendor_perl/5.22.2/Gtk3.pm:566
Gtk3::main() called from /usr/lib/perl5/vendor_perl/5.22.2/Gtk3.pm:523
Gtk3::__ANON__() called from /usr/lib/libDrakX/mygtk3.pm:1530
mygtk3::main() called from /usr/lib/libDrakX/ugtk3.pm:859
ugtk3::main() called from /usr/lib/libDrakX/interactive/gtk.pm:41
interactive::gtk::ask_fileW() called from /usr/lib/libDrakX/interactive.pm:242
interactive::ask_directory() called from /usr/lib/libDrakX/diskdrake/interactive.pm:454
diskdrake::interactive::View() called from /usr/lib/libDrakX/diskdrake/hd_gtk.pm:151
(eval)() called from /usr/lib/libDrakX/diskdrake/hd_gtk.pm:151
Comment 10 Pascal Terjan 2016-05-22 11:17:12 CEST
I am surprised that we run main in ask_fileW

This crash seems not new and not only happening when viewing partitions but also when selecting a file in drakconnect:

http://bugs.mandrivalinux.com.narkive.com/puvgYZO6/bug-37335-drakx-net-text-new-drakconnect-crashed
Comment 11 Thierry Vignaud 2016-05-22 11:25:45 CEST
We could fork the viewer in another process (like we do for help & release notes) and getting back the result through eg popen() or some other IPC mechanism or some temp file whose name is passed by an env variable

This helped us for help & the like as WebKit was prone to segfault too.
Comment 12 Thierry Vignaud 2016-05-22 11:29:42 CEST
Note that you can rebuild drakx-installer-stage2 with enabling debug and replace install/stage2/mdkinst.sqfs with the one in your generated rpm

Then you can try an install with the debug stage2 and get a gdb trace
Comment 13 Thierry Vignaud 2016-05-22 11:30:20 CEST
(I failed to make drakconnect to segfault after picking several time a file for eg: ndiswrapper)
Comment 14 Thierry Vignaud 2016-05-22 11:32:11 CEST
Though I can make standalone diskdrake to segfault too
Thierry Vignaud 2016-05-22 11:37:53 CEST

Assignee: thierry.vignaud => olav
Summary: Installer segfaults "install crashed (maybe memory is missing?)" when doing "view" of partition in custom disk partitioning => Diskdrake & installer segfaults when doing "view" of partition in custom disk partitioning
Source RPM: drakxtools, drakx-installer-stage2 => gtk+3.0, drakxtools, drakx-installer-stage2

Comment 15 Thierry Vignaud 2016-05-22 11:38:09 CEST
Created attachment 7834 [details]
GDB trace (with symbols)
Comment 16 Thierry Vignaud 2016-05-22 11:39:41 CEST
Olav, this bug can be reproduced by:
- running "gdb -q --args perl /usr/libexec/drakdisk"
- selecting a partition
- clicking on "View" in right column
- browse, cancel
- reclick on "View"
Comment 17 Thierry Vignaud 2016-05-22 11:40:47 CEST
As you can see in my GDB trace, the ->priv member is obviously bogus (addr @ 0x20 in first page which catch bogus accesses by segfaulting)

Status: NEW => ASSIGNED
CC: (none) => thierry.vignaud

Olav Vitters 2016-06-15 12:19:46 CEST

Severity: normal => critical

Comment 18 Olav Vitters 2016-06-15 13:55:32 CEST
This is still the case right?
Comment 19 Thierry Vignaud 2016-06-17 11:33:09 CEST
I failed to reproduce it with diskdrake
Dick, can you still reproduce it?
Maybe latest gtk+3 updates fixed it
Thierry Vignaud 2016-06-17 11:33:43 CEST

Keywords: (none) => NEEDINFO

Comment 20 Dick Gevers 2016-06-17 11:41:15 CEST
Sorry cant check at this time, no access to my boxes for next 10 days.
Comment 21 Thierry Vignaud 2016-06-17 16:05:47 CEST
Closing for now.
Don't hesitate reopening it if needed.

Status: ASSIGNED => RESOLVED
Resolution: (none) => FIXED

Thierry Vignaud 2016-06-17 16:18:31 CEST

See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=17764


Note You need to log in before you can comment on or make changes to this bug.