|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002676||NetSurf||GTK-specific||public||2019-06-18 15:42||2019-10-16 20:52|
|Assigned To||Vincent Sanders|
|Platform||Athlon 2600+||OS||Linux Lite||OS Version||3.8|
|Target Version||Fixed in Version||3.10|
|Summary||0002676: [NetSurf] 3.9-dev crash while download a file.|
I'm trying to find a non sse2 browser for this old machine. I've ever tried severals but all crash at startup except Opera 12 and Netsurf 3.x.
By following instruction to get last stable version (3.8 : https://source.netsurf-browser.org/netsurf.git/plain/docs/quick-start.md).
I've installed 3.9-dev.
With this version, NetSurf crash (seg fault) each time I try to download a file. I've tested with differents files from differents websites.
|Tags||No tags attached.|
|Fixed in CI build #|
|Reported in CI build #|
|URL of problem page|
Daniel Silverstone (administrator)
|Could you please attempt to capture such a crash in a debugger so that we have some clue as to what is going on when it crashes?|
Hi, I'm having the same exact problem. I'm running a custom Linux distribution with kernel version 4.19.59, curl version 7.65.3, glib version 2.61.3, gtk+2 version 2.24.32, and netsurf 3.9.
I ran netsurf-gtk with the -v option (not much information there), and got the attached backtrace. I build everything with "-g -O2". Not sure how to get netsurf to include more information in the backtrace, though.
Let me know if you need more info.
I did some poking around the file where this Seg fault occurs, and noticed that on line 839 (from git) g_timeout_add is being called with the 3rd argument = FALSE. However, glib documentation states this is a gpointer. So essentially, the user_data bit is being set to 0x0, not a pointer to FALSE, as it looks like it should.
A very hacky way to solve this problem would be to stop a boolean value (FALSE or TRUE) in the gpointer, and case it to bool in the callback function. Something like:
return nsgtk_download_update ((bool)user_data);
|I can confirm that this is the problem. The very trivial patch attached fixes it for me.|
Vincent Sanders (administrator)
|resolved in a slightly different way to that suggested and cleaned up the code for future improvement.|
|2019-06-18 15:42||vincent||New Issue|
|2019-08-01 09:58||Daniel Silverstone||Note Added: 0002039|
|2019-08-01 09:59||Vincent Sanders||Project||Buildsystem => NetSurf|
|2019-08-01 10:26||Michael Drake||Status||new => acknowledged|
|2019-09-10 18:26||Stefan||File Added: netsurf_crash_backtrace|
|2019-09-10 18:26||Stefan||Note Added: 0002094|
|2019-09-11 21:35||Stefan||Note Added: 0002095|
|2019-09-11 22:58||Stefan||File Added: netsurf-3.9_download_callback_crash.patch|
|2019-09-11 22:58||Stefan||Note Added: 0002096|
|2019-10-15 12:55||Vincent Sanders||Category||General => GTK-specific|
|2019-10-15 13:00||Vincent Sanders||Assigned To||=> Vincent Sanders|
|2019-10-15 13:00||Vincent Sanders||Status||acknowledged => confirmed|
|2019-10-15 13:00||Vincent Sanders||Product Version||=> 3.8|
|2019-10-16 20:52||Vincent Sanders||Status||confirmed => resolved|
|2019-10-16 20:52||Vincent Sanders||Resolution||open => fixed|
|2019-10-16 20:52||Vincent Sanders||Fixed in Version||=> 3.10|
|2019-10-16 20:52||Vincent Sanders||Note Added: 0002104|