rkd77 / elinks

Fork of elinks
Other
350 stars 38 forks source link

ELinks built from "master" branch crash #329

Open SchweinDeBurg opened 3 weeks ago

SchweinDeBurg commented 3 weeks ago

I've just packaged ELinks from "master" branch (commit [ecmascript] Fix location.reload) and installed it. Opened the terminal and entered elinks https://kernel.org/. ELinks then shows the following output: 2024-09-21_18-37 I've pressed Ctrl+L and then everything looks fine: 2024-09-21_18-38 But when I've tried to press Down key ELinks crashed:

Sep 21 18:05:47 hatrack.of.tux systemd-coredump[19834]: Process 18858 (elinks) of user 1000 dumped core.

Stack trace of thread 18858:
#0  0x00007f1c0d315bd1 mozalloc_abort (libmozjs-115.so.0)
#1  0x00007f1c0c92e361 abort (libmozjs-115.so.0)
#2  0x000056032efa994b sig_segv (elinks)
#3  0x000056032efa9a67 got_signal (elinks)
#4  0x00007f1c10c47b20 __restore_rt (libpthread.so.0)
#5  0x000056032ef722db find_in_map (elinks)
#6  0x000056032f00cb2c send_to_frame (elinks)
#7  0x000056032f00d313 send_event (elinks)
#8  0x000056032efe1a37 in_term (elinks)
#9  0x000056032ef9d78c event_callback (elinks)
#10 0x00007f1c10610f19 event_base_loop (libevent-2.0.so.5)
#11 0x000056032ef9d2c2 do_event_loop (elinks)
#12 0x000056032ef9e4f1 select_loop (elinks)
#13 0x000056032eed8423 main (elinks)
#14 0x00007f1c0f65e1a3 __libc_start_main (libc.so.6)
#15 0x000056032eed855e _start (elinks)

Stack trace of thread 18861:
#0  0x00007f1c10c42d45 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1  0x00007f1c0d316697 _ZN7mozilla6detail21ConditionVariableImpl4waitERNS0_9MutexImplE (libmozjs-115.so.0)
#2  0x00007f1c0d316888 _ZN7mozilla6detail21ConditionVariableImpl8wait_forERNS0_9MutexImplERKNS_16BaseTimeDurationINS_27TimeDurationValueCalculatorEEE (libmozjs-115.so.0)
#3  0x00007f1c0ca551f5 _ZN2js12HelperThread10threadLoopEPNS_18InternalThreadPoolE (libmozjs-115.so.0)
#4  0x00007f1c0ca55298 _ZN2js12HelperThread10ThreadMainEPNS_18InternalThreadPoolEPS0_ (libmozjs-115.so.0)
#5  0x00007f1c0ca50109 _ZN2js6detail16ThreadTrampolineIRFvPNS_18InternalThreadPoolEPNS_12HelperThreadEEJRS3_S5_EE5StartEPv (libmozjs-115.so.0)
#6  0x00007f1c10c3c4e2 start_thread (libpthread.so.0)
#7  0x00007f1c0f7386c3 __clone (libc.so.6)

Stack trace of thread 18863:
#0  0x00007f1c10c42d45 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1  0x00007f1c0d316697 _ZN7mozilla6detail21ConditionVariableImpl4waitERNS0_9MutexImplE (libmozjs-115.so.0)
#2  0x00007f1c0d316888 _ZN7mozilla6detail21ConditionVariableImpl8wait_forERNS0_9MutexImplERKNS_16BaseTimeDurationINS_27TimeDurationValueCalculatorEEE (libmozjs-115.so.0)
#3  0x00007f1c0ca551f5 _ZN2js12HelperThread10threadLoopEPNS_18InternalThreadPoolE (libmozjs-115.so.0)
#4  0x00007f1c0ca55298 _ZN2js12HelperThread10ThreadMainEPNS_18InternalThreadPoolEPS0_ (libmozjs-115.so.0)
#5  0x00007f1c0ca50109 _ZN2js6detail16ThreadTrampolineIRFvPNS_18InternalThreadPoolEPNS_12HelperThreadEEJRS3_S5_EE5StartEPv (libmozjs-115.so.0)
#6  0x00007f1c10c3c4e2 start_thread (libpthread.so.0)
#7  0x00007f1c0f7386c3 __clone (libc.so.6)

Stack trace of thread 18865:
#0  0x00007f1c10c42d45 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1  0x00007f1c0d316697 _ZN7mozilla6detail21ConditionVariableImpl4waitERNS0_9MutexImplE (libmozjs-115.so.0)
#2  0x00007f1c0d316888 _ZN7mozilla6detail21ConditionVariableImpl8wait_forERNS0_9MutexImplERKNS_16BaseTimeDurationINS_27TimeDurationValueCalculatorEEE (libmozjs-115.so.0)
#3  0x00007f1c0ca551f5 _ZN2js12HelperThread10threadLoopEPNS_18InternalThreadPoolE (libmozjs-115.so.0)
#4  0x00007f1c0ca55298 _ZN2js12HelperThread10ThreadMainEPNS_18InternalThreadPoolEPS0_ (libmozjs-115.so.0)
#5  0x00007f1c0ca50109 _ZN2js6detail16ThreadTrampolineIRFvPNS_18InternalThreadPoolEPNS_12HelperThreadEEJRS3_S5_EE5StartEPv (libmozjs-115.so.0)
#6  0x00007f1c10c3c4e2 start_thread (libpthread.so.0)
#7  0x00007f1c0f7386c3 __clone (libc.so.6)

Stack trace of thread 18864:
#0  0x00007f1c10c42d45 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1  0x00007f1c0d316697 _ZN7mozilla6detail21ConditionVariableImpl4waitERNS0_9MutexImplE (libmozjs-115.so.0)
#2  0x00007f1c0d316888 _ZN7mozilla6detail21ConditionVariableImpl8wait_forERNS0_9MutexImplERKNS_16BaseTimeDurationINS_27TimeDurationValueCalculatorEEE (libmozjs-115.so.0)
#3  0x00007f1c0ca551f5 _ZN2js12HelperThread10threadLoopEPNS_18InternalThreadPoolE (libmozjs-115.so.0)
#4  0x00007f1c0ca55298 _ZN2js12HelperThread10ThreadMainEPNS_18InternalThreadPoolEPS0_ (libmozjs-115.so.0)
#5  0x00007f1c0ca50109 _ZN2js6detail16ThreadTrampolineIRFvPNS_18InternalThreadPoolEPNS_12HelperThreadEEJRS3_S5_EE5StartEPv (libmozjs-115.so.0)
#6  0x00007f1c10c3c4e2 start_thread (libpthread.so.0)
#7  0x00007f1c0f7386c3 __clone (libc.so.6)

Stack trace of thread 18862:
#0  0x00007f1c10c42d45 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1  0x00007f1c0d316697 _ZN7mozilla6detail21ConditionVariableImpl4waitERNS0_9MutexImplE (libmozjs-115.so.0)
#2  0x00007f1c0d316888 _ZN7mozilla6detail21ConditionVariableImpl8wait_forERNS0_9MutexImplERKNS_16BaseTimeDurationINS_27TimeDurationValueCalculatorEEE (libmozjs-115.so.0)
#3  0x00007f1c0ca551f5 _ZN2js12HelperThread10threadLoopEPNS_18InternalThreadPoolE (libmozjs-115.so.0)
#4  0x00007f1c0ca55298 _ZN2js12HelperThread10ThreadMainEPNS_18InternalThreadPoolEPS0_ (libmozjs-115.so.0)
#5  0x00007f1c0ca50109 _ZN2js6detail16ThreadTrampolineIRFvPNS_18InternalThreadPoolEPNS_12HelperThreadEEJRS3_S5_EE5StartEPv (libmozjs-115.so.0)
#6  0x00007f1c10c3c4e2 start_thread (libpthread.so.0)
#7  0x00007f1c0f7386c3 __clone (libc.so.6)

Stack trace of thread 18866:
#0  0x00007f1c10c42d45 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1  0x00007f1c0d316697 _ZN7mozilla6detail21ConditionVariableImpl4waitERNS0_9MutexImplE (libmozjs-115.so.0)
#2  0x00007f1c0d316888 _ZN7mozilla6detail21ConditionVariableImpl8wait_forERNS0_9MutexImplERKNS_16BaseTimeDurationINS_27TimeDurationValueCalculatorEEE (libmozjs-115.so.0)
#3  0x00007f1c0ca551f5 _ZN2js12HelperThread10threadLoopEPNS_18InternalThreadPoolE (libmozjs-115.so.0)
#4  0x00007f1c0ca55298 _ZN2js12HelperThread10ThreadMainEPNS_18InternalThreadPoolEPS0_ (libmozjs-115.so.0)
#5  0x00007f1c0ca50109 _ZN2js6detail16ThreadTrampolineIRFvPNS_18InternalThreadPoolEPNS_12HelperThreadEEJRS3_S5_EE5StartEPv (libmozjs-115.so.0)
#6  0x00007f1c10c3c4e2 start_thread (libpthread.so.0)
#7  0x00007f1c0f7386c3 __clone (libc.so.6)

Stack trace of thread 18867:
#0  0x00007f1c10c42d45 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1  0x00007f1c0d316697 _ZN7mozilla6detail21ConditionVariableImpl4waitERNS0_9MutexImplE (libmozjs-115.so.0)
#2  0x00007f1c0d316888 _ZN7mozilla6detail21ConditionVariableImpl8wait_forERNS0_9MutexImplERKNS_16BaseTimeDurationINS_27TimeDurationValueCalculatorEEE (libmozjs-115.so.0)
#3  0x00007f1c0ca551f5 _ZN2js12HelperThread10threadLoopEPNS_18InternalThreadPoolE (libmozjs-115.so.0)
#4  0x00007f1c0ca55298 _ZN2js12HelperThread10ThreadMainEPNS_18InternalThreadPoolEPS0_ (libmozjs-115.so.0)
#5  0x00007f1c0ca50109 _ZN2js6detail16ThreadTrampolineIRFvPNS_18InternalThreadPoolEPNS_12HelperThreadEEJRS3_S5_EE5StartEPv (libmozjs-115.so.0)
#6  0x00007f1c10c3c4e2 start_thread (libpthread.so.0)
#7  0x00007f1c0f7386c3 __clone (libc.so.6)

Stack trace of thread 18860:
#0  0x00007f1c10c42d45 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1  0x00007f1c0d316697 _ZN7mozilla6detail21ConditionVariableImpl4waitERNS0_9MutexImplE (libmozjs-115.so.0)
#2  0x00007f1c0d316888 _ZN7mozilla6detail21ConditionVariableImpl8wait_forERNS0_9MutexImplERKNS_16BaseTimeDurationINS_27TimeDurationValueCalculatorEEE (libmozjs-115.so.0)
#3  0x00007f1c0ca551f5 _ZN2js12HelperThread10threadLoopEPNS_18InternalThreadPoolE (libmozjs-115.so.0)
#4  0x00007f1c0ca55298 _ZN2js12HelperThread10ThreadMainEPNS_18InternalThreadPoolEPS0_ (libmozjs-115.so.0)
#5  0x00007f1c0ca50109 _ZN2js6detail16ThreadTrampolineIRFvPNS_18InternalThreadPoolEPNS_12HelperThreadEEJRS3_S5_EE5StartEPv (libmozjs-115.so.0)
#6  0x00007f1c10c3c4e2 start_thread (libpthread.so.0)
#7  0x00007f1c0f7386c3 __clone (libc.so.6)

Stack trace of thread 18868:
#0  0x00007f1c0f72da5f __poll (libc.so.6)
#1  0x00007f1c0a179524 thread_timer (libruby.so.2.4)
#2  0x00007f1c10c3c4e2 start_thread (libpthread.so.0)
#3  0x00007f1c0f7386c3 __clone (libc.so.6)

I've attached my RPM-spec file where are you can see my ELinks configuration, libraries versions, and so on: elinks-0.17.0-fedora.spec.gz

rkd77 commented 3 weeks ago

Yes, js in elinks is not ready yet. I'll build elinks from this spec, when libdom-devel appears in rawhide.

SchweinDeBurg commented 3 weeks ago

Hm-m-m... I've packaged libdom by myself because https://pkgs.org/ doesn't show me this library in any Fedora version. Is https://www.netsurf-browser.org/projects/libdom/ the right source?

SchweinDeBurg commented 3 weeks ago

Good news! I've just repackaged libdom from its HEAD, then rebuilt ELinks from commit [select] Do not kill timer in case of (curl,select) combination -- and now Down key problem goes away, thank You so much for the point! But the problem from the first screenshot is still there.

rkd77 commented 3 weeks ago

Weird, does grep -r on sources find any "AFTER_BODY" or similar text ?

SchweinDeBurg commented 3 weeks ago

I've searched these strings just yesterday and it looks like these strings are coming from mozjs library because parser/html/nsHtml5TreeBuilder.h contains int32_t constants named exactly the same. Probably there is a magic macro somewhere in Mozilla codebase which converts these names to string literals.

rkd77 commented 3 weeks ago

-Dfastmem=true disables assertions, so I would check this.