[Share Experiences] 关于DEEPIN 20.7的权限控制过度现象描述
Tofloor
poster avatar
wavezhang66
deepin
2022-11-22 22:26
Author

最近从重装电脑了,把电脑升级到DEEPIN 20.7 ,以前一真用 DEEPIN 20 也升级到20.2 ,前些日子是重装到20.7 然后发现我的电脑一部分应用程序不能用了,我这部分程序是用JAVA开发的,有APPLET程序,也有其他的程序,在20.7上面运行是一直报错。

今天才发现根源是20.7权限控制过度了, 我只描述现像给DEEPIN的老板们看,希望你们能从根源上解决

我在DEEPIN 20上面,可以运行,JAVA中JRE 的controlpanel 这个程序

image.png

他可以正 常弹出

image.png

然后在20.7 上面运行controlpanel时就报异常了

^Cwavezhang@wavezhang-PC:~/local/jdk-8u60-linux-x64/jdk1.8.0_60/jre/bin$ ./ControlPanel
Exception in thread "AWT-EventQueue-0" java.lang.ArithmeticException: / by zero
at com.sun.deploy.panel.JSmartTextArea.getPreferredSize(Unknown Source)
at javax.swing.BoxLayout.checkRequests(BoxLayout.java:484)
at javax.swing.BoxLayout.preferredLayoutSize(BoxLayout.java:301)
at java.awt.Container.preferredSize(Container.java:1796)
at java.awt.Container.getPreferredSize(Container.java:1780)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1664)
at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:724)
at java.awt.Container.preferredSize(Container.java:1796)
at java.awt.Container.getPreferredSize(Container.java:1780)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1664)
at javax.swing.plaf.basic.BasicTabbedPaneUI$TabbedPaneLayout.calculateSize(BasicTabbedPaneUI.java:2304)
at javax.swing.plaf.basic.BasicTabbedPaneUI$TabbedPaneLayout.preferredLayoutSize(BasicTabbedPaneUI.java:2278)
at java.awt.Container.preferredSize(Container.java:1796)
at java.awt.Container.getPreferredSize(Container.java:1780)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1664)
at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:719)
at java.awt.Container.preferredSize(Container.java:1796)
at java.awt.Container.getPreferredSize(Container.java:1780)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1664)
at javax.swing.JRootPane$RootLayout.preferredLayoutSize(JRootPane.java:920)
at java.awt.Container.preferredSize(Container.java:1796)
at java.awt.Container.getPreferredSize(Container.java:1780)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1664)
at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:719)
at java.awt.Container.preferredSize(Container.java:1796)
at java.awt.Container.getPreferredSize(Container.java:1780)
at java.awt.Window.pack(Window.java:809)
at com.sun.deploy.panel.ControlPanel.resetBounds(Unknown Source)
at com.sun.deploy.panel.ControlPanel$6.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exception in thread "AWT-EventQueue-0" java.lang.ArithmeticException: / by zero
at com.sun.deploy.panel.JSmartTextArea.getPreferredSize(Unknown Source)
at javax.swing.BoxLayout.checkRequests(BoxLayout.java:484)
at javax.swing.BoxLayout.preferredLayoutSize(BoxLayout.java:301)
at java.awt.Container.preferredSize(Container.java:1796)
at java.awt.Container.getPreferredSize(Container.java:1780)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1664)
at java.awt.BorderLayout.layoutContainer(BorderLayout.java:815)
at java.awt.Container.layout(Container.java:1510)
at java.awt.Container.doLayout(Container.java:1499)
at java.awt.Container.validateTree(Container.java:1695)
at java.awt.Container.validateTree(Container.java:1704)
at java.awt.Container.validateTree(Container.java:1704)
at java.awt.Container.validateTree(Container.java:1704)
at java.awt.Container.validateTree(Container.java:1704)
at java.awt.Container.validateTree(Container.java:1704)
at java.awt.Container.validate(Container.java:1630)
at java.awt.Container.validateUnconditionally(Container.java:1667)
at java.awt.Window.show(Window.java:1033)
at java.awt.Component.show(Component.java:1673)
at java.awt.Component.setVisible(Component.java:1625)
at java.awt.Window.setVisible(Window.java:1014)
at com.sun.deploy.panel.ControlPanel$8.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)。

上面的程序,如果加上sudo 就可以正常运行了。所以请大佬们看一下

谢谢

Reply Favorite View the author
All Replies
SamLukeYes
deepin
2022-11-22 22:44
#1

虽然不太懂 java,但从错误信息来看像是 zero division error。这种情况一般是程序自身的缺陷,正常来说没有理由设计成因为这样的算术错误而报错退出。

Reply View the author
zccrs
deepin
2022-11-22 23:03
#2

虽然不太懂 java,但从问题描述上看,这可能与系统没有关系。deepin 没有专门做权限管理。

Reply View the author
wavezhang66
deepin
2022-11-22 23:16
#3
SamLukeYes

虽然不太懂 java,但从错误信息来看像是 zero division error。这种情况一般是程序自身的缺陷,正常来说没有理由设计成因为这样的算术错误而报错退出。

这是JAVA 的自己本身程序,不是开发的

Reply View the author
wavezhang66
deepin
2022-11-22 23:16
#4
SamLukeYes

虽然不太懂 java,但从错误信息来看像是 zero division error。这种情况一般是程序自身的缺陷,正常来说没有理由设计成因为这样的算术错误而报错退出。

感觉是读写文件,读写不到了

Reply View the author
SamLukeYes
deepin
2022-11-23 03:17
#5
wavezhang66

感觉是读写文件,读写不到了

感觉?我感觉这里无论 deepin 有没有问题,这 jre 肯定有问题doubt

Reply View the author