Optimize the code flow of dynamic loading

Summary
Optimize the code flow of dynamic loading

elf can be loaded in segments
Merge similar codes between dl and mod

Impact
Dynamic loading
Testing
sim and qemu

test with rv-virt:knsh
$ qemu-system-riscv32 -M virt,aclint=on -cpu rv32 -kernel nuttx -nographic -semihosting

OpenSBI v1.3.1
   ____                    _____ ____ _____
  / __ \                  / ____|  _ \_   _|
 | |  | |_ __   ___ _ __ | (___ | |_) || |
 | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
 | |__| | |_) |  __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|___/_____|
        | |
        |_|

Platform Name             : riscv-virtio,qemu
Platform Features         : medeleg
Platform HART Count       : 1
Platform IPI Device       : aclint-mswi
Platform Timer Device     : aclint-mtimer @ 10000000Hz
Platform Console Device   : semihosting
Platform HSM Device       : ---
Platform PMU Device       : ---
Platform Reboot Device    : sifive_test
Platform Shutdown Device  : sifive_test
Platform Suspend Device   : ---
Platform CPPC Device      : ---
Firmware Base             : 0x80000000
Firmware Size             : 190 KB
Firmware RW Offset        : 0x20000
Firmware RW Size          : 62 KB
Firmware Heap Offset      : 0x27000
Firmware Heap Size        : 34 KB (total), 2 KB (reserved), 8 KB (used), 23 KB (free)
Firmware Scratch Size     : 4096 B (total), 464 B (used), 3632 B (free)
Runtime SBI Version       : 1.0

Domain0 Name              : root
Domain0 Boot HART         : 0
Domain0 HARTs             : 0*
Domain0 Region00          : 0x02000000-0x0200ffff M: (I,R,W) S/U: ()
Domain0 Region01          : 0x80020000-0x8002ffff M: (R,W) S/U: ()
Domain0 Region02          : 0x80000000-0x8001ffff M: (R,X) S/U: ()
Domain0 Region03          : 0x00000000-0xffffffff M: (R,W,X) S/U: (R,W,X)
Domain0 Next Address      : 0x80200000
Domain0 Next Arg1         : 0x87e00000
Domain0 Next Mode         : S-mode
Domain0 SysReset          : yes
Domain0 SysSuspend        : yes

Boot HART ID              : 0
Boot HART Domain          : root
Boot HART Priv Version    : v1.12
Boot HART Base ISA        : rv32imafdch
Boot HART ISA Extensions  : time,sstc
Boot HART PMP Count       : 16
Boot HART PMP Granularity : 4
Boot HART PMP Address Bits: 32
Boot HART MHPM Count      : 16
Boot HART MIDELEG         : 0x00001666
Boot HART MEDELEG         : 0x00f0b509
ABC
NuttShell (NSH) NuttX-12.3.0-vela
nsh>
nsh>
nsh>
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=4

user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         2        2
mxordblk    7cff8    7cff8
uordblks     23ec     23ec
fordblks    7ec10    7ec10

user_main: getopt() test
getopt():  Simple test
getopt():  Invalid argument
getopt():  Missing optional argument
getopt_long():  Simple test
getopt_long():  No short options
getopt_long():  Argument for --option=argument
getopt_long():  Invalid long option
getopt_long():  Mixed long and short options
getopt_long():  Invalid short option
getopt_long():  Missing optional arguments
getopt_long_only():  Mixed long and short options
getopt_long_only():  Single hyphen long options

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         2        2
mxordblk    7cff8    7cff8
uordblks     23ec     23ec
fordblks    7ec10    7ec10

user_main: libc tests

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         2        2
mxordblk    7cff8    7cff8
uordblks     23ec     23ec
fordblks    7ec10    7ec10
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         2        3
mxordblk    7cff8    7cff8
uordblks     23ec     23cc
fordblks    7ec10    7ec30
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has no value
show_variable: Variable=Variable3 has no value

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         3        2
mxordblk    7cff8    7cff8
uordblks     23cc     2334
fordblks    7ec30    7ecc8

user_main: setvbuf test
setvbuf_test: Test NO buffering
setvbuf_test: Using NO buffering
setvbuf_test: Test default FULL buffering
setvbuf_test: Using default FULL buffering
setvbuf_test: Test FULL buffering, buffer size 64
setvbuf_test: Using FULL buffering, buffer size 64
setvbuf_test: Test FULL buffering, pre-allocated buffer
setvbuf_test: Using FULL buffering, pre-allocated buffer
setvbuf_test: Test LINE buffering, buffer size 64
setvbuf_test: Using LINE buffering, buffer size 64
setvbuf_test: Test FULL buffering, pre-allocated buffer
setvbuf_test: Using FULL buffering, pre-allocated buffer

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         2        2
mxordblk    7cff8    7cff8
uordblks     2334     2334
fordblks    7ecc8    7ecc8

user_main: /dev/null test
dev_null: Read 0 bytes from /dev/null
dev_null: Wrote 1024 bytes to /dev/null

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         2        2
mxordblk    7cff8    7cff8
uordblks     2334     2334
fordblks    7ecc8    7ecc8

user_main: mutex test
Initializing mutex
Starting thread 1
Starting thread 2
                Thread1 Thread2
        Loops   32      32
        Errors  0       0

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         2        4
mxordblk    7cff8    787f8
uordblks     2334     3344
fordblks    7ecc8    7dcb8

user_main: timed mutex test
mutex_test: Initializing mutex
mutex_test: Starting thread
pthread:  Started
pthread:  Waiting for lock or timeout
mutex_test: Unlocking
pthread:  Got the lock
pthread:  Waiting for lock or timeout
pthread:  Got the timeout.  Terminating
mutex_test: PASSED

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         4        3
mxordblk    787f8    7a7f8
uordblks     3344     2b3c
fordblks    7dcb8    7e4c0

user_main: cancel test
cancel_test: Test 1a: Normal Cancellation
cancel_test: Starting thread
start_thread: Initializing mutex
start_thread: Initializing cond
start_thread: Starting thread
start_thread: Yielding
sem_waiter: Taking mutex
sem_waiter: Starting wait for condition
cancel_test: Canceling thread
cancel_test: Joining
cancel_test: waiter exited with result=0xffffffff
cancel_test: PASS thread terminated with PTHREAD_CANCELED
cancel_test: Test 2: Asynchronous Cancellation
... Skipped
cancel_test: Test 3: Cancellation of detached thread
cancel_test: Re-starting thread
restart_thread: Destroying cond
restart_thread: Destroying mutex
restart_thread: Re-starting thread
start_thread: Initializing mutex
start_thread: Initializing cond
start_thread: Starting thread
start_thread: Yielding
sem_waiter: Taking mutex
sem_waiter: Starting wait for condition
cancel_test: Canceling thread
cancel_test: Joining
cancel_test: PASS pthread_join failed with status=ESRCH
cancel_test: Test 5: Non-cancelable threads
cancel_test: Re-starting thread (non-cancelable)
restart_thread: Destroying cond
restart_thread: Destroying mutex
restart_thread: Re-starting thread
start_thread: Initializing mutex
start_thread: Initializing cond
start_thread: Starting thread
start_thread: Yielding
sem_waiter: Taking mutex
sem_waiter: Starting wait for condition
sem_waiter: Setting non-cancelable
cancel_test: Canceling thread
cancel_test: Joining
sem_waiter: Releasing mutex
sem_waiter: Setting cancelable
cancel_test: waiter exited with result=0xffffffff
cancel_test: PASS thread terminated with PTHREAD_CANCELED
cancel_test: Test 6: Cancel message queue wait
cancel_test: Starting thread (cancelable)
Skipped
cancel_test: Test 7: Cancel signal wait
cancel_test: Starting thread (cancelable)
Skipped

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         3        3
mxordblk    7a7f8    78ff8
uordblks     2b3c     433c
fordblks    7e4c0    7ccc0

user_main: robust test
robust_test: Initializing mutex
robust_test: Starting thread
robust_waiter: Taking mutex
robust_waiter: Exiting with mutex
robust_test: Take the lock again
robust_test: Make the mutex consistent again.
robust_test: Take the lock again
robust_test: Joining
robust_test: waiter exited with result=0
robust_test: Test complete with nerrors=0

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         3        3
mxordblk    78ff8    78ff8
uordblks     433c     433c
fordblks    7ccc0    7ccc0

user_main: semaphore test
sem_test: Initializing semaphore to 0
sem_test: Starting waiter thread 1
sem_test: Set thread 1 priority to 191
waiter_func: Thread 1 Started
waiter_func: Thread 1 initial semaphore value = 0
waiter_func: Thread 1 waiting on semaphore
sem_test: Starting waiter thread 2
sem_test: Set thread 2 priority to 128
waiter_func: Thread 2 Started
waiter_func: Thread 2 initial semaphore value = -1
waiter_func: Thread 2 waiting on semaphore
sem_test: Starting poster thread 3
sem_test: Set thread 3 priority to 64
poster_func: Thread 3 started
poster_func: Thread 3 semaphore value = -2
poster_func: Thread 3 posting semaphore
waiter_func: Thread 1 awakened
waiter_func: Thread 1 new semaphore value = -1
waiter_func: Thread 1 done
poster_func: Thread 3 new semaphore value = -1
poster_func: Thread 3 semaphore value = -1
poster_func: Thread 3 posting semaphore
waiter_func: Thread 2 awakened
waiter_func: Thread 2 new semaphore value = 0
waiter_func: Thread 2 done
poster_func: Thread 3 new semaphore value = 0
poster_func: Thread 3 done

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         3        5
mxordblk    78ff8    767f8
uordblks     433c     3b4c
fordblks    7ccc0    7d4b0

user_main: timed semaphore test
semtimed_test: Initializing semaphore to 0
semtimed_test: Waiting for two second timeout
semtimed_test: PASS: first test returned timeout
BEFORE: (17 sec, 990000000 nsec)
AFTER:  (19 sec, 991000000 nsec)
semtimed_test: Starting poster thread
semtimed_test: Set thread 1 priority to 191
semtimed_test: Starting poster thread 3
semtimed_test: Set thread 3 priority to 64
semtimed_test: Waiting for two second timeout
poster_func: Waiting for 1 second
poster_func: Posting
semtimed_test: PASS: sem_timedwait succeeded
BEFORE: (19 sec, 993000000 nsec)
AFTER:  (20 sec, 994000000 nsec)

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         5        3
mxordblk    767f8    7a7f8
uordblks     3b4c     2b3c
fordblks    7d4b0    7e4c0

user_main: condition variable test
cond_test: Initializing mutex
cond_test: Initializing cond
cond_test: Starting waiter
cond_test: Set thread 1 priority to 128
waiter_thread: Started
cond_test: Starting signaler
cond_test: Set thread 2 priority to 64
thread_signaler: Started
thread_signaler: Terminating
cond_test: signaler terminated, now cancel the waiter
cond_test:      Waiter  Signaler
cond_test: Loops        32      32
cond_test: Errors       0       0
cond_test:
cond_test: 0 times, waiter did not have to wait for data
cond_test: 0 times, data was already available when the signaler run
cond_test: 0 times, the waiter was in an unexpected state when the signaler ran

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         3        3
mxordblk    7a7f8    787f8
uordblks     2b3c     2b3c
fordblks    7e4c0    7e4c0

user_main: pthread_exit() test
pthread_exit_test: Started pthread_exit_main at PID=23
pthread_exit_main 23: Starting pthread_exit_thread
pthread_exit_main 23: Sleeping for 5 seconds
pthread_exit_thread 24: Sleeping for 10 second
pthread_exit_main 23: Calling pthread_exit()
pthread_exit_thread 24: Still running...

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         3        4
mxordblk    787f8    767f8
uordblks     2b3c     4b44
fordblks    7e4c0    7c4b8

user_main: pthread_rwlock test
pthread_rwlock: Initializing rwlock
pthread_exit_thread 24: Exiting

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         4        5
mxordblk    767f8    747f8
uordblks     4b44     3b4c
fordblks    7c4b8    7d4b0

user_main: pthread_rwlock_cancel test
pthread_rwlock_cancel: Starting test

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         5        2
mxordblk    747f8    7cff8
uordblks     3b4c     2334
fordblks    7d4b0    7ecc8

user_main: timed wait test
thread_waiter: Initializing mutex
timedwait_test: Initializing cond
timedwait_test: Starting waiter
timedwait_test: Set thread 2 priority to 177
thread_waiter: Taking mutex
thread_waiter: Starting 5 second wait for condition
timedwait_test: Joining
thread_waiter: pthread_cond_timedwait timed out
thread_waiter: Releasing mutex
thread_waiter: Exit with status 0x12345678
timedwait_test: waiter exited with result=0x12345678

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         2        3
mxordblk    7cff8    7a7f8
uordblks     2334     2b3c
fordblks    7ecc8    7e4c0

user_main: message queue test
mqueue_test: Starting receiver
mqueue_test: Set receiver priority to 128
receiver_thread: Starting
mqueue_test: Starting sender
mqueue_test: Set sender thread priority to 64
mqueue_test: Waiting for sender to complete
sender_thread: Starting
receiver_thread: mq_receive succeeded on msg 0
sender_thread: mq_send succeeded on msg 0
receiver_thread: mq_receive succeeded on msg 1
sender_thread: mq_send succeeded on msg 1
receiver_thread: mq_receive succeeded on msg 2
sender_thread: mq_send succeeded on msg 2
receiver_thread: mq_receive succeeded on msg 3
sender_thread: mq_send succeeded on msg 3
receiver_thread: mq_receive succeeded on msg 4
sender_thread: mq_send succeeded on msg 4
receiver_thread: mq_receive succeeded on msg 5
sender_thread: mq_send succeeded on msg 5
receiver_thread: mq_receive succeeded on msg 6
sender_thread: mq_send succeeded on msg 6
receiver_thread: mq_receive succeeded on msg 7
sender_thread: mq_send succeeded on msg 7
receiver_thread: mq_receive succeeded on msg 8
sender_thread: mq_send succeeded on msg 8
receiver_thread: mq_receive succeeded on msg 9
sender_thread: mq_send succeeded on msg 9
sender_thread: returning nerrors=0
mqueue_test: Killing receiver
receiver_thread: mq_receive interrupted!
receiver_thread: returning nerrors=0
mqueue_test: Canceling receiver
mqueue_test: receiver has already terminated

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         3        4
mxordblk    7a7f8    74ff8
uordblks     2b3c     6344
fordblks    7e4c0    7acb8

user_main: timed message queue test
timedmqueue_test: Starting sender
timedmqueue_test: Waiting for sender to complete
sender_thread: Starting
sender_thread: mq_timedsend succeeded on msg 0
sender_thread: mq_timedsend succeeded on msg 1
sender_thread: mq_timedsend succeeded on msg 2
sender_thread: mq_timedsend succeeded on msg 3
sender_thread: mq_timedsend succeeded on msg 4
sender_thread: mq_timedsend succeeded on msg 5
sender_thread: mq_timedsend succeeded on msg 6
sender_thread: mq_timedsend succeeded on msg 7
sender_thread: mq_timedsend succeeded on msg 8
sender_thread: mq_timedsend 9 timed out as expected
sender_thread: returning nerrors=0
timedmqueue_test: Starting receiver
timedmqueue_test: Waiting for receiver to complete
receiver_thread: Starting
receiver_thread: mq_timedreceive succeed on msg 0
receiver_thread: mq_timedreceive succeed on msg 1
receiver_thread: mq_timedreceive succeed on msg 2
receiver_thread: mq_timedreceive succeed on msg 3
receiver_thread: mq_timedreceive succeed on msg 4
receiver_thread: mq_timedreceive succeed on msg 5
receiver_thread: mq_timedreceive succeed on msg 6
receiver_thread: mq_timedreceive succeed on msg 7
receiver_thread: mq_timedreceive succeed on msg 8
receiver_thread: Receive 9 timed out as expected
receiver_thread: returning nerrors=0
timedmqueue_test: Test complete

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         4        3
mxordblk    74ff8    78ff8
uordblks     6344     433c
fordblks    7acb8    7ccc0

user_main: sigprocmask test
sigprocmask_test: SUCCESS

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         3        3
mxordblk    78ff8    78ff8
uordblks     433c     433c
fordblks    7ccc0    7ccc0

user_main: signal handler test
sighand_test: Initializing semaphore to 0
sighand_test: Unmasking SIGCHLD
sighand_test: Registering SIGCHLD handler
sighand_test: Starting waiter task
sighand_test: Started waiter_main pid=41
waiter_main: Waiter started
waiter_main: Unmasking signal 32
waiter_main: Registering signal handler
waiter_main: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0000000000000000
waiter_main: Waiting on semaphore
sighand_test: Signaling pid=41 with signo=32 sigvalue=42
waiter_main: sem_wait() successfully interrupted by signal
waiter_main: done
sighand_test: done

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         3        3
mxordblk    78ff8    78ff8
uordblks     433c     433c
fordblks    7ccc0    7ccc0

user_main: nested signal handler test
signest_test: Starting signal waiter task at priority 101
waiter_main: Waiter started
waiter_main: Setting signal mask
waiter_main: Registering signal handler
waiter_main: Waiting on semaphore
signest_test: Started waiter_main pid=42
signest_test: Starting interfering task at priority 102
interfere_main: Waiting on semaphore
signest_test: Started interfere_main pid=43
signest_test: Simple case:
  Total signalled 1240  Odd=620 Even=620
  Total handled   1240  Odd=620 Even=620
  Total nested    0    Odd=0   Even=0
signest_test: With task locking
  Total signalled 2480  Odd=1240 Even=1240
  Total handled   2480  Odd=1240 Even=1240
  Total nested    0    Odd=0   Even=0
signest_test: With intefering thread
  Total signalled 3720  Odd=1860 Even=1860
  Total handled   3720  Odd=1860 Even=1860
  Total nested    0    Odd=0   Even=0
signest_test: done

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         3        4
mxordblk    78ff8    74ff8
uordblks     433c     6344
fordblks    7ccc0    7acb8

user_main: POSIX timer test
timer_test: Initializing semaphore to 0
timer_test: Unmasking signal 32
timer_test: Registering signal handler
timer_test: oact.sigaction=0xc000734a oact.sa_flags=0 oact.sa_mask=2aaaaaaaaaaaaaaa
timer_test: Creating timer
timer_test: Starting timer
timer_test: Waiting on semaphore
timer_expiration: Received signal 32
timer_expiration: sival_int=42
timer_expiration: si_code=2 (SI_TIMER)
timer_expiration: ucontext=0
timer_test: sem_wait() successfully interrupted by signal
timer_test: g_nsigreceived=1
timer_test: Waiting on semaphore
timer_expiration: Received signal 32
timer_expiration: sival_int=42
timer_expiration: si_code=2 (SI_TIMER)
timer_expiration: ucontext=0
timer_test: sem_wait() successfully interrupted by signal
timer_test: g_nsigreceived=2
timer_test: Waiting on semaphore
timer_expiration: Received signal 32
timer_expiration: sival_int=42
timer_expiration: si_code=2 (SI_TIMER)
timer_expiration: ucontext=0
timer_test: sem_wait() successfully interrupted by signal
timer_test: g_nsigreceived=3
timer_test: Waiting on semaphore
timer_expiration: Received signal 32
timer_expiration: sival_int=42
timer_expiration: si_code=2 (SI_TIMER)
timer_expiration: ucontext=0
timer_test: sem_wait() successfully interrupted by signal
timer_test: g_nsigreceived=4
timer_test: Waiting on semaphore
timer_expiration: Received signal 32
timer_expiration: sival_int=42
timer_expiration: si_code=2 (SI_TIMER)
timer_expiration: ucontext=0
timer_test: sem_wait() successfully interrupted by signal
timer_test: g_nsigreceived=5
timer_test: Deleting timer
timer_test: done

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         4        4
mxordblk    74ff8    74ff8
uordblks     6344     6344
fordblks    7acb8    7acb8

user_main: round-robin scheduler test
rr_test: Set thread priority to 1
rr_test: Set thread policy to SCHED_RR
rr_test: Starting first get_primes_thread
         First get_primes_thread: 44
rr_test: Starting second get_primes_thread
         Second get_primes_thread: 45
rr_test: Waiting for threads to complete -- this should take awhile
         If RR scheduling is working, they should start and complete at
         about the same time
get_primes_thread id=1 started, looking for primes < 10000, doing 10 run(s)
get_primes_thread id=1 finished, found 1230 primes, last one was 9973
get_primes_thread id=2 started, looking for primes < 10000, doing 10 run(s)
get_primes_thread id=2 finished, found 1230 primes, last one was 9973
rr_test: Done

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         4        4
mxordblk    74ff8    787f8
uordblks     6344     3344
fordblks    7acb8    7dcb8

user_main: barrier test
barrier_test: Initializing barrier
barrier_test: Thread 0 created
barrier_test: Thread 1 created
barrier_test: Thread 2 created
barrier_test: Thread 3 created
barrier_test: Thread 4 created
barrier_test: Thread 5 created
barrier_test: Thread 6 created
barrier_test: Thread 7 created
barrier_func: Thread 0 started
barrier_func: Thread 1 started
barrier_func: Thread 2 started
barrier_func: Thread 3 started
barrier_func: Thread 4 started
barrier_func: Thread 5 started
barrier_func: Thread 6 started
barrier_func: Thread 7 started
barrier_func: Thread 0 calling pthread_barrier_wait()
barrier_func: Thread 1 calling pthread_barrier_wait()
barrier_func: Thread 2 calling pthread_barrier_wait()
barrier_func: Thread 3 calling pthread_barrier_wait()
barrier_func: Thread 4 calling pthread_barrier_wait()
barrier_func: Thread 5 calling pthread_barrier_wait()
barrier_func: Thread 6 calling pthread_barrier_wait()
barrier_func: Thread 7 calling pthread_barrier_wait()
barrier_func: Thread 7, back with status=PTHREAD_BARRIER_SERIAL_THREAD (I AM SPECIAL)
barrier_func: Thread 0, back with status=0 (I am not special)
barrier_func: Thread 1, back with status=0 (I am not special)
barrier_func: Thread 2, back with status=0 (I am not special)
barrier_func: Thread 3, back with status=0 (I am not special)
barrier_func: Thread 4, back with status=0 (I am not special)
barrier_func: Thread 5, back with status=0 (I am not special)
barrier_func: Thread 6, back with status=0 (I am not special)
barrier_func: Thread 7 done
barrier_func: Thread 0 done
barrier_test: Thread 0 completed with result=0
barrier_func: Thread 1 done
barrier_test: Thread 1 completed with result=0
barrier_func: Thread 2 done
barrier_test: Thread 2 completed with result=0
barrier_func: Thread 3 done
barrier_test: Thread 3 completed with result=0
barrier_func: Thread 4 done
barrier_test: Thread 4 completed with result=0
barrier_func: Thread 5 done
barrier_test: Thread 5 completed with result=0
barrier_func: Thread 6 done
barrier_test: Thread 6 completed with result=0
barrier_test: Thread 7 completed with result=0

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         4       10
mxordblk    787f8    6c7f8
uordblks     3344     6374
fordblks    7dcb8    7ac88

user_main: scheduler lock test
sched_lock: Starting lowpri_thread at 97
sched_lock: Set lowpri_thread priority to 97
sched_lock: Starting highpri_thread at 98
sched_lock: Set highpri_thread priority to 98
sched_lock: Waiting...
sched_lock: PASSED No pre-emption occurred while scheduler was locked.
sched_lock: Starting lowpri_thread at 97
sched_lock: Set lowpri_thread priority to 97
sched_lock: Starting highpri_thread at 98
sched_lock: Set highpri_thread priority to 98
sched_lock: Waiting...
sched_lock: PASSED No pre-emption occurred while scheduler was locked.
sched_lock: Finished

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks        10        4
mxordblk    6c7f8    787f8
uordblks     6374     3344
fordblks    7ac88    7dcb8

user_main: vfork() test
vfork_test: Child 63 ran successfully

Final memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ffc    80ffc
ordblks         2        3
mxordblk    7cff8    78ff8
uordblks     23ec     433c
fordblks    7ec10    7ccc0
user_main: Exiting
ostest_main: Exiting with status 0
nsh>
nsh>

test with rv64 knsh ostest
$ qemu-system-riscv64 -semihosting -M virt,aclint=on -cpu rv64 -kernel nuttx -nographic

OpenSBI v1.3.1
   ____                    _____ ____ _____
  / __ \                  / ____|  _ \_   _|
 | |  | |_ __   ___ _ __ | (___ | |_) || |
 | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
 | |__| | |_) |  __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|___/_____|
        | |
        |_|

Platform Name             : riscv-virtio,qemu
Platform Features         : medeleg
Platform HART Count       : 1
Platform IPI Device       : aclint-mswi
Platform Timer Device     : aclint-mtimer @ 10000000Hz
Platform Console Device   : semihosting
Platform HSM Device       : ---
Platform PMU Device       : ---
Platform Reboot Device    : sifive_test
Platform Shutdown Device  : sifive_test
Platform Suspend Device   : ---
Platform CPPC Device      : ---
Firmware Base             : 0x80000000
Firmware Size             : 194 KB
Firmware RW Offset        : 0x20000
Firmware RW Size          : 66 KB
Firmware Heap Offset      : 0x28000
Firmware Heap Size        : 34 KB (total), 2 KB (reserved), 9 KB (used), 22 KB (free)
Firmware Scratch Size     : 4096 B (total), 760 B (used), 3336 B (free)
Runtime SBI Version       : 1.0

Domain0 Name              : root
Domain0 Boot HART         : 0
Domain0 HARTs             : 0*
Domain0 Region00          : 0x0000000002000000-0x000000000200ffff M: (I,R,W) S/U: ()
Domain0 Region01          : 0x0000000080000000-0x000000008001ffff M: (R,X) S/U: ()
Domain0 Region02          : 0x0000000080020000-0x000000008003ffff M: (R,W) S/U: ()
Domain0 Region03          : 0x0000000000000000-0xffffffffffffffff M: (R,W,X) S/U: (R,W,X)
Domain0 Next Address      : 0x0000000080200000
Domain0 Next Arg1         : 0x0000000087e00000
Domain0 Next Mode         : S-mode
Domain0 SysReset          : yes
Domain0 SysSuspend        : yes

Boot HART ID              : 0
Boot HART Domain          : root
Boot HART Priv Version    : v1.12
Boot HART Base ISA        : rv64imafdch
Boot HART ISA Extensions  : time,sstc
Boot HART PMP Count       : 16
Boot HART PMP Granularity : 4
Boot HART PMP Address Bits: 54
Boot HART MHPM Count      : 16
Boot HART MIDELEG         : 0x0000000000001666
Boot HART MEDELEG         : 0x0000000000f0b509
ABC
NuttShell (NSH) NuttX-12.3.0-vela
nsh>
nsh>
nsh>
nsh> ls
/:
 dev/
 proc/
 system/
nsh> ls system
 /system
nsh> /system/bin/ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=4

user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         2        2
mxordblk    7cff0    7cff0
uordblks     2678     2678
fordblks    7e980    7e980

user_main: getopt() test
getopt():  Simple test
getopt():  Invalid argument
getopt():  Missing optional argument
getopt_long():  Simple test
getopt_long():  No short options
getopt_long():  Argument for --option=argument
getopt_long():  Invalid long option
getopt_long():  Mixed long and short options
getopt_long():  Invalid short option
getopt_long():  Missing optional arguments
getopt_long_only():  Mixed long and short options
getopt_long_only():  Single hyphen long options

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         2        2
mxordblk    7cff0    7cff0
uordblks     2678     2678
fordblks    7e980    7e980

user_main: libc tests

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         2        2
mxordblk    7cff0    7cff0
uordblks     2678     2678
fordblks    7e980    7e980
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         2        3
mxordblk    7cff0    7cff0
uordblks     2678     2658
fordblks    7e980    7e9a0
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has no value
show_variable: Variable=Variable3 has no value

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         3        2
mxordblk    7cff0    7cff0
uordblks     2658     2578
fordblks    7e9a0    7ea80

user_main: setvbuf test
setvbuf_test: Test NO buffering
setvbuf_test: Using NO buffering
setvbuf_test: Test default FULL buffering
setvbuf_test: Using default FULL buffering
setvbuf_test: Test FULL buffering, buffer size 64
setvbuf_test: Using FULL buffering, buffer size 64
setvbuf_test: Test FULL buffering, pre-allocated buffer
setvbuf_test: Using FULL buffering, pre-allocated buffer
setvbuf_test: Test LINE buffering, buffer size 64
setvbuf_test: Using LINE buffering, buffer size 64
setvbuf_test: Test FULL buffering, pre-allocated buffer
setvbuf_test: Using FULL buffering, pre-allocated buffer

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         2        2
mxordblk    7cff0    7cff0
uordblks     2578     2578
fordblks    7ea80    7ea80

user_main: /dev/null test
dev_null: Read 0 bytes from /dev/null
dev_null: Wrote 1024 bytes to /dev/null

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         2        2
mxordblk    7cff0    7cff0
uordblks     2578     2578
fordblks    7ea80    7ea80

user_main: mutex test
Initializing mutex
Starting thread 1
Starting thread 2
                Thread1 Thread2
        Loops   32      32
        Errors  0       0

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         2        4
mxordblk    7cff0    787f0
uordblks     2578     3598
fordblks    7ea80    7da60

user_main: timed mutex test
mutex_test: Initializing mutex
mutex_test: Starting thread
pthread:  Started
pthread:  Waiting for lock or timeout
mutex_test: Unlocking
pthread:  Got the lock
pthread:  Waiting for lock or timeout
pthread:  Got the timeout.  Terminating
mutex_test: PASSED

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         4        3
mxordblk    787f0    7a7f0
uordblks     3598     2d88
fordblks    7da60    7e270

user_main: cancel test
cancel_test: Test 1a: Normal Cancellation
cancel_test: Starting thread
start_thread: Initializing mutex
start_thread: Initializing cond
start_thread: Starting thread
start_thread: Yielding
sem_waiter: Taking mutex
sem_waiter: Starting wait for condition
cancel_test: Canceling thread
cancel_test: Joining
cancel_test: waiter exited with result=0xffffffffffffffff
cancel_test: PASS thread terminated with PTHREAD_CANCELED
cancel_test: Test 2: Asynchronous Cancellation
... Skipped
cancel_test: Test 3: Cancellation of detached thread
cancel_test: Re-starting thread
restart_thread: Destroying cond
restart_thread: Destroying mutex
restart_thread: Re-starting thread
start_thread: Initializing mutex
start_thread: Initializing cond
start_thread: Starting thread
start_thread: Yielding
sem_waiter: Taking mutex
sem_waiter: Starting wait for condition
cancel_test: Canceling thread
cancel_test: Joining
cancel_test: PASS pthread_join failed with status=ESRCH
cancel_test: Test 5: Non-cancelable threads
cancel_test: Re-starting thread (non-cancelable)
restart_thread: Destroying cond
restart_thread: Destroying mutex
restart_thread: Re-starting thread
start_thread: Initializing mutex
start_thread: Initializing cond
start_thread: Starting thread
start_thread: Yielding
sem_waiter: Taking mutex
sem_waiter: Starting wait for condition
sem_waiter: Setting non-cancelable
cancel_test: Canceling thread
cancel_test: Joining
sem_waiter: Releasing mutex
sem_waiter: Setting cancelable
cancel_test: waiter exited with result=0xffffffffffffffff
cancel_test: PASS thread terminated with PTHREAD_CANCELED
cancel_test: Test 6: Cancel message queue wait
cancel_test: Starting thread (cancelable)
Skipped
cancel_test: Test 7: Cancel signal wait
cancel_test: Starting thread (cancelable)
Skipped

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         3        3
mxordblk    7a7f0    78ff0
uordblks     2d88     4588
fordblks    7e270    7ca70

user_main: robust test
robust_test: Initializing mutex
robust_test: Starting thread
robust_waiter: Taking mutex
robust_waiter: Exiting with mutex
robust_test: Take the lock again
robust_test: Make the mutex consistent again.
robust_test: Take the lock again
robust_test: Joining
robust_test: waiter exited with result=0
robust_test: Test complete with nerrors=0

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         3        3
mxordblk    78ff0    78ff0
uordblks     4588     4588
fordblks    7ca70    7ca70

user_main: semaphore test
sem_test: Initializing semaphore to 0
sem_test: Starting waiter thread 1
sem_test: Set thread 1 priority to 191
waiter_func: Thread 1 Started
waiter_func: Thread 1 initial semaphore value = 0
waiter_func: Thread 1 waiting on semaphore
sem_test: Starting waiter thread 2
sem_test: Set thread 2 priority to 128
waiter_func: Thread 2 Started
waiter_func: Thread 2 initial semaphore value = -1
waiter_func: Thread 2 waiting on semaphore
sem_test: Starting poster thread 3
sem_test: Set thread 3 priority to 64
poster_func: Thread 3 started
poster_func: Thread 3 semaphore value = -2
poster_func: Thread 3 posting semaphore
waiter_func: Thread 1 awakened
waiter_func: Thread 1 new semaphore value = -1
waiter_func: Thread 1 done
poster_func: Thread 3 new semaphore value = -1
poster_func: Thread 3 semaphore value = -1
poster_func: Thread 3 posting semaphore
waiter_func: Thread 2 awakened
waiter_func: Thread 2 new semaphore value = 0
waiter_func: Thread 2 done
poster_func: Thread 3 new semaphore value = 0
poster_func: Thread 3 done

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         3        5
mxordblk    78ff0    767f0
uordblks     4588     3da8
fordblks    7ca70    7d250

...... too manys log sikp

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         4        4
mxordblk    74ff0    74ff0
uordblks     6598     6598
fordblks    7aa60    7aa60

user_main: round-robin scheduler test
rr_test: Set thread priority to 1
rr_test: Set thread policy to SCHED_RR
rr_test: Starting first get_primes_thread
         First get_primes_thread: 44
rr_test: Starting second get_primes_thread
         Second get_primes_thread: 45
rr_test: Waiting for threads to complete -- this should take awhile
         If RR scheduling is working, they should start and complete at
         about the same time
get_primes_thread id=1 started, looking for primes < 10000, doing 10 run(s)
get_primes_thread id=1 finished, found 1230 primes, last one was 9973
get_primes_thread id=2 started, looking for primes < 10000, doing 10 run(s)
get_primes_thread id=2 finished, found 1230 primes, last one was 9973
rr_test: Done

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         4        4
mxordblk    74ff0    787f0
uordblks     6598     3598
fordblks    7aa60    7da60

user_main: barrier test
barrier_test: Initializing barrier
barrier_test: Thread 0 created
barrier_test: Thread 1 created
barrier_test: Thread 2 created
barrier_test: Thread 3 created
barrier_test: Thread 4 created
barrier_test: Thread 5 created
barrier_test: Thread 6 created
barrier_test: Thread 7 created
barrier_func: Thread 0 started
barrier_func: Thread 1 started
barrier_func: Thread 2 started
barrier_func: Thread 3 started
barrier_func: Thread 4 started
barrier_func: Thread 5 started
barrier_func: Thread 6 started
barrier_func: Thread 7 started
barrier_func: Thread 0 calling pthread_barrier_wait()
barrier_func: Thread 1 calling pthread_barrier_wait()
barrier_func: Thread 2 calling pthread_barrier_wait()
barrier_func: Thread 3 calling pthread_barrier_wait()
barrier_func: Thread 4 calling pthread_barrier_wait()
barrier_func: Thread 5 calling pthread_barrier_wait()
barrier_func: Thread 6 calling pthread_barrier_wait()
barrier_func: Thread 7 calling pthread_barrier_wait()
barrier_func: Thread 7, back with status=PTHREAD_BARRIER_SERIAL_THREAD (I AM SPECIAL)
barrier_func: Thread 0, back with status=0 (I am not special)
barrier_func: Thread 1, back with status=0 (I am not special)
barrier_func: Thread 2, back with status=0 (I am not special)
barrier_func: Thread 3, back with status=0 (I am not special)
barrier_func: Thread 4, back with status=0 (I am not special)
barrier_func: Thread 5, back with status=0 (I am not special)
barrier_func: Thread 6, back with status=0 (I am not special)
barrier_func: Thread 7 done
barrier_func: Thread 0 done
barrier_func: Thread 1 done
barrier_test: Thread 0 completed with result=0
barrier_test: Thread 1 completed with result=0
barrier_func: Thread 2 done
barrier_func: Thread 3 done
barrier_test: Thread 2 completed with result=0
barrier_test: Thread 3 completed with result=0
barrier_func: Thread 4 done
barrier_func: Thread 5 done
barrier_func: Thread 6 done
barrier_test: Thread 4 completed with result=0
barrier_test: Thread 5 completed with result=0
barrier_test: Thread 6 completed with result=0
barrier_test: Thread 7 completed with result=0

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         4       10
mxordblk    787f0    6c7f0
uordblks     3598     65f8
fordblks    7da60    7aa00

user_main: scheduler lock test
sched_lock: Starting lowpri_thread at 97
sched_lock: Set lowpri_thread priority to 97
sched_lock: Starting highpri_thread at 98
sched_lock: Set highpri_thread priority to 98
sched_lock: Waiting...
sched_lock: PASSED No pre-emption occurred while scheduler was locked.
sched_lock: Starting lowpri_thread at 97
sched_lock: Set lowpri_thread priority to 97
sched_lock: Starting highpri_thread at 98
sched_lock: Set highpri_thread priority to 98
sched_lock: Waiting...
sched_lock: PASSED No pre-emption occurred while scheduler was locked.
sched_lock: Finished

End of test memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks        10        4
mxordblk    6c7f0    787f0
uordblks     65f8     3598
fordblks    7aa00    7da60

user_main: vfork() test
vfork_test: Child 63 ran successfully

Final memory usage:
VARIABLE  BEFORE   AFTER
======== ======== ========
arena       80ff8    80ff8
ordblks         2        3
mxordblk    7cff0    78ff0
uordblks     2678     4588
fordblks    7e980    7ca70
user_main: Exiting
ostest_main: Exiting with status 0
nsh>

@lupyuen hello, The above is my result based on pr ostest

rv-virt:knsh64 seems to be failing intermittently. Do you see the same problem when you restart QEMU and retest knsh64 a few times? https://gist.github.com/lupyuen/429d215b859f8d90d66dfac37b45fce2
user_main: nested signal handler test
signest_test: Starting signal waiter task at priority 101
waiter_main: Waiter started
waiter_main: Setting signal mask
waiter_main: Registering signal handler
waiter_main: Waiting on semaphore
signest_test: Started waiter_main pid=51
signest_test: Starting interfering task at priority 102
interfere_main: Waiting on semaphore
signest_test: Started interfere_main pid=52
signest_test: Simple case:
  Total signalled 1240  Odd=620 Even=620
  Total handled   1240  Odd=620 Even=620
  Total nested    0    Odd=0   Even=0
signest_test: With task locking
  Total signalled 2480  Odd=1240 Even=1240
  Total handled   2480  Odd=1240 Even=1240
  Total nested    0    Odd=0   Even=0
[   55.089000] riscv_exception: EXCEPTION: Instruction page fault. MCAUSE:<PHONE_NUMBER>00000c, EPC: 00000000c000265a, MTVAL: 00000000c000265a
[   55.089000] riscv_exception: Segmentation fault in PID 10: ostest
ostest_main: Exiting with status 2816

Earlier we had issues with Stress Testing of knsh64. Maybe you could rebase your repo to this version? https://github.com/apache/nuttx/pull/13585

@anjiahao1 FYI the latest version still fails with Segmentation Fault: https://gist.github.com/lupyuen/00e02d38e966eee1e3e68b97ca03d4cc
nsh> uname -a
NuttX 10.1.0 60cac5c4c3 Sep 26 2024 10:54:32 risc-v rv-virt
nsh> ostest
user_main: nested signal handler test
signest_test: Starting signal waiter task at priority 101
waiter_main: Waiter started
waiter_main: Setting signal mask
waiter_main: Registering signal handler
waiter_main: Waiting on semaphore
signest_test: Started waiter_main pid=51
signest_test: Starting interfering task at priority 102
interfere_main: Waiting on semaphore
signest_test: Started interfere_main pid=52
[   55.219000] riscv_exception: EXCEPTION: Instruction page fault. MCAUSE:<PHONE_NUMBER>00000c, EPC:<PHONE_NUMBER>000000, MTVAL:<PHONE_NUMBER>000000
[   55.219000] riscv_exception: Segmentation fault in PID 52: ostest
ostest_main: Exiting with status 0

@anjiahao1 FYI the latest version still fails with Segmentation Fault on rv-virt:knsh64: https://gist.github.com/lupyuen/00e02d38e966eee1e3e68b97ca03d4cc
nsh> uname -a
NuttX 10.1.0 60cac5c4c3 Sep 26 2024 10:54:32 risc-v rv-virt
nsh> ostest
user_main: nested signal handler test
signest_test: Starting signal waiter task at priority 101
waiter_main: Waiter started
waiter_main: Setting signal mask
waiter_main: Registering signal handler
waiter_main: Waiting on semaphore
signest_test: Started waiter_main pid=51
signest_test: Starting interfering task at priority 102
interfere_main: Waiting on semaphore
signest_test: Started interfere_main pid=52
[   55.219000] riscv_exception: EXCEPTION: Instruction page fault. MCAUSE:<PHONE_NUMBER>00000c, EPC:<PHONE_NUMBER>000000, MTVAL:<PHONE_NUMBER>000000
[   55.219000] riscv_exception: Segmentation fault in PID 52: ostest
ostest_main: Exiting with status 0

I think this may not be caused by my PR. Is there a problem with the latest code? My code is not the latest, and running rv64:knsh test is passable

I think this may not be caused by my PR. Is there a problem with the latest code? My code is not the latest, and running rv64:knsh test is passable

@anjiahao1 Sorry I can't approve this PR if rv-virt:knsh64 is failing the Regression Test. May I suggest that we wait for the following 2 issues to be resolved? Then we can retest the PR again. Thanks!

Context Switching: https://github.com/apache/nuttx/pull/13585
Vfork Failing: https://github.com/apache/nuttx/pull/13585#discussion_r1775188075

I think this may not be caused by my PR. Is there a problem with the latest code? My code is not the latest, and running rv64:knsh test is passable

@anjiahao1 Sorry I can't approve this PR if rv-virt:knsh64 is failing the Regression Test. May I suggest that we wait for the following 2 issues to be resolved? Then we can rebase and retest the PR. Thanks!

Context Switching: riscv: use g_running_task store current regs #13585
Vfork Failing: riscv: use g_running_task store current regs #13585 (comment)

Yes, I think so too.

@lupyuen The latest code, without using the commit in my PR, will crash when using ostest

Yep please wait for https://github.com/apache/nuttx/pull/13585 to be merged. Then we'll rebase and retest your PR. Thanks!

Yep please wait for #13585 to be merged. Then we'll rebase and retest your PR. Thanks!

OK,Thanks

Hi @anjiahao1 https://github.com/apache/nuttx/pull/13585 has been merged. Could you please rebase to master branch, and retest your PR? Thanks!

@anjiahao1 please report your result.

@lupyuen

i run ostest use rv-virt:knsh64 and pass it on least code

@anjiahao1 Would you know why Milk-V Duo S is failing this assertion?
https://gist.github.com/lupyuen/47a569ab90040533e054babb2de43fd8#file-gistfile1-txt-L1420-L1435
nsh> getprime
_assert: Current Version: NuttX  10.1.0 b545c1abf9f Sep 29 2024 10:07:07 risc-v
_assert: Assertion failed -256 <= offset && offset <= 255: at file: machine/risc-v/arch_elf.c:711 task: /system/bin/init process: /system/bin/init 0xc000001a
up_dump_register: EPC:<PHONE_NUMBER>21463e
up_dump_register: A0:<PHONE_NUMBER>4025e0 A1:<PHONE_NUMBER>0002c7 A2:<PHONE_NUMBER>842022 A3:<PHONE_NUMBER>4091a8
up_dump_register: A4:<PHONE_NUMBER>000003 A5:<PHONE_NUMBER>000004 A6:<PHONE_NUMBER>000000 A7:<PHONE_NUMBER>000000
up_dump_register: T0:<PHONE_NUMBER>2068c2 T1:<PHONE_NUMBER>411610 T2:<PHONE_NUMBER>000000 T3:<PHONE_NUMBER>409a00
up_dump_register: T4:<PHONE_NUMBER>40b0e0 T5: 00000000c0202958 T6:<PHONE_NUMBER>000000
up_dump_register: S0:<PHONE_NUMBER>000000 S1:<PHONE_NUMBER>40a810 S2:<PHONE_NUMBER>40a810 S3:<PHONE_NUMBER>000000
up_dump_register: S4:<PHONE_NUMBER>842022 S5:<PHONE_NUMBER>226810 S6:<PHONE_NUMBER>226788 S7:<PHONE_NUMBER>4115a0
up_dump_register: S8:<PHONE_NUMBER>000006 S9:<PHONE_NUMBER>4027f8 S10:<PHONE_NUMBER>0002c7 S11:<PHONE_NUMBER>402878
up_dump_register: SP:<PHONE_NUMBER>40b010 FP:<PHONE_NUMBER>000000 TP:<PHONE_NUMBER>40a810 RA:<PHONE_NUMBER>21463e
dump_stack: Kernel Stack:
dump_stack:   base: 0x8040ab60
dump_stack:   size: 00003072
dump_stack:     sp: 0x8040b010

xtensa-01 CI is failing, we may need to rebase to this when it is merged: https://github.com/apache/nuttx/pull/13717

xtensa-01 CI is failing, we may need to rebase to this when it is merged: #13717

yes, but since this patch already pass ci several time, we can ignore this error and merge it directly.


how can i download full code and impliment?

hi
how to download complete code and how to implement on my server?

The release page has all this repo's code and its dependencies:
https://github.com/google/google-api-php-client/releases
Unlike most client/server network communication projects, this is just a
client project and not at all helpful in implementing one's own server.
On Mon, Apr 30, 2018 at 2:20 AM anilshah694<EMAIL_ADDRESS>wrote:

hi
how to download complete code and how to implement on my server?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/google-api-php-client/issues/1424, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFAP2_zGxg5quqzB6TTgdnrXsMvs9ZCjks5tttdPgaJpZM4TsUPt
.

The question (I believe) is how to run the code on a backend server, e.g. in a production environment. The instructions on how to run this are in the README under "Installation". Let us know if you run into any problems!

Bah, I misread the question. Sorry about that, @anilshah694; thanks for the question. It looks to be resolved, so I am going to close this issue.


Broken on "obscure" platforms (such as NixOS)

https://github.com/jorangreef/sudo-prompt/blob/52f82d0660515ec3b4189d3826422aa40c593599/index.js#L125
This assumes you know the exact location of the pkexec/kdesudo binary. This isn't always the case, for example on my (NixOS) system:
$ which pkexec
/run/wrappers/bin/pkexec

Would it be possible to use the environment to get the location of these executables?

which would certainly be an option. I don't know if there are any node-specific ways of doing this the neatly.

Please try out this commit (not yet published to npm): https://github.com/jorangreef/sudo-prompt/commit/0e933b77c3e4f780236e137124eae31d867a80ad
Let me know if that fixes it.

It looks like NixOS does things differently with pkexec then, even once we've located the unusual bin path. I am sorry I don't have NixOS available to test. I'm going to revert the which commit until we know for sure and close this out, but if you can figure it out, please let me know.


ReceiveNotificationsForAwareness queries DSS for wrong time range

report.json is not attached because
See sequence view test step instead:
s63.html.zip
Test check
Operational intent shared correctly check in Tested_uss plans and activates Flight 1 test step
Difference from expected behavior
uss_qualifier claims there is no operational intent corresponding to the planned flight, however the time range queried in the DSS (in both e3 and e8) does not match (and, in fact, does not even intersect) the time range requested for the flight (see e5).

From a first look: it seems that the extents used in the OpIntentValidator don't include the extent of flight_1_planned, and either that flight is missing from the computation of the aggregated extents or this computation has a bug.

The problem (very likely) seems to arise from the fact that, in scenarios that consume flight intents, we compute the overall extents that will be used to query the DSS at scenario instantiation time, while the start and end times of flight intents that will effectively be created are resolved when the relevant test step is executed.
I'll draft a PR that will tentatively remove all pre-computed extents, and compute them on the fly base on the properly resolved flight intents.

As far as I can tell this was addressed specifically by #652 and more generally by the migration to the new flight info template.


KAFKA-14499: [7/7] Add integration tests for OffsetCommit API and OffsetFetch API

This patch adds integration tests for the OffsetCommit API and the OffsetFetch API. The tests runs against the old and the new group coordinator and with the new and the old consumer rebalance protocol.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@jolshan @rreddy-22 Thanks for your comments. I have addressed all of them if not mistaken. I have also fixed a few tests and extracted common code into the base class. Please have a second look a it.


[Monitoring] Create RoleTemplate for "monitoring-view" ClusterRole

Is your feature request related to a problem? Please describe.
We have users in different tenancies requiring access to see only their projects, along with rancher-monitoring navigation links in our downstream clusters.
The monitoring-view ClusterRole provides the permissions required, but this is not available as a (project level) RoleTemplate - as is the case with the monitoring-ui-view RoleTemplate. It is only available as part of the Kubernetes view default role. However, we cannot grant the Kubernetes view Role as this elevates many more permissions that we do not want the users to have.
Describe the solution you'd like
As per issue 31411 (https://github.com/rancher/rancher/issues/31411) we want a RoleTemplate adding into Rancher that provides assignable access to the monitoring-view external ClusterRole.
Describe alternatives you've considered
We have had to create a custom role to duplicate the permissions, but this is not very future-proof, as it could mean a deviation from the desired permissions in a future upgrade of the chart.
Additional context
None should be required, but can be provided on request.

Hey bot. Just a bump to make sure this isn't closed as it should be a simple change and appears scheduled for development.

Hey bot. Just a bump to make sure this isn't closed as it should be a simple change and appears scheduled for development.

Hey bot. Just a bump to make sure this isn't closed as it should be a simple change and appears scheduled for development.
(I'm not a bot, you are)


XML Namespaces wrong in examples

In the Body example parameter below Sample code to call the REST API the following example XML is written:
<entry xmlns:d='https://schemas.microsoft.com/ado/2007/08/dataservices' xmlns:m='https://schemas.microsoft.com/ado/2007/08/dataservices/metadata' xmlns='https://www.w3.org/2005/Atom'>
<category scheme='https://schemas.microsoft.com/ado/2007/08/dataservices/scheme' term='Exchange.ComplianceRetentionEvent' />

All the namespaces are prefixed with https shouldn't this be http?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 5e242e00-9737-43c0-eded-821faaa889cd
Version Independent ID: 1a354075-9994-1dc6-ac43-006dbac0add8
Content: Automate event-driven retention - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/automate-event-driven-retention.md
Service: o365-seccomp
GitHub Login: @cabailey
Microsoft Alias: cabailey

@bjdekker It seems these got accidentally updated as a result of a script.  Thanks for flagging, I'll revert to http.

Fixed now, closing.

I fell foul of the same issue, before I read this closed comment. The examples above still reference https intead of http. Changing these to http resolved my issue. Thanks

@bloodytourists  Apologies - seems somebody with good intentions reverted the change.  I'll look into it.


using "pip install dnnv"

Hi,
Thank you so much for reading this!
Do you recommend installing dnnv by using "pip install dnnv" without activating virtual environment? I believe we need to install the verifiers separately, which also must be accessible on the PATH. But I am not very sure how to install the verifiers separately after I use "pip install dnnv". May I get some help with this? (Like what command line should I use.)
Thank you so much for your time!

No, if you need to use verifiers, then I would not recommend installation with pip. The pip version is useful if you just need the network simplification and property reduction methods, but it is much harder to use the verifiers (it is probably possible but won't be officially supported).

Thank you so much for the answer!


Problem when calculating OWA by Evaluator(DeepAR)

Hi I got an issue in when I tried to calculate evaluation metrics. In class Evaluator, parameter "calculate_owa" is False defaulted. I set it to True when calling the Evaluator but got an error:"init() got an unexpected keyword argument 'calculate_owa' ".

Does anybody know how to fix it ?

@KanWu10 what version of GluonTS are you using? That feature is only in the master branch, not in the latest release (0.4.3)

You can do
pip install git+https://github.com/awslabs/gluon-ts.git

The next release (0.5) is expected pretty soon, watch out for it, so in a few days you should be able to install gluonts again from PyPI (the simpler pip install gluonts)

could you please copy paste the entire error? use triple-ticks (```) to enclose code snippets so that they're nicely formatted
like this

Maybe this is related? https://github.com/pypa/setuptools/issues/1694

@lostella Thank you ! I will try this.

@lostella I fixed the last error and my current package version is gluonts-0.4.3.dev117+g53120d4.
However I still cannot set feature 'calculate_owa' for the same error.
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-85-78af253b4ad1> in <module>
----> 1 agg_metrics, item_metrics = Evaluator(calculate_owa=True)(
      2         ts_it, forecast_it, num_series=len(test_data)
      3     )

TypeError: __init__() got an unexpected keyword argument 'calculate_owa'

Now that’s weird. Can you check what the following outputs?
import gluonts
print(gluonts.__version__)
from gluonts.evaluation import Evaluator
ev = Evaluator(calculate_owa=True)

Here is the output.

@lostella Hi below is the output.

So you're still running 0.4.3. Can you pip uninstall, make sure the package is removed, and reinstall it with the command I pasted above?

@lostella I have removed the gluonts 0.4.3 before I use the command to reinstall and the package version in Preference is also gluonts-0.4.3.dev117+g53120d4.
(venv) KanWuMacBookPro:KanWu dongyuewu$ pip install --no-use-pep517  git+https://github.com/awslabs/gluon-ts.git
Collecting git+https://github.com/awslabs/gluon-ts.git
  Cloning https://github.com/awslabs/gluon-ts.git to /private/var/folders/h8/mmsvg1mx78s2p44h58z7b82m0000gn/T/pip-req-build-ycig9zja
  Running command git clone -q https://github.com/awslabs/gluon-ts.git /private/var/folders/h8/mmsvg1mx78s2p44h58z7b82m0000gn/T/pip-req-build-ycig9zja
Requirement already satisfied: holidays<0.10,>=0.9 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (0.9.12)
Requirement already satisfied: matplotlib~=3.0 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (3.2.1)
Requirement already satisfied: numpy~=1.16 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (1.18.2)
Collecting pandas~=1.0
  Using cached pandas-1.0.3-cp37-cp37m-macosx_10_9_x86_64.whl (10.0 MB)
Requirement already satisfied: pydantic~=1.1 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (1.5.1)
Requirement already satisfied: tqdm~=4.23 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (4.45.0)
Requirement already satisfied: ujson~=1.35 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (1.35)
Requirement already satisfied: python-dateutil in ./venv/lib/python3.7/site-packages (from holidays<0.10,>=0.9->gluonts==0.4.3.dev117+g53120d4) (2.8.0)
Requirement already satisfied: six in ./venv/lib/python3.7/site-packages (from holidays<0.10,>=0.9->gluonts==0.4.3.dev117+g53120d4) (1.14.0)
Requirement already satisfied: cycler>=0.10 in ./venv/lib/python3.7/site-packages (from matplotlib~=3.0->gluonts==0.4.3.dev117+g53120d4) (0.10.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in ./venv/lib/python3.7/site-packages (from matplotlib~=3.0->gluonts==0.4.3.dev117+g53120d4) (2.4.7)
Requirement already satisfied: kiwisolver>=1.0.1 in ./venv/lib/python3.7/site-packages (from matplotlib~=3.0->gluonts==0.4.3.dev117+g53120d4) (1.2.0)
Requirement already satisfied: pytz>=2017.2 in ./venv/lib/python3.7/site-packages (from pandas~=1.0->gluonts==0.4.3.dev117+g53120d4) (2019.3)
Building wheels for collected packages: gluonts
  Building wheel for gluonts (setup.py) ... done
  Created wheel for gluonts: filename=gluonts-0.4.3.dev117+g53120d4-py3-none-any.whl size=418103 sha256=53e6845d3722495052f02d39e2daa20ed66722b41c4e2d19fb6e9808555d53cc
  Stored in directory: /private/var/folders/h8/mmsvg1mx78s2p44h58z7b82m0000gn/T/pip-ephem-wheel-cache-8m4lmqim/wheels/f5/db/5e/07695b2f0357956b0f6c0d36c43a7c054a0b6647e6bbc19566
Successfully built gluonts
Installing collected packages: pandas, gluonts
  Attempting uninstall: pandas
    Found existing installation: pandas 0.25.3
    Uninstalling pandas-0.25.3:
      Successfully uninstalled pandas-0.25.3
  Attempting uninstall: gluonts
    Found existing installation: gluonts 0.4.3
    Uninstalling gluonts-0.4.3:
      Successfully uninstalled gluonts-0.4.3
Successfully installed gluonts-0.4.3.dev117+g53120d4 pandas-1.0.3
(venv) KanWuMacBookPro:KanWu dongyuewu$ pip install --no-use-pep517  git+https://github.com/awslabs/gluon-ts.git
Collecting git+https://github.com/awslabs/gluon-ts.git
  Cloning https://github.com/awslabs/gluon-ts.git to /private/var/folders/h8/mmsvg1mx78s2p44h58z7b82m0000gn/T/pip-req-build-o18xcpbz
  Running command git clone -q https://github.com/awslabs/gluon-ts.git /private/var/folders/h8/mmsvg1mx78s2p44h58z7b82m0000gn/T/pip-req-build-o18xcpbz
Requirement already satisfied: holidays<0.10,>=0.9 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (0.9.12)
Requirement already satisfied: matplotlib~=3.0 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (3.2.1)
Requirement already satisfied: numpy~=1.16 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (1.18.2)
Requirement already satisfied: pandas~=1.0 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (1.0.3)
Requirement already satisfied: pydantic~=1.1 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (1.5.1)
Requirement already satisfied: tqdm~=4.23 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (4.45.0)
Requirement already satisfied: ujson~=1.35 in ./venv/lib/python3.7/site-packages (from gluonts==0.4.3.dev117+g53120d4) (1.35)
Requirement already satisfied: python-dateutil in ./venv/lib/python3.7/site-packages (from holidays<0.10,>=0.9->gluonts==0.4.3.dev117+g53120d4) (2.8.0)
Requirement already satisfied: six in ./venv/lib/python3.7/site-packages (from holidays<0.10,>=0.9->gluonts==0.4.3.dev117+g53120d4) (1.14.0)
Requirement already satisfied: cycler>=0.10 in ./venv/lib/python3.7/site-packages (from matplotlib~=3.0->gluonts==0.4.3.dev117+g53120d4) (0.10.0)
Requirement already satisfied: kiwisolver>=1.0.1 in ./venv/lib/python3.7/site-packages (from matplotlib~=3.0->gluonts==0.4.3.dev117+g53120d4) (1.2.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in ./venv/lib/python3.7/site-packages (from matplotlib~=3.0->gluonts==0.4.3.dev117+g53120d4) (2.4.7)
Requirement already satisfied: pytz>=2017.2 in ./venv/lib/python3.7/site-packages (from pandas~=1.0->gluonts==0.4.3.dev117+g53120d4) (2019.3)
Building wheels for collected packages: gluonts
  Building wheel for gluonts (setup.py) ... done
  Created wheel for gluonts: filename=gluonts-0.4.3.dev117+g53120d4-py3-none-any.whl size=418103 sha256=d40588fa827826294d0783f876f51972ef5429ed3ec120c17f7cf2ffcdfc06b5
  Stored in directory: /private/var/folders/h8/mmsvg1mx78s2p44h58z7b82m0000gn/T/pip-ephem-wheel-cache-944jgdch/wheels/f5/db/5e/07695b2f0357956b0f6c0d36c43a7c054a0b6647e6bbc19566
Successfully built gluonts
Installing collected packages: gluonts
Successfully installed gluonts-0.4.3.dev117+g53120d4

However, when I ran Evaluator command I still got same error.

@KanWu10 did you restart the IPython kernel in your Jupyter notebook after installing gluonts-0.4.3.dev117+g53120d4? The notebook clearly output "0.4.3" above

@lostella My bad. I just restarted it and all stuff are working well now.
Thank you so much for your help, I really appreciate it.


Display names of typedef instantiations don't refer to the typedef name

Consider the following Dart code:
typedef F = List<G> Function();
typedef G = List<dynamic> Function();
void test(F f) {
  var x = f();
  print(x);
}

If we query the analyzer to find the type of x, we get a FunctionType whose displayName is List<() -> List<dynamic>>.  It would be better for the type to be displayed as List<G>.
I suspect that this functionality was broken sometime during the introduction of generic typedefs.

Function types are structural types, not nominal types, so there is no distinction between the types written List<G> and List<List<dynamic> Function()>. It is the same type.
It's an unnecessary overhead for a compiler to retain the G name at runtime. The analyzer is obviously different, since it has all of the source available, but I would argue that the expanded type is better than the type that just writes G because that makes me need to look up G.

@lrhn I'm aware that List<G> and List<List<dynamic Function()> are the same type--sorry if that was not clear in my bug description.
I'm not sure I understand what you mean by "It's an unnecessary overhead for a compiler to retain the G name at runtime", since you mention both the compiler and runtime.  Do you mean "it's unnecessary for a compiler to retain the G name during compilation" (i.e. at compile time only), or "it's unnecessary for the compiled program to retain the G name" (i.e. for printing out at runtime of the compiled program)?
Since this bug is about the analyzer, I'm going to assume we're talking about compile time.  In that case, I have to respectfully disagree.  Consider the following code:
typedef void F();
...
doSomething(F f) {
  int x = f; // ERROR
}

If we issue the error message "F not assignable to int", then the error message names the types in the same way that the user names them in their source code, so it's easy for the user to see their mistake, and it's not necessary for them to look up F.  If, on the other hand, we issued the error message "void Function() not assignable to int", then not only would the user have to look up F to understand what the error message is referring to, but they would have to figure out on their own that looking up F would be a useful thing to do, because the error message doesn't even mention the name of the typedef.
Of course, there are some times when it would be useful for the compiler to look up the name on the user's behalf, e.g.:
typedef void F();
...
doSomething(F f) {
  f(1); // ERROR
}

But in this case I think what would be most helpful is to show the user both types, e.g. something like "too many arguments passed to f, which has type F (a.k.a. void Function())".  Note that both clang and gcc have adopted this approach, called "typedef preservation and selective unwrapping" (see https://clang.llvm.org/diagnostics.html)


Made the trigger collider automatically search for a static collider in the attatched entity

The trigger collider now automatically searches for a static collider when it is attatched to the entity. If desired, you can still configure a separate collider, and set ignored colliders.
Also added interfaces to add and remove colliders from the list of ignored colliders.

You can also introduce these changes in this in this PR, you decide. Lemme know if you have any questions. @OhNarts

What's the current status of the trigger status?


Add a JDBC record reader

Proposal for a new record reader to iterate on a jdbc ResultSet and transform rows into record values.
A few remarks and questions with no special order :

Commons db offers some abstractions but the standard jdbc api may offer more control (in particular concerning paging). JOOQ has interesting features too, like dialect agnostic request generation DSL
Minimum required parameters should be a datasource and a query
Any opinion on connection persistence and (potential) pooling ?
Should this be a separate maven module ?
How to map relational column types to instances of Writables ? I've seen some related stuff in the interface layer between local and tablesaw's fork in dataframe (SqlResultSetReader in this same module seems to be doing some mapping as well)

We use commonsdb..jooq is a bit heavy for this but I wouldn't mind using it if done right.
DBUtils/commons db makes more sense
No opinions on pooling.
Yes it should be a separate module.
Writables are generally relative to type. I would look at what the csv record reader does and immitate that.

Thanks for your answers. Concerning the Writables, I meant that CSVRecordReader is always reading Texts, while the JDBCRecordReader may have to read other types of Writable and some mapping should occur.
Can you assign this to me ? Started working on it here https://github.com/dalsh/DataVec/tree/features/jdbc-record-reader-362

yes you would need different Writable types: https://github.com/deeplearning4j/DataVec/blob/master/datavec-api/src/test/java/org/datavec/api/records/reader/impl/transform/TransformProcessRecordReaderTests.java#L29

I opened PR #364 so you can start early reviewing.
I have 2 questions :

what should metadata objects store in order to re-fetch data ? One idea could be to ask the user to provide a primary key column name and a table name so we can store the related key value and table name in the metadata, but that only covers simple cases (if you iterate over a join or select in select request this won't work)

what's an inputsplit exactly and how should the concept be applied to JDBC record reading ?

input splits for data base could be queries or even batched results
for refetching data should be able to reuse the same query I'd imagine?

For refetching data I was mentionning the RecordMetaData that is passed to loadFromMetaData (specifically this and this)


Roll Engine from 26e217e6c3d4 to d13422f67185 (2 revisions)

https://github.com/flutter/engine/compare/26e217e6c3d4...d13422f67185
2021-05-17<EMAIL_ADDRESS>Add diagrams for Wiki (flutter/engine#26172)
2021-05-17<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from q9Qi_9RMf... to l6XmTSLnt... (flutter/engine#26187)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from q9Qi_9RMffk9 to l6XmTSLnt_jR
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Commit queue failed; closing this roll.


Credit Card Approval Prediction

Added the code, CSV file, and Readme
PR for issue #151
Please add the DWOc label and the tag

try this model on some bigger dataset

try this model on some bigger dataset

Ok I will check for a larger dataset.

Ok I will check for a larger dataset.

Hello, I am not able to find a bigger dataset. I searched on the net but I am getting this same dataset.

Hello, I am not able to find a bigger dataset. I searched on the net but I am getting this same dataset.


Update old provider paths

I would like to work on this!

Feel free and send PR @anuragagrawal0430


Allow requesting specific attributes

Remove nil attributes from response
Allow to selectively serialize attributes with to_scim
Request specific attributes through ActiveRecordBackedResourcesController

Closes https://github.com/RIPAGlobal/scimitar/issues/89

Please, let me know if there's anything that I'm missing or could be better.

I'm really sorry to bother you with PR's, but we're looking to incorporate this feature in our SCIM server, and we might not be able to wait much longer. We're looking for feedback on this and perhaps move this work forward. Thank you

Can I get a review on this PR?

Hi @pond we would really love to use this feature in our SCIM implementation. How can we move forward with this PR?

I've been too busy to get to this, but looking at it today.
Please do remember that anyone at any time can fork a gem with their own additions, to incorporate something that they have as a PR but is waiting on a maintainer. Your Gemfile just references the fork.
gem 'foo', git: 'https://github.com/myaccount/forked-gem-name.git', branch: 'something'

...so you don't need to wait on me to use a gem modification; you can in the short term use a fork or PR branch directly.

The other option is to fork for a brief moment as you suggested, we were just trying to avoid the overhead of doing it as much as we could hold.

@xjunior

we'll come to a deadline next week, so I was wondering if you think this PR could make it until then

Well I can't be held to external third party unspecified deadlines, obviously. If the PR makes it in time, then great. As it stands, #109 passes CI though I have a feeling I should have a lot more tests in there...
Please if you have time could you try using this in your Gemfile to load Scimitar from PR 109's branch directly and see if that's doing what you need? Our own tests pass this way but they've never exercised as many features or edge cases as some of the gem's contributors evidently have!
gem 'scimitar', git: 'https://github.com/RIPAGlobal/scimitar', branch: 'feature/fix-non-returnables'

@xjunior OK, so this now has a lot of conflicts (as expected) after #109 went in.
I can't fix these as your new +attributes+ parameter is undocumented. I don't know whether that's meant to be local data model attributes, SCIM attributes, if the latter whether that's described as dotted paths, arrays, or what, whether it's Symbols, or Strings, or...
...so, first thing, since you've added a new parameter to an already parameter-heavy back end method, please do take care to follow the existing commentary and indentation style to document your new parameter. Then we're in a position to assess how flexible that is, and how it should be applied to the heavily updated from-SCIM backend code.

@pond I'll work on fixing these conflicts and following your suggestions, thank you!

@xjunior Thanks. I don't mind this PR being a smaller implementation where e.g. it only handles non-schema prefix attributes etc., it's fine to take baby steps, but yeah defo please do the docs & have a think about parameter names with an eye to potential future changes.
I'll try to expedite a review, timezones permitting, once you give me a shout that it's ready for another look.

Merging this into a feature branch for further experimentation and hopefully inclusion in a release.


Documentation isn't being updated correctly

If you go to the gh-pages branch, you can see all of the files that have been created for the documentation. Despite the system changing, only what appears to be the first versions of each page are kept. Many pages, for instance, are 2 years old. Those pages are, oddly enough, pages that feature a table of contents. As a result, if you navigate to the documentation. New classes and namespaces aren't listed.
This needs to be updated so that the full set of pages are updated on every run and everything is correctly pushed to the branch upon generation.

The checkout action bears the line:
/usr/bin/git checkout --progress --force -B gh-pages refs/remotes/origin/gh-pages
I could be wrong, but I believe that switches over to the gh-pages branch (what we want) but blasts away all we have with what already exists (what we don't want). I can't find where that can be modified within that action, so that logic may need to be done manually.

How complicated is it to do it manually just to prove your theory/hypothesis?

I find the following web page which may or may not be relevant, it describes an action/checkout step.
https://github.com/marketplace/actions/deploy-to-github-pages

@christophertubbs Yes that's precisely correct... but that arguably shoudn't have to change. It appears what happened here is that the contents of docs/html should never have been committed into the gh-pages branch, but they were ...otherwise that command would be fine. Since the files are only copied out of that directory to the root instead of moved, those deeper copies got committed the first time, and interfere with/override subsequent runs. I think if we blow away the contents of docs/html (and add a .gitignore placeholder) and change that cp to a mv that should do the trick.

Matt,
Would you be able to check https://mattw-nws.github.io/ngen/ to see if the web page generate all namespaces and classes?

I think I would have to enable GitHub pages for myself... I think I can do that. I may need to perform another commit to get the workflow to run in my fork...or something. Not sure if the workflows run/work automatically in my fork already or not...probably not?

When I click on my own page. It displays something but not what I wanted to see. When I tried to display your page, I got a 404 error. But since I am not an owner thought you might be able to see it.

Okay so https://mattw-nws.github.io/ngen/annotated.html now works, it still looks the same, but I expect that... to fix it the workflow has to run now (in my fork)...

It looks as though that worked! https://mattw-nws.github.io/ngen/namespaces.html
So, if you manually wipe out the docs directory in the gh-pages branch and commit to that branch, and then immediately merge #280 , it should fix it. Better, probably, is to merge #280 and then delete/commit docs to gh-pages... preventing the risk of any other action kicking off the workflow and re-adding the docs directory.

Awesome. It looks great!

The remaining part of the fix fixed itself--a subsequent run of the workflow committed the removal of the docs folder (in f3fbc290)...so this can be closed.


Fixed #24700 -- Regex tidy up in http docs

My first PR to Django!

Need to modify the "improved version" a few lines below. Also, please use past tense in commit message, such as "Added dash to slug regex in http docs."

Thanks for the feedback

Just updated :)


Exception in Validating Spec

https://github.com/jondavid-black/AaC/blob/2f169720383a8134094aabc5c0d7ca9c5cb6c51f/python/src/aac/plugins/first_party/specifications/referenced_ids_exist.py#L49
Getting error when validating a specification:
Validator 'Reference IDs exist' failed with an exception:  type of lexeme must be aac.lang.definitions.lexeme.Lexeme; got NoneType instead

There's nothing obvious at the moment as to what may be wrong, so it'll take a little work to document the instructions to recreate the issue for testing.

The way that validate works (now check) has changed since the re-baseline of #714 and specification plugin was extracted and is currently being reworked.
@bunchw , be mindful about this as you work through re-implementing the specifications plugin as a stand alone.


USD entry appears to be out of sync with the community spreadsheet.

Thanks for putting this together! I noticed that the entry for USD is out of date with respect to the community sheet, which states that USD has Python 3 support as of the 20.05 (May 2020) release. Can you please arrange to update this entry in your copy of the data? Thanks in advance.

Thanks for pointing that out Cory. Site has been updated. Closing the issue. 👍

Thanks!


Update class libraries from .NET Core to .NET Standard

See if Fan, Fan.Blogs projects can go from "netcoreapp2.0" to "netstandard2.0"

Fan cannot go "netstandard2.0", the blocker is "System.Runtime.Loader" which is used in FanDbContext.cs.  This thread explains https://github.com/dotnet/corefx/issues/17746 that if you need System.Runtime.Loader you have to go netcoreapp2.0


SILGen: Don't DI the box for consuming parameters.

It's always immediately initialized, so there's no need. This also sidesteps an issue with DI and escaped move-only boxes (rdar://106049211).

@swift-ci Please smoke test


allow choices helpers to support multiple

This follows up on some of the changes we made in CanvasPanel to ensure that all choices on a canvas are exposed.

Thanks @abrin!


Custom FluentWindow has no titlebar

Describe the bug
The window has no controls.
I don't know how to solve.
I NEED HELP.
To Reproduce
Install Package.
Modify App.xaml.
Modify Window to FluentWindow in xaml and cs.
Start and view bug.
Expected behavior
Window should have controls buttons, like maximize, minimize and close.
Screenshots

OS version
Windows 11 22H2 22621.1105.
.NET version
.NET 7
WPF-UI NuGet version
Preview 2.0.0 5
Additional context
No response

Hey @Iulian-Liviu, FluentWindow removes the default titlebar so you can apply your own with custom styles.
If you take a look at Wpf.Ui.Demo.Simple you can see that MainWindow.xaml contains a custom <ui:TitleBar />.
https://github.com/lepoco/wpfui/blob/4d1c726513912d58c29326c2206ba0abec3eca8c/src/Wpf.Ui.Demo.Simple/MainWindow.xaml#L64
If you want to keep the appearance of the original window with it's navigation buttons, don't use the FluentWindow style. If you use it, you need to add your own custom styles.

Thank, this is such a beautiful framework, it help a lot with Wpf theming without worrying how it works, but I find a bit difficult to get started, maybe is because I am still learning WPF. Thanks for taking your time to respond.


Made calls go directly to mxCell rather than through mxGraphModel in many cases

In this PR I've made it so most calls in the examples and core go directly to mxCell rather than going through mxGraphModel to improve readability+simplicity for newer users. The previous functions in mxGraphModel are still there but now forward to the mxCell function with a // SLATED FOR DELETION comment to indicate it may be removed at a later date.
So for example:
if (!state.view.graph.getModel().isEdge(state.cell)) {

will become
if (!state.cell.isEdge()) {

I also have started to remove some of the nulls as possible types to functions in mxCell to try to eliminate bugs which occur due to nulls being accidentally passed to functions and no exception raised, but please note this also will introduce bugs in some cases, especially where null is passed from non-typescript/plain-js files which don't have as strict checking.

What are those docs/stashed/* files?
They look like examples, but are in a weird location...

What are those docs/stashed/* files?
They look like examples, but are in a weird location...

Yeah, they are the examples I didn't convert/started converting to react but hadn't yet finished. I put them there outside the source code tree because React/next.js wouldn't work unless all the javascript files were parseable.
Those "stashed" examples were still there prior to this PR, and mainly only things related to mxGraphModel should have been changed this time around in that dir.
Some of these were relatively complex examples like the or depended on other things working first, and was leaving refactoring/converting the examples till later.
This includes the "editor" examples you can view at https://jgraph.github.io/mxgraph/javascript/.

I wonder how the big "Editor" code differs in scope and whether it was derived from/turned into https://draw.io ?
I'm wondering whether it may be worth investigating whether https://github.com/jgraph/drawio itself could be converted to ES9 and added to the library/put into an external package if it's not orders of magnitude larger.

Those "stashed" examples were still there prior to this PR

Oh, I just realized I had docs excluded in my vscode config.
I never saw them until now. lol
Btw, I'm still converting your examples(the ones in src/pages/) into storybook. I'll open a PR when it's ready.


Patch release notes 04 2019

Deploy preview for docsdocker ready!
Built with commit 5c5a39705b85008081fb47f1d6aaf0431e986fb0
https://deploy-preview-8633--docsdocker.netlify.com


Question about the number of attention chunks in the paper

Thanks for your excellent work!
In Section 4.1 of the paper, the attention chunk size c is set to 4K with 4 chunks, which results in total context length to 32K:

We set the attention chunk size c = 4096, which is the same as the pretraining context length in LLAMA2.
The context length in pretraining is 32K (4 attention chunks).

Why isn't the number of chunks 8? Is it a typo?

According to my understanding, the result from the first GPU needs to be passed to the CEMA layer and Timestep Normalization layer of the second GPU, which means the second GPU can actually see the information from the first GPU. Therefore, the physical chunk size is 4, but the logical chunk size is 8. Is this correct?

Yes, it is correct.


Renamed the solr4 directory

Other Solr directories were named with a dash, e.g. "solr-5", so this renames "solr4" to "solr-4" and makes them all display together in the correct order.

You'll have to change the top-level readme as well, right?

Ah, forgot about that one. Updated.


AFImageDownloader  identifier  is nil when app crashes

reason: '*** setObjectForKey: key cannot be nil'

Check the URL being passed into the request, do you still have it?

Yes，I've been tracking it，at the beginning of the request, URL was a nil。I suggest that if there is an assertion to URL，we'll be closer to perfection。

Please see #3385.
We'll direct conversation there for now.
:beers:


Asset Managment System

[ ] #88
[ ] #89
[ ] #90
[ ] #91
[ ] #92
[ ] #93
[ ] #94
[ ] #95
[ ] #96
[ ] Dashboard and Overview:
[ ] Collaboration and Workflow Integration:  Integration with workflow tools to streamline asset-related processes.
[ ] Continuous Improvement and Feedback Mechanism:
[ ] AI/ML and Predictive Analytics:
[ ] Cost Tracking and Budgeting:
[ ] #97
[ ] Regulatory Updates and Compliance Monitoring:
[ ] Localization and Globalization:
[ ] #98
[ ] Change Management and Version Control:Implementation of change management processes for asset updates.
[ ] Health and Safety Compliance:
[ ] Documentation and Standardization:
[ ] Dashboard Customization: Allow users to customize their dashboard views based on their preferences and frequently accessed data.
[ ] RFID Integration: Integrate RFID (Radio-Frequency Identification) technology for automated asset tracking and identification.
[ ] Asset Reservations and Calendaring: Calendar-based reservation system allowing users to book assets for specific dates and times.
[ ] Service Level Agreement (SLA) Management:
[ ]
[ ] GIS Mapping and Geofencing: Geographic Information System (GIS) integration for visual asset mapping and geofencing capabilities.
[ ] #99

[ ]  1. Dashboard/Homepage

we follow another #102 for develop asset managment system


Can´t find a usable init.tcl

Description
What steps will reproduce the problem?

import tkinter as tk
window = tk.TK()
window.titel('Hello World')
window.mainloop()
This is the script which I want to learn, but if I try to run it there appears a TclError which is:
/usr/local/Cellar/tcl-tk/8.6.12_1/lib/tcl8.6 /Applications/Spyder.app/Contents/lib/tcl8.6 /Applications/Spyder.app/lib/tcl8.6 /Applications/Spyder.app/Contents/library /Applications/Spyder.app/library /Applications/Spyder.app/tcl8.6.12/library /Applications/tcl8.6.12/library
This error appears when tkinter is imported and a window should be opened.
 Please post a screenshot of what you're seeing in Spyder to better understand your problem.

Hey @ccordoba12 thanks for the answer.

I am quite new to GitHub, so excuse me if I do some mistakes.

Don't worry, that's fine. Your initial report was quite good, I just wanted to see what you're seeing to better understand your problem.
A couple of other questions for you:

Did you set an external interpreter in Preferences > Python interpreter?
Do you have Homebrew installed in your computer?

So I tried to set an external interpreter but my computer crashed every time.
I don't have Homebrew installed. For what do I need it?

So I tried to set an external interpreter but my computer crashed every time.

Ok, no problem. Then please the default option in
Preferences > Python interpreter

and try again.

I don't have Homebrew installed. For what do I need it?

Don't  worry, I thought that could be interfering with Spyder somehow.

Closing due to lack of response.

I have the same issue, but the suggested solution (setting Python Interpeter to default) didn't change anything.
I do, however, have homebrew installed. Spyder was installed on macos (Ventura) as a .dmg rather than through anaconda-navigator.

I have the exact same problem too but with macOS Sonoma with the standalone spyder app. I also tried the suggestion of setting the Python interpreter to default but has not changed anything. Exact same error message posted by @softmatter-ca above.

Hey @mgad02, thanks for letting us know about it. Let's reopen this issue to see what we can do about it.
@mrclary, could you test this with our 5.5.0 Mac app? Thanks!

Okay, I've found the issue is two-fold.

First, the OP is a direct result of running our x86_64 standalone application on arm64. @Ludwig19258 @softmatter-ca @mgad02, perhaps you could confirm that you are running on Apple silicon.
However, there is an additional underlying issue where the tcl-tk flags were not correctly set on the Python build used for the build environment of our standalone application (see pyenv/pyenv#2794). Strangely this does not seem to affect our standalone application running on Intel (x86_64).

I can create new build for both x86_64 and arm64 of Spyder's v5.5.0 standalone application. @ccordoba12, I'll create a 5.5.0_1 branch and tag to build from and upload the artifacts to the 5.5.0 release page. We can then merge the change into the 5.x branch.

I confirm I am running on Apple M1, 2020, MacOS Ventura 13.5.2.

Okay, I've found the issue is two-fold

Great! Thanks for looking into it.

I'll create a 5.5.0_1 branch and tag to build from and upload the artifacts to the 5.5.0 release page.

I don't think that's necessary because I'm about to release 5.5.1. So, please create a PR against 5.x directly so we can include your changes in that version.

@mrclary I do confirm I'm running on Apple M2 Pro chip. May be relevant info if needed:
Apple M2 Pro chip
MacOS Sonoma 14.0
Spyder version 5.5.0
Python version 3.9.14

Hi @ccordoba12 @mrclary. I have tried redownloading spyder.dmg for M1 on my M2 mac (macOS Sonoma) but I still have the same issue, nothing has changed. I did change the graphics backend to tkinter and tried the other options too but nothing has worked.

@mgad02 can you report the output from the following in an internal console?
From the menubar, View->Panes->Internal console.
>>> import platform; platform.machine()

The output is just 'arm64'

🤔. You installed version 5.5.1, correct? Can you try resetting Spyder preferences? (Quit Spyder, rename the directory ~/.spyder-py3 to ~/.spyder-py3.bak, and restart Spyder.)

I did install version 5.5.1. Sorry I'm not sure how to change the directory.

I think I managed to do it (renaming that file as suggested) and restarted spyder. It gave a welcome message when restarted. I tried to run a minimal filedialog (after importing tkinter and filedalog) but I still got the Tcl error message.

For what it's worth, I have this problem with Spyder but can run python3 from the terminal without problem and also tried running code in Mu Editor again without a problem.  I've reverted to using emacs in terminal I'm afraid.  I have an m1 Mac running the latest Sonoma.

I also still have the same problem. Running spyder through anaconda seems to be okay without issues but not the standalone app.


When using mouse navigation buttons on a view zone, text selection mode is activated

I selected the delete function using the left mouse-button.
Then I clicked on constructor and use the backwards mouse button to navigate back. This works as expected:

However, this does not work anymore when the cursor is one a view zone, e.g. code lens:

When the mouse cursor is on a view zone, pressing the backwards button behaves as pressing the left button. This often breaks the flow.

I think this is caused by the mouseHandler suppressing mouse down on this particular view zone here. The code lens view zone opts into it via suppressMouseDown here

Weird, I already fixed this. Probably I just forgot to close this issue.

Nevermind, I didn't fix it, it still happens.


feat: rework router scroll handling

Fixes #2794

The way the router currently works isn't great, the code flow when clicking a link goes:

Render new route and call onMount
Determine if onMount scrolls the page, if not, we apply kit's scrolling

The heuristic used in no2 is sketchy, and does not always determine correctly, causing many issues in the past.

With this PR, it goes:

Render new route
Apply kit's scroliing
Call onMount

Which would now work reliably.

This PR achieves that by using a preprocessor for route components, that injects an action which is called immediately after mount and before onMount.
Note: This adds a new @sveltejs/kit/router exports, which is only used internally.

Alternatively, @dominikg also suggested a new export const autoscroll = false flag, and expose kit's scrolling logic for advanced usage. I think that would be the last resort if this PR doesn't make things work OOTB.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Looks like there's some sort of race condition in windows (again 😢)

Marking this as draft until I figure out the windows issue, but it's likely an issue within the test than the source implementation. This PR can still be reviewed at the meantime.

Oof. This is clever, but I really don't like using a preprocessor for this. I'll admit I don't completely have my head round the problem (there's a lot of PRs and issues to follow, and I haven't closely followed all the changes to scroll behaviour) but it seems like the whole reason we're in this pickle is that we're trying to disable scrolling when the page scrolls programmatically in onMount, is that right?
If so, I think that's a bad reason to go to these lengths. SvelteKit being in control of scroll position is a feature, not a bug, and programmatically scrolling on navigation is generally something we should discourage anyway (it's disorienting). If someone really has a good reason to do it, and we want to accommodate it, then it should be done explicitly somehow.
Straw man based on the tests that fail when I comment out all the no_scroll_happened stuff (would like to come up with a better/more concise name than disableScrollHandling):

They (don't) see me scrollin'...

  Focus!
  <input use:focusAndScroll id="input" type="text" />

They (not) focusin'

For now this would presumably apply during component mounting, but it could be extended to a future onNavigate lifecycle function.

it seems like the whole reason we're in this pickle is that we're trying to disable scrolling when the page scrolls programmatically in onMount, is that right?

That is correct. Ideally we won't also have to disable any scrolling if we can do the scroll before onMount() is called (and after component is rendered), which is what the PR tries to achieve, so the end-user doesn't have to manually apply disableScrollHandling() consciously and it'll just work.
However, I still haven't got around making this implementation robust, and I agree things are starting to get iffy here. Will be closing this.

disableScrollHandling

This looks like a good compromise. It would be tricky though if the action comes from a third-party package (rare case), but the user can always manually call the function onMount. Which leads to another idea we had:

I think both ways have its pros and cons (imperative/declarative), but if we discourage scrolling on mount, perhaps the export const approach is still fine.