Modify

Opened 2 years ago

Last modified 2 years ago

#21911 new defect

omproxy segfault on ar71xx

Reported by: stintel Owned by: developers
Priority: normal Milestone:
Component: packages Version: Trunk
Keywords: Cc: cyrus

Description

omcproxy keeps crashing on my RSPro. Running DD r48753.

[   44.504212] do_page_fault(): sending SIGSEGV to omcproxy for invalid read access from 00000008
[   44.513276] epc = 00404b0f in omcproxy[400000+6000]
[   44.518213] ra  = 004012c7 in omcproxy[400000+6000]

When running omcproxy manually this doesn't happen, but this could be because of different arguments. I have no idea how to figure out the arguments given to omcproxy when started via the init script, because of procd.

Attachments (0)

Change History (1)

comment:1 Changed 2 years ago by stintel

Suddenly remembered PROC_DEBUG=1:

{ "name": "omcproxy", "script": "\/etc\/init.d\/omcproxy", "instances": { "instance1": { "command": [ "\/usr\/sbin\/omcproxy", "eth0,br-lan,scope=global", "eth0,br-lan,scope=global" ], "respawn": [ ], "triggers": [ [ "interface.*", [ "if", [ "eq", "interface", "wan" ], [ "run_script", "\/etc\/init.d\/omcproxy", "restart" ] ] ], [ "interface.*", [ "if", [ "eq", "interface", "lan" ], [ "run_script", "\/etc\/init.d\/omcproxy", "restart" ] ] ], [ "interface.*", [ "if", [ "eq", "interface", "wan6" ], [ "run_script", "\/etc\/init.d\/omcproxy", "restart" ] ] ], [ "interface.*", [ "if", [ "eq", "interface", "lan" ], [ "run_script", "\/etc\/init.d\/omcproxy", "restart" ] ] ] ], "data": { "firewall": [ { "type": "rule", "src": "wan", "proto": "igmp", "target": "ACCEPT" }, { "type": "rule", "family": "ipv6", "src": "wan", "proto": "icmp", "src_ip": "fe80::\/10", "icmp_type": [ "130\/0", "131\/0", "132\/0", "143\/0" ], "target": "ACCEPT" }, { "type": "rule", "src": "wan", "dest": "lan", "family": "ipv4", "proto": "any", "dest_ip": "224.0.0.0\/4", "target": "ACCEPT" }, { "type": "rule", "src": "wan", "dest": "lan", "family": "ipv6", "proto": "any", "dest_ip": "ff00::\/8", "target": "ACCEPT" } ] } } }, "triggers": [ [ "config.change", [ "if", [ "eq", "package", "omcproxy" ], [ "run_script", "\/etc\/init.d\/omcproxy", "reload" ] ] ] ] }

Doing that manually gives a segfault:

root@ar0.hq:~# omcproxy eth0,br-lan,scope=global eth0,br-lan,scope=global
Segmentation fault

/etc/config/omcproxy:

root@ar0.hq:~# cat /etc/config/omcproxy
config proxy
        option scope global
        option uplink wan
        list downlink lan

config proxy
        option scope global
        option uplink wan6
        list downlink lan

Sections wan and wan6 in /etc/config/network:

config interface 'wan'
        option ifname 'eth0'
        option proto 'static'
        option netmask '255.255.255.0'
        option ipaddr '192.168.0.2'
        option gateway '192.168.0.1'
        option dns '192.168.0.1'

config interface 'wan6'
        option ifname 'eth0'
        option proto 'dhcpv6'

Changing ifname for wan6 to @wan doesn't change anything (and breaks dhcpv6)

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.